A comprehensive collection of Java libraries for logical aspects of artificial intelligence and knowledge representation
Home Libraries Downloads Documentation Newsletter Web Interfaces Contact

Brought to you by

Supported by

TweetyProject is a collection of various Java libraries that implement approaches to different areas of artificial intelligence. In particular, it provides a general interface layer for doing research and working with different knowledge representation formalisms such as classical logics, conditional logics, probabilistic logics, and argumentation. Furthermore, TweetyProject contains libraries for dealing with agents, multi-agent systems, and dialog systems for agents, as well as belief revision, preference reasoning, preference aggregation, and action languages. A series of utility libraries that deal with e.g. mathematical optimization complement the collection.

For technical documentation of using the libraries please have a look at the online JavaDoc API.

All parts of the TweetyProject available on this website are licensed under the GNU Lesser General Public License version 3 (beginning with TweetyProject version 1.6, the versions before are licensed under the GNU General Public License version 3) except when this is noted otherwise. Use and modification of the libraries is encouraged but please give credit by referring to this website. Please note that some libraries make also use of other third-party libraries such as Apache Commons.

This website and TweetyProject are under constant development. Please come back frequently to check for updates.

Maven dependency for the complete collection:

If you are only interested in specific libraries please see the Libraries section for the individual dependencies. If you are not a Maven user you can also download JARs in the Downloads section.

Subscribe to our newsletter to receive updates on new releases

  • 25.07.2022: New release TweetyProject 1.22. Changelog:
    • New libraries:
      • org.tweetyproject.comparator: library for various comparators such as partial orders
    • New functionalities:
      • Added extension ranking semantics (org.tweetyproject.arg.dung)
      • Added reasoner for serialisable semantics (org.tweetyproject.arg.dung)
      • Added support for incomplete argumentation frameworks (org.tweetyproject.arg.dung)
      • Added KWT generator for abstract argumentation frameworks (org.tweetyproject.arg.dung)
    • Minor changes:
      • Encoding optimsations for SAT-based argumentation solvers (org.tweetyproject.arg.dung)
      • Bugfix web interface (note that is usable again)
  • 20.01.2022: New release TweetyProject 1.21. Changelog:
    • New libraries:
      • org.tweetyproject.sat: dedicated library for SAT solving
    • New functionalities:
      • added further transformation functionalities between ADFs and conditional logics (org.tweetyproject.logics.translators)
      • added claim-based argumentation frameworks (CAFs) to org.tweetyproject.arg.dung (syntax, semantics, and reasoners)
      • added parallel query execution of ADFs to org.tweetyproject.arg.adf
      • added missing JUnit tests for all libraries
      • added and improved acceptability reasoner in org.tweetyproject.arg.dung
      • added further inconsistency measures and examples to org.tweetyproject.logics.bpm and org.tweetyproject.logics.petri
    • Minor changes:
      • bugfixes in LpSolve bridge
      • bugfixes and improvements for ADFs (org.tweetyproject.arg.adf)
      • bridges to external solvers now offer a method "isInstalled" for checking existence of solvers
      • bugfixes in existing JUnit tests
      • refactoring of extension handling in org.tweetyproject.arg.dung
      • removed log4j security issues

Last updated 20.01.2022, Matthias Thimm