back
Example code and resources
Most libraries have an examples package that contains various example code snippets that show the functionality of the library. In addition, the resources folder contains examplary instance files that can be parsed by the corresponding parser into the classes of the library.
Below is an up-to-date list of available examples and instance files.
General Libraries
Command Line Interface (org.tweetyproject.cli)
Example code:
no example code available
Resources:
no resources available
Commons (org.tweetyproject.commons)
Example code:
Resources:
no resources available
Comparator Library (org.tweetyproject.comparator)
Example code:
no example code available
Resources:
no resources available
Graph Library (org.tweetyproject.graphs)
Example code:
- examples.GraphExample.java: Example that shows how to construct graphs programmatically.
- examples.GraphExample2.java: Another example that shows how to construct graphs programmatically.
- examples.HyperGraphExample.java: This class provides an example of creating and working with a hypergraph. A hypergraph is a generalized graph where edges, called hyperedges, can connect more than two vertices (nodes). This example demonstrates adding nodes and hyperedges to the hypergraph, and generating its complement graph.
Resources:
Math (org.tweetyproject.math)
Example code:
Resources:
no resources available
Plugin Project (org.tweetyproject.plugin)
Example code:
no example code available
Resources:
no resources available
Logic Libraries
Business Process Modelling (org.tweetyproject.logics.bpm)
Example code:
Resources:
Conditional Logic (org.tweetyproject.logics.cl)
Example code:
Resources:
Commons Logic (org.tweetyproject.logics.commons)
Example code:
no example code available
Resources:
no resources available
Description Logics (org.tweetyproject.logics.dl)
Example code:
Resources:
First-Order-Logic (org.tweetyproject.logics.fol)
Example code:
Resources:
Modal Logic Library (org.tweetyproject.logics.ml)
Example code:
- examples.MlExample.java: Some examples for testing ModalParser and NaiveModalReasoner. Shows how to construct a modal logic knowledge base programmatically and how to query it using the naive reasoner.
- examples.MlExample2.java: More examples for testing ModalParser and ModalReasoner. Shows how to construct a modal logic knowledge base programmatically and how to query it using the SPASS reasoner.
Resources:
Markov Logic Networks Library (org.tweetyproject.logics.mln)
Example code:
Resources:
no resources available
Probabilistic Conditional Logic Library (org.tweetyproject.logics.pcl)
Example code:
Resources:
no resources available
Petri Nets Library (org.tweetyproject.logics.petri)
Example code:
no example code available
Resources:
no resources available
Propositional Logic (org.tweetyproject.logics.pl)
Example code:
Resources:
Quantified Boolean Formulas (org.tweetyproject.logics.qbf)
Example code:
Resources:
Relational Conditional Logic Library (org.tweetyproject.logics.rcl)
Example code:
- examples.RclExample.java: Example code illustrating the use of working with relational conditionals and using c reasoning.
Resources:
no resources available
Reiter's Default Logic Library (org.tweetyproject.logics.rdl)
Example code:
Resources:
org-tweetyproject-logics-rpcl (org.tweetyproject.logics.rpcl)
Example code:
Resources:
Translators Library (org.tweetyproject.logics.translators)
Example code:
no example code available
Resources:
Logic Programming Libraries
ASP Library (org.tweetyproject.lp.asp)
Example code:
Resources:
ASP Belief Dynamics (org.tweetyproject.lp.asp.beliefdynamics)
Example code:
no example code available
Resources:
no resources available
Nested Logic Programs (org.tweetyproject.lp.nlp)
Example code:
no example code available
Resources:
no resources available
Argumentation Libraries
ABA Library (org.tweetyproject.arg.aba)
Example code:
- examples.AbaExample.java: Shows some simple code for working with ABA, including how to parse an ABA file and how to ask queries.
Resources:
ADF Library (org.tweetyproject.arg.adf)
Example code:
Resources:
ASPIC Library (org.tweetyproject.arg.aspic)
Example code:
Resources:
Bipolar Argumentation Library (org.tweetyproject.arg.bipolar)
Example code:
- examples.AllPEAFInducerExample.java: Example class demonstrating the use of the PEAF (Preference-based Argumentation Framework) inducer.
This example sets up a PEAF theory with a specified number of arguments, adds various support and attack relationships between the arguments, and then uses the `LiExactPEAFInducer` to induce new EAF (Argumentation Framework) theories from the given PEAF theory. The results are printed and saved to files.
- examples.ApproximateJustificationAnalysisExample.java: Demonstrates the use of exact and approximate justification analysis on a PEAFTheory.
This example sets up a PEAFTheory with a number of arguments, defines supports and attacks among them, and then performs exact and approximate analyses to justify a specific argument.
- examples.CheckIfSelfSupportingExample.java:
In this example, an extended argumentation framework (EAF) is created with a set of arguments and supports/attacks between them.
- examples.DeductiveArgumentation.java: Demonstrates the construction of deductive argumentation frameworks and the computation of their extensions.
This example uses the Deductive Argumentation Framework to create an argumentation framework, add arguments and relationships, and then compute various types of extensions. The example framework and its associated Dung theory are used to compute extensions using different reasoners.
The example is based on the work by Cayrol and Lagasquie-Schiex on bipolarity in argumentation graphs.
- examples.EAFExample.java: Provides an example of constructing an Argumentation Framework (EAFTheory) and saving its representation to a file.
This example demonstrates the creation of an argumentation framework with eight arguments, setting up various support and attack relationships between these arguments, and finally writing the resulting framework to a file.
- examples.EasyPEAFExample.java: Provides an example of constructing a Probabilistic Argumentation Framework (PEAFTheory), adding support relationships, and inducing extensions using a specific inducer.
This example demonstrates the creation of a PEAFTheory instance with two arguments, setting up support relationships
- examples.EvidentialAcceptability.java: Demonstrates the use of evidential argumentation frameworks.
add arguments, support, and attack relationships, and check the acceptability of arguments with respect to a given set of arguments. It also prints the framework in a human-readable format.
- examples.EvidentialArgumentation.java: More examples for evidential argumentation frameworks.
- examples.EvidentialArgumentation2.java: More examples for evidential argumentation frameworks.
- examples.ExpandMCExample.java: Demonstrates the use of various PEAF (Probabilistic Evidential Argumentation Framework) inducers to compute and display argumentation frameworks and their associated probabilities.
prints the framework, and uses different inducers to process the framework and output the results.
- examples.JustificationAnalysisExample.java: JustificationAnalysisExample class
- examples.LiThesisPage21EAFExample.java: LiThesisPage21EAFExample class
- examples.MeetingPEAFExample.java: MeetingPEAFExample class
- examples.NecessityArgumentation.java: Examples for necessity argumentation frameworks.
- examples.OrenEtAl2010Figure2Example.java: OrenEtAl2010Figure2Example class
- examples.SomePEAFInducerExample.java: SomePEAFInducerExample class
- examples.admissibleExample.java: A demonstration class for showing how to use the Deductive Argumentation Framework with different admissible reasoners. This example sets up a simple argumentation framework, adds arguments and their relationships, and then prints the results of admissible reasoning.
Resources:
no resources available
Constrained Argumentation Framework Library (org.tweetyproject.arg.caf)
Example code:
Resources:
no resources available
Deductive Argumentation Library (org.tweetyproject.arg.deductive)
Example code:
Resources:
no resources available
Defeasible Logic Programming Library (org.tweetyproject.arg.delp)
Example code:
Resources:
Dung Argumentation Library (org.tweetyproject.arg.dung)
Example code:
Resources:
Epistemic Argumentation Framework Library (org.tweetyproject.arg.eaf)
Example code:
- examples.EAFAgreementReasonerExample.java: Epistemic Argumentation Frameworks (EAFs) that share the same underlying Dung theory.
This example illustrates how agents with different epistemic constraints can express beliefs about arguments, and how the agreement reasoner can:
- Query whether arguments are (credulously/skeptically) accepted under a given semantics
- Track multiple EAFs and compare their constraints
- Handle updates to agents’ beliefs
- Perform majority voting on argument acceptance
different constraints influence reasoning outcomes.
- examples.EafPreferenceRepresentationExample.java: Demonstrates how epistemic preferences can be encoded within and justification state preferences.
This example illustrates:
- How epistemic constraints influence the resulting labellings under different semantics
The scenario is based on a simple Dung theory with two mutually attacking arguments.
- examples.EafReasonerExample.java: logical constraints and how they affect argument justification under different semantics.
This example includes:
- Defining a shared Dung theory with several mutually attacking arguments
- Creating multiple EAFs with different epistemic constraints
- Computing epistemic labelling sets under stable, grounded, and preferred semantics
- Using simple EAF reasoners to compute extensions and argument justification statuses
- Checking constraint strength and its impact on the resulting labelling sets
This class illustrates both declarative modeling of agent beliefs and procedural reasoning using the provided reasoners.
- examples.EafTheoryGeneratorExample.java: Demonstrates the generation and export of EAFs using various generation strategies. Three approaches are shown:
Resources:
no resources available
Extended Argumentation Framework Library (org.tweetyproject.arg.extended)
Example code:
- examples.ExtendedTheoryExample.java: Example usage of Extended Argumentation Frameworks
- examples.RecursiveExtendedTheoryExample.java: This class provides an example demonstrating the usage of Recursive Extended Argumentation Frameworks with standard and extended attacks. The example constructs a recursive extended theory and adds various arguments and attacks, both standard and recursive. It also computes the complete extensions of the theory.
Resources:
no resources available
Logic Programming Argumentation Library (org.tweetyproject.arg.lp)
Example code:
no example code available
Resources:
no resources available
Probabilistic Argumentation Library (org.tweetyproject.arg.prob)
Example code:
Resources:
no resources available
Ranking Semantics for Argumentation Library (org.tweetyproject.arg.rankings)
Example code:
- examples.CounterTransitivityReasonerExample.java:
This example constructs an argumentation framework, adds arguments and attacks to it, and then creates a
- examples.IteratedGradedDefenseReasonerExample.java: Example code for using the iterated graded semantics from [Grossi, Modgil. On the Graded Acceptability of Arguments. IJCAI 2015].
- examples.ProbabilisticRankingReasonerExample.java: Example code for using the probabilistic ranking reasoner based on the ideas from [Thimm, Cerutti, Rienstra. Probabilistic Graded Semantics. COMMA 2018].
- examples.RankingPostulatesExample.java: Example code for evaluating ranking semantics in regard to postulates. Each postulate represents a single property that characterizes how the semantics ranks arguments.
- examples.RankingSemanticsExample.java: Example code for the following ranking semantics:
- Categorizer [Besnard, Hunter. A logic-based theory of deductive arguments. 2001]
- Burden-Based [Amgoud, Ben-Naim. Ranking-based semantics for argumentation frameworks. 2013]
- Discussion-Based [Amgoud, Ben-Naim. Ranking-based semantics for argumentation frameworks. 2013]
- Tuples [Cayrol, Lagasquie-Schiex. Graduality in argumentation. 2005]
- Strategy-Based [Matt, Toni. A game-theoretic measure of argument strength for abstract argumentation. JELIA 2008]
- Social Abstract Argumentation with simple product semantics [Bonzon, Delobelle, Konieczny, Maudet. A Comparative Study of Ranking-Based Semantics for Abstract Argumentation. AAAI 2016]
- Iterated Graded Defense [Grossi, Modgil. On the Graded Acceptability of Arguments. IJCAI 2015]
- Probabilistic Graded Semantics [Thimm, Cerutti, Rienstra. Probabilistic Graded Semantics. COMMA 2018].
- examples.RankingSemanticsExample2.java: Example code for even more ranking semantics:
- Counting Semantics [Pu, Zhang, G.Luo, J.Luo. Attacker and Defender Counting Approach for Abstract Argumentation. CoRR 2015].
- The three variations of the Propagation Semantics [Delobelle. Ranking-based Semantics for Abstract Argumentation. Thesis, 2017])
- examples.SerialisableRankingReasonerExample.java:
Several arguments and attacks between them are added to the framework.
Resources:
Structured Argumentation Frameworks Library (org.tweetyproject.arg.saf)
Example code:
no example code available
Resources:
no resources available
SetAFs (org.tweetyproject.arg.setaf)
Example code:
Resources:
Social Abstract Argumentation Library (org.tweetyproject.arg.social)
Example code:
Resources:
no resources available
Weighted Argumentation Library (org.tweetyproject.arg.weighted)
Example code:
Resources:
no resources available
Agent Libraries
Agents Library (org.tweetyproject.agents)
Example code:
no example code available
Resources:
no resources available
Dialogue Systems Library (org.tweetyproject.agents.dialogues)
Example code:
- examples.GroundedTest.java: Shows how a simulation of a multi-agent system can be set up. It defines a dialogue game between different agents with varying complexity of their opponent models.
- examples.GroundedTest2.java: Shows how a simulation of a multi-agent system can be set up. It defines a dialogue game between different agents with varying complexity of their opponent models.
- examples.LotteryDialogueTest.java: Shows how a simulation of a multi-agent system can be set up. It defines a dialogue game between different agents, in particular one based on an action selection strategy using lotteries.
- examples.LotteryDialogueTest2.java: Main class for empirical evaluation in [Hunter, Thimm. 2015, to appear]. Shows how a simulation of a multi-agent system can be set up. It defines a dialogue game between different agents, in particular one based on an action selection strategy using lotteries.
Resources:
no resources available
Other Libraries
Action and Change (org.tweetyproject.action)
Example code:
no example code available
Resources:
Belief Dynamics Library (org.tweetyproject.beliefdynamics)
Example code:
Resources:
no resources available
Machine Learning Library (org.tweetyproject.machinelearning)
Example code:
Resources:
no resources available
Preferences Library (org.tweetyproject.preferences)
Example code:
no example code available
Resources:
SAT Library (org.tweetyproject.sat)
Example code:
no example code available
Resources:
Web Services (org.tweetyproject.web)
Example code:
no example code available
Resources:
back