Classes

The repository contains classes for the notions of argumentation theory, argumentation system, literal and rule by ASPIC+ definitions. Additionally, the Queryable class inherits from Literal.

Argumentation Theory

class ArgumentationTheory(argumentation_system, observations)

Bases: object

An ArgumentationTheory consists of an ArgumentationSystem and a knowledge base (which is a list of Queryables). Arguments can be inferred on the basis of an ArgumentationTheory.

property future_knowledge_base_candidates: List[modules.argumentation.argumentation_theory.queryable.Queryable]

Obtain all Queryables that could be in the knowledge base of some future ArgumentationTheory.

Return type

List[Queryable]

Returns

List of queryables that could be in the knowledge base of some future ArgumentationTheory.

Argumentation System

class ArgumentationSystem(language, rules, topic_literals=None)

Bases: object

An ArgumentationSystem is a language of Literals (some of which are Queryable and/or a topic) and a list of Rules.

get_queryable(queryable_str)

Obtain a specific Queryable from the ArgumentationSystem.

Parameters

queryable_str (str) – Name of the Queryable.

Return type

Queryable

Returns

The Queryable searched for.

get_queryables(queryable_str_list)

Obtain a specific list of Queryables from the ArgumentationSystem.

Parameters

queryable_str_list (List[str]) – Names of the Queryables.

Return type

List[Queryable]

Returns

The Queryables searched for.

property positive_queryables: List[modules.argumentation.argumentation_theory.queryable.Queryable]

All positive, that is, non-negated Queryables in the ArgumentationSystem’s language.

Return type

List[Queryable]

Returns

All positive Queryables.

property queryables: List[modules.argumentation.argumentation_theory.queryable.Queryable]

All Queryables in the ArgumentationSystem’s language.

Return type

List[Queryable]

Returns

All Queryables.

update_literal_information(literal_name, new_literal_nl_true_value, new_literal_nl_unknown_value, new_literal_nl_false_value)

Update the information of a Literal in the ArgumentationSystem.

Parameters
  • literal_name (str) – Name of the Literal that should be changed.

  • new_literal_nl_true_value (str) – New text in natural language stating that the Literal is present (defended).

  • new_literal_nl_unknown_value (str) – New text in natural language stating that the Literal is unknown.

  • new_literal_nl_false_value (str) – New text in natural language stating that the Literal is absent.

Return type

None

update_literal_name(old_literal_name, new_literal_name)

Change the name of a Literal in this ArgumentationSystem. Make sure that all connections are still correct.

Parameters
  • old_literal_name (str) – The old name of the Literal.

  • new_literal_name (str) – The new name of the Literal.

Return type

None

Literal

class Literal(literal_str, description_if_present, description_if_not_present, is_observable)

Bases: object

A literal has an absolute literal string (abs_literal_str) and two description strings (present or not). Furthermore, a literal can be observable and/or a topic, indicated by boolean class variables. Also, a literal has a list of contraries.

is_contrary_of(other)

Boolean indicating if this Literal is a contrary of some other Literal.

Parameters

other – Some other Literal that might be contrary.

Return type

bool

update_literal_information(new_literal_nl_true_value, new_literal_nl_unknown_value, new_literal_nl_false_value)

Update the natural language texts corresponding to this Literal.

Parameters
  • new_literal_nl_true_value (str) – New text in natural language stating that the Literal is present (defended).

  • new_literal_nl_unknown_value (str) – New text in natural language stating that the Literal is unknown.

  • new_literal_nl_false_value (str) – New text in natural language stating that the Literal is absent.

Return type

None

update_literal_name(new_name)

Update the name of this Literal.

Parameters

new_name (str) – Change the name of the Literal (and make sure that some naming requirements are met).

Return type

None

Queryable

class Queryable(literal_str, description_if_present, description_if_not_present, query, query_explanation, priority)

Bases: modules.argumentation.argumentation_theory.literal.Literal

A Queryable is a special case of a Literal which is observable and has a number of extra variables: a short and long query string and an observed boolean.

Rule

class Rule(rule_id, antecedents, consequent, rule_description)

Bases: object

A Rule has a list of antecedents and a single consequent. Furthermore, it has a string rule description.

is_rule_for(literal)

Check if this is a Rule for a specific Literal.

Parameters

literal (Literal) – The specific Literal for which this might be a Rule.

Return type

bool

Returns

Boolean indicating if this is a Rule for the Literal.