@prefix amo: <http://purl.org/spar/amo/> .
@prefix bibo: <http://purl.org/ontology/bibo/> .
@prefix cito: <http://purl.org/spar/cito/> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix reg: <http://purl.org/linked-data/registry#> .
@prefix schema: <https://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

dc:creator a owl:AnnotationProperty .

dc:date a owl:AnnotationProperty .

dc:description a owl:AnnotationProperty .

dc:rights a owl:AnnotationProperty .

dc:title a owl:AnnotationProperty .

<http://purl.org/spar/amo> a owl:Ontology ;
    rdfs:label "Argument Model Ontology (AMO)"@en ;
    dc:contributor "Sebastian Barzaghi (https://orcid.org/0000-0002-0799-1527)"^^xsd:string ;
    dc:creator "Fabio Vitali (https://orcid.org/0000-0002-7562-5203)"^^xsd:string,
        "Silvio Peroni (https://orcid.org/0000-0003-0530-4305)"^^xsd:string ;
    dc:date "2026-09-30" ;
    dc:description """
The **_Argument Model Ontology (AMO)_** is an OWL 2 DL ontology that aims to encode the [Toulmin's theory](https://doi.org/10.1017/CBO9780511840005) through OWL classes and properties, in order to describe a web of inter-linked entities that participate, with a specific role, in one or more arguments.

Toulmin's model of argument focuses on the justificatory function of argumentation: rather than evaluating arguments through formal logic, it describes how people, in practice, put forward a claim and then justify it. 
According to this model, every practical argument can be analysed in terms of six interrelated components. 
Three of them are essential: the claim to be established, the evidence (or data) on which it is founded, and the warrant that bridges from the evidence to the claim. 
The other three may be omitted in some arguments: the backing that certifies the warrant, the qualifier that expresses the degree of certainty of the claim, and the rebuttal that states the conditions under which the claim would not hold.

![The main architecture of AMO.](amo.png)

AMO models an argument through the class `amo:Argument`, whose components are instances of `amo:Claim`, `amo:Evidence`, `amo:Warrant`, `amo:Backing` and `amo:Rebuttal`, all grouped under the class `amo:ArgumentationEntity`, and of `amo:Qualifier`. 
An argument is linked to its components through the sub-properties of `amo:involves` (i.e., `amo:hasClaim`, `amo:hasEvidence`, `amo:hasWarrant`, `amo:hasBacking`, `amo:hasQualifier` and `amo:hasRebuttal`), and each argument must have exactly one claim and at least one evidence and one warrant. 
The components are, in turn, linked to one another: an evidence proves a claim (`amo:proves`) and supports a warrant (`amo:supports`), a warrant leads to a claim (`amo:leadsTo`), a backing backs a warrant (`amo:backs`), a qualifier forces a claim (`amo:forces`), and a claim is valid unless a rebuttal holds (`amo:isValidUnless`). 
Several of these relations are automatically inferred, by means of property chains, from the description of the roles that the components hold within the argument.

![How an argument is modelled using AMO.](argument.png)

AMO is aligned with the [Citation Typing Ontology (CiTO)](http://purl.org/spar/cito), an ontology for the characterization of citations, both factually and rhetorically that forms part of [SPAR, a suite of Semantic Publishing and Referencing Ontologies](http://sparontologies.net).

## Examples of use

In the following subsections, we introduce some examples to showcase how to use AMO. 

The prefixes that are used in all the examples provided below are defined as follows:

    @prefix amo: <http://purl.org/spar/amo/> .
    @prefix : <http://example.org/> .

### Describing the components of an argument

Consider the argument "This ontology was developed in OWL, and since an ontology developed in OWL is a consistent OWL ontology, as stated by the OWL 2 specifications, this is presumably a consistent OWL ontology, unless a reasoner for OWL 2 proves that it is not consistent". 
The argument can be described from a high-level perspective by stating which argumentation entities it involves and which role each of them holds.

    :argument a amo:Argument ;
        amo:hasClaim :consistency-claim ;
        amo:hasEvidence :developed-in-owl ;
        amo:hasWarrant :owl-warrant ;
        amo:hasBacking :owl2-spec ;
        amo:hasQualifier :presumably ;
        amo:hasRebuttal :reasoner-rebuttal .

    :consistency-claim a amo:Claim .
    :developed-in-owl a amo:Evidence .
    :owl-warrant a amo:Warrant .
    :owl2-spec a amo:Backing .
    :presumably a amo:Qualifier .
    :reasoner-rebuttal a amo:Rebuttal .

### Describing the relations between argumentation entities

The same argument can be described from a factual perspective, by stating how its argumentation entities are linked to one another. 
The relations between evidence and claim, warrant and claim, qualifier and claim, and claim and rebuttal can also be inferred from the high-level description through the property chains defined in AMO.

    :developed-in-owl amo:proves :consistency-claim ;
        amo:supports :owl-warrant .

    :owl-warrant amo:leadsTo :consistency-claim .

    :owl2-spec amo:backs :owl-warrant .

    :presumably amo:forces :consistency-claim .

    :consistency-claim amo:isValidUnless :reasoner-rebuttal .

## Competency Questions

AMO can be used for answering several questions related to arguments and how argumentation entities are related to each other.
In the following subsections, some of them are introduced together with their respective SPARQL queries. 

The prefixes that are used in all the SPARQL queries provided below are defined as follows:

    PREFIX amo: <http://purl.org/spar/amo/>
    PREFIX : <http://example.org/>
    PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

### CQ1

What is the claim of a given argument, and which evidence proves it?

    SELECT ?claim ?evidence
    WHERE {
        :argument amo:hasClaim ?claim ;
            amo:hasEvidence ?evidence .
    }

### CQ2

Which warrants lead to a given claim, and which backings attest them?

    SELECT ?warrant ?backing
    WHERE {
        ?warrant amo:leadsTo :consistency-claim .
        OPTIONAL { ?backing amo:backs ?warrant }
    }

### CQ3

What is the degree of force of a given claim, and under which rebuttals is it not valid?

    SELECT ?qualifier ?rebuttal
    WHERE {
        OPTIONAL { ?qualifier amo:forces :consistency-claim }
        OPTIONAL { :consistency-claim amo:isValidUnless ?rebuttal }
    }

"""@en ;
    dc:title "The Argument Model Ontology (AMO)"@en ;
    dcterms:bibliographicCitation "Peroni, S., Tomasi, F., Vitali, F., & Zingoni, J. (2013, January). Semantic lenses as exploration method for scholarly articles. In Italian Research Conference on Digital Libraries (pp. 118-129). Berlin, Heidelberg: Springer Berlin Heidelberg. DOI: https://doi.org/10.1007/978-3-642-54347-0_13." ;
    dcterms:created "2011-05-04" ;
    dcterms:issued "2011-05-04" ;
    dcterms:license <http://creativecommons.org/licenses/by/4.0/> ;
    dcterms:modified "2026-09-30" ;
    dcterms:publisher <https://ror.org/00wb4mk85> ;
    dcterms:source <https://github.com/SPAROntologies/amo/blob/master/docs/cq.md> ;
    bibo:doi "TBA" ;
    bibo:status <http://purl.org/ontology/bibo/status/published> ;
    vann:preferredNamespacePrefix "amo"@en ;
    vann:preferredNamespaceUri "http://purl.org/spar/amo"@en ;
    owl:backwardCompatibleWith amo:2011-05-04 ;
    owl:imports cito: ;
    owl:priorVersion amo:2011-05-04 ;
    owl:versionIRI amo:2026-09-30 ;
    owl:versionInfo "1.0.1"^^xsd:string ;
    foaf:logo <https://github.com/SPAROntologies/amo/blob/master/spar.png> ;
    schema:codeRepository <https://github.com/SPAROntologies/amo> ;
    schema:image <https://github.com/SPAROntologies/amo/blob/master/docs/current/amo.png>,
        <https://github.com/SPAROntologies/amo/blob/master/docs/current/argument.png> ;
    schema:includedInDataCatalog <https://fairsharing.org/> ;
    schema:keywords "argument model"@en,
        "bibliometrics"@en,
        "scholarly publishing"@en,
        "scientometrics"@en,
        "semantic publishing"@en .

amo:backs a owl:ObjectProperty ;
    rdfs:label "backs"@en ;
    vann:example """
    :my-backing a amo:Backing ;
        amo:backs :my-warrant .

    :my-warrant a amo:Warrant .
    """ ;
    rdfs:comment "A backing that attests the warrant of an argument."@en ;
    rdfs:domain amo:Backing ;
    rdfs:isDefinedBy amo: ;
    rdfs:range amo:Warrant ;
    rdfs:subPropertyOf amo:relatesTo,
        cito:givesBackgroundTo ;
    vs:term_status reg:statusStable .

amo:forces a owl:ObjectProperty ;
    rdfs:label "forces"@en ;
    vann:example """
    :my-qualifier a amo:Qualifier ;
        amo:forces :my-claim .

    :my-claim a amo:Claim .
    """ ;
    rdfs:comment "A qualifier that expresses as degree of force concerning a claim of an argument."@en ;
    rdfs:domain amo:Qualifier ;
    rdfs:isDefinedBy amo: ;
    rdfs:range amo:Claim ;
    rdfs:subPropertyOf amo:relatesTo,
        cito:qualifies ;
    owl:propertyChainAxiom ( amo:isQualifierIn amo:hasClaim ) ;
    vs:term_status reg:statusStable ;
    skos:note "By means of the property chain defined, the assertion that links a qualifier to the relative claim is automatically inferred starting from the high-level description of an argument (realized through the sub-properties of 'involves' and their inverse properties)."@en .

amo:isValidUnless a owl:ObjectProperty ;
    rdfs:label "is valid unless"@en ;
    vann:example """
    :my-claim a amo:Claim ;
        amo:isValidUnless :my-rebuttal .

    :my-rebuttal a amo:Rebuttal .
    """ ;
    rdfs:comment "A claim that is restricted by a rebuttal of an argument."@en ;
    rdfs:domain amo:Claim ;
    rdfs:isDefinedBy amo: ;
    rdfs:range amo:Rebuttal ;
    rdfs:subPropertyOf amo:relatesTo,
        cito:isDisputedBy ;
    owl:propertyChainAxiom ( amo:isClaimIn amo:hasRebuttal ) ;
    vs:term_status reg:statusStable ;
    skos:note "By means of the property chain defined, the assertion that links a claim to the relative rebuttal is automatically inferred starting from the high-level description of an argument (realized through the sub-properties of 'involves' and their inverse properties)."@en .

amo:leadsTo a owl:ObjectProperty ;
    rdfs:label "leads to"@en ;
    vann:example """
    :my-warrant a amo:Warrant ;
        amo:leadsTo :my-claim .

    :my-claim a amo:Claim .""" ;
    rdfs:domain amo:Warrant ;
    rdfs:isDefinedBy amo: ;
    rdfs:range amo:Claim ;
    rdfs:subPropertyOf amo:relatesTo,
        cito:confirms ;
    owl:propertyChainAxiom ( amo:isWarrantIn amo:hasClaim ) ;
    vs:term_status reg:statusStable ;
    skos:note "A warrant that points to a claim from the related evidence within an argument."@en,
        "By means of the property chain defined, the assertion that links a warrant to the relative claim is automatically inferred starting from the high-level description of an argument (realized through the sub-properties of 'involves' and their inverse properties)."@en .

amo:proves a owl:ObjectProperty ;
    rdfs:label "proves"@en ;
    vann:example """
    :my-evidence a amo:Evidence ;
        amo:proves :my-claim .

    :my-claim a amo:Claim .
    """ ;
    rdfs:comment "An evidence that founds a claim of an argument."@en ;
    rdfs:domain amo:Evidence ;
    rdfs:isDefinedBy amo: ;
    rdfs:range amo:Claim ;
    rdfs:subPropertyOf amo:relatesTo,
        cito:isCitedAsEvidenceBy ;
    owl:propertyChainAxiom ( amo:isEvidenceIn amo:hasClaim ) ;
    vs:term_status reg:statusStable ;
    skos:note "By means of the property chain defined, the assertion that links an evidence to the relative claim is automatically inferred starting from the high-level description of an argument (realized through the sub-properties of 'involves' and their inverse properties)."@en .

amo:supports a owl:ObjectProperty ;
    rdfs:label "supports"@en ;
    vann:example """
    :my-evidence a amo:Evidence ;
        amo:supports :my-warrant .

    :my-warrant a amo:Warrant .
    """ ;
    rdfs:comment "An evidence that supports a warrant of an argument."@en ;
    rdfs:domain amo:Evidence ;
    rdfs:isDefinedBy amo: ;
    rdfs:range amo:Warrant ;
    rdfs:subPropertyOf amo:relatesTo,
        cito:givesSupportTo ;
    vs:term_status reg:statusStable .

skos:note a owl:AnnotationProperty .

amo:hasBacking a owl:ObjectProperty ;
    rdfs:label "has backing"@en ;
    vann:example """
    :my-argument a amo:Argument ;
        amo:hasBacking :my-backing .
    """ ;
    rdfs:comment "An argument includes a backing as one of its (optional) components."@en ;
    rdfs:domain amo:Argument ;
    rdfs:isDefinedBy amo: ;
    rdfs:range amo:Backing ;
    rdfs:subPropertyOf amo:involves ;
    vs:term_status reg:statusStable .

amo:hasQualifier a owl:FunctionalProperty,
        owl:ObjectProperty ;
    rdfs:label "has qualifier"@en ;
    vann:example """
    :my-argument a amo:Argument ;
        amo:hasQualifier :my-qualifier .
    """ ;
    rdfs:comment "An argument includes a qualifier as one of its (optional) components."@en ;
    rdfs:domain amo:Argument ;
    rdfs:isDefinedBy amo: ;
    rdfs:range amo:Qualifier ;
    rdfs:subPropertyOf amo:involves ;
    vs:term_status reg:statusStable .

amo:hasEvidence a owl:ObjectProperty ;
    rdfs:label "has evidence"@en ;
    vann:example """
    :my-argument a amo:Argument ;
        amo:hasEvidence :my-evidence .
    """ ;
    rdfs:comment "An argument includes an evidence as one of its (mandatory) components."@en ;
    rdfs:domain amo:Argument ;
    rdfs:isDefinedBy amo: ;
    rdfs:range amo:Evidence ;
    rdfs:subPropertyOf amo:involves ;
    vs:term_status reg:statusStable .

amo:hasRebuttal a owl:ObjectProperty ;
    rdfs:label "has rebuttal"@en ;
    vann:example """
    :my-argument a amo:Argument ;
        amo:hasRebuttal :my-rebuttal .
    """ ;
    rdfs:comment "An argument includes a rebuttal as one of its (optional) components."@en ;
    rdfs:domain amo:Argument ;
    rdfs:isDefinedBy amo: ;
    rdfs:range amo:Rebuttal ;
    rdfs:subPropertyOf amo:involves ;
    vs:term_status reg:statusStable .

amo:hasWarrant a owl:ObjectProperty ;
    rdfs:label "has warrant"@en ;
    vann:example """
    :my-argument a amo:Argument ;
        amo:hasWarrant :my-warrant .
    """ ;
    rdfs:comment "An argument includes a warrant as one of its (mandatory) components."@en ;
    rdfs:domain amo:Argument ;
    rdfs:isDefinedBy amo: ;
    rdfs:range amo:Warrant ;
    rdfs:subPropertyOf amo:involves ;
    vs:term_status reg:statusStable .

amo:isBackingIn a owl:ObjectProperty ;
    rdfs:label "is backing in"@en ;
    vann:example """
    :my-backing 
        amo:isBackingIn :my-argument .

    :my-argument a amo:Argument .
    """ ;
    rdfs:comment "An argumentative entity linked to an argument in which it is considered a backing."@en ;
    rdfs:isDefinedBy amo: ;
    rdfs:subPropertyOf amo:isInvolvedIn ;
    owl:inverseOf amo:hasBacking ;
    vs:term_status reg:statusStable .

amo:isRebuttalIn a owl:ObjectProperty ;
    rdfs:label "is rebuttal in"@en ;
    vann:example """
    :my-rebuttal 
        amo:isRebuttalIn :my-argument .

    :my-argument a amo:Argument .
    """ ;
    rdfs:comment "An argumentative entity linked to an argument in which it is considered a rebuttal."@en ;
    rdfs:isDefinedBy amo: ;
    rdfs:subPropertyOf amo:isInvolvedIn ;
    owl:inverseOf amo:hasRebuttal ;
    vs:term_status reg:statusStable .

amo:Backing a owl:Class ;
    rdfs:label "backing"@en ;
    vann:example """
    :my-backing a amo:Backing ;
        amo:isBackingIn :my-argument ;
        amo:backs :my-warrant .
    """ ;
    rdfs:comment "Sort of credentials that certifies the warrant - e.g., the OWL 2 document specifications."@en ;
    rdfs:isDefinedBy amo: ;
    owl:equivalentClass [ a owl:Class ;
            owl:intersectionOf ( amo:ArgumentationEntity [ a owl:Restriction ;
                        owl:onProperty amo:isBackingIn ;
                        owl:someValuesFrom amo:Argument ] ) ] ;
    vs:term_status reg:statusStable .

amo:Rebuttal a owl:Class ;
    rdfs:label "rebuttal"@en ;
    vann:example """
    :my-rebuttal a amo:Rebuttal ;
        amo:isRebuttalIn :my-argument .

    :my-claim 
        amo:isValidUnless :my-rebuttal .
    """ ;
    rdfs:comment "Restrictions that may be applied to the claim - 'Unless a reasoner for OWL 2 proves that it is not consistent'."@en ;
    rdfs:isDefinedBy amo: ;
    owl:equivalentClass [ a owl:Class ;
            owl:intersectionOf ( amo:ArgumentationEntity [ a owl:Restriction ;
                        owl:onProperty amo:isRebuttalIn ;
                        owl:someValuesFrom amo:Argument ] ) ] ;
    vs:term_status reg:statusStable .

amo:isClaimIn a owl:ObjectProperty ;
    rdfs:label "is claim in"@en ;
    vann:example """
    :my-claim 
        amo:isClaimIn :my-argument .

    :my-argument a amo:Argument .
    """ ;
    rdfs:comment "An argumentative entity linked to an argument in which it is considered a claim."@en ;
    rdfs:isDefinedBy amo: ;
    rdfs:subPropertyOf amo:isInvolvedIn ;
    owl:inverseOf amo:hasClaim ;
    vs:term_status reg:statusStable .

amo:isEvidenceIn a owl:ObjectProperty ;
    rdfs:label "is evidence in"@en ;
    vann:example """
    :my-evidence 
        amo:isEvidenceIn :my-argument .

    :my-argument a amo:Argument .
    """ ;
    rdfs:comment "An argumentative entity linked to an argument in which it is considered an evidence."@en ;
    rdfs:isDefinedBy amo: ;
    rdfs:subPropertyOf amo:isInvolvedIn ;
    owl:inverseOf amo:hasEvidence ;
    vs:term_status reg:statusStable .

amo:isQualifierIn a owl:ObjectProperty ;
    rdfs:label "is qualifier in"@en ;
    vann:example """
    :my-qualifier 
        amo:isQualifierIn :my-argument .

    :my-argument a amo:Argument .
    """ ;
    rdfs:comment "An sentence or word linked to an argument with the scope of qualifying the argument claim."@en ;
    rdfs:isDefinedBy amo: ;
    rdfs:subPropertyOf amo:isInvolvedIn ;
    owl:inverseOf amo:hasQualifier ;
    vs:term_status reg:statusStable .

amo:isWarrantIn a owl:ObjectProperty ;
    rdfs:label "is warrant in"@en ;
    vann:example """
    :my-warrant 
        amo:isWarrantIn :my-argument .

    :my-argument a amo:Argument .
    """ ;
    rdfs:comment "An argumentative entity linked to an argument in which it is considered a warrant."@en ;
    rdfs:isDefinedBy amo: ;
    rdfs:subPropertyOf amo:isInvolvedIn ;
    owl:inverseOf amo:hasWarrant ;
    vs:term_status reg:statusStable .

amo:Evidence a owl:Class ;
    rdfs:label "evidence"@en ;
    vann:example """
    :my-evidence a amo:Evidence ;
        amo:isEvidenceIn :my-argument ;
        amo:proves :my-claim .
    """ ;
    rdfs:comment "A fact that represents a foundation for the claim - e.g., 'This ontology was developed in OWL'."@en ;
    rdfs:isDefinedBy amo: ;
    owl:equivalentClass [ a owl:Class ;
            owl:intersectionOf ( amo:ArgumentationEntity [ a owl:Restriction ;
                        owl:onProperty amo:isEvidenceIn ;
                        owl:someValuesFrom amo:Argument ] ) ] ;
    vs:term_status reg:statusStable .

amo:Qualifier a owl:Class ;
    rdfs:label "qualifier"@en ;
    vann:example """
    :my-qualifier a amo:Qualifier ;
        amo:isQualifierIn :my-argument ;
        amo:forces :my-claim .
    """ ;
    rdfs:comment "Words or phrases that express the degree of certainty of the claim such as “certainly”, “possible”, “probably”, “presumably”, etc."@en ;
    rdfs:isDefinedBy amo: ;
    owl:equivalentClass [ a owl:Restriction ;
            owl:onProperty amo:isQualifierIn ;
            owl:someValuesFrom amo:Argument ] ;
    vs:term_status reg:statusStable .

amo:Warrant a owl:Class ;
    rdfs:label "warrant"@en ;
    vann:example """
    :my-warrant a amo:Warrant ;
        amo:isWarrantIn :my-argument ;
        amo:leadsTo :my-claim .
    """ ;
    rdfs:comment """A statement bridging from the evidence to the claim - e.g., 'An ontology developed in OWL is a consistent OWL ontology'.
"""@en ;
    rdfs:isDefinedBy amo: ;
    owl:equivalentClass [ a owl:Class ;
            owl:intersectionOf ( amo:ArgumentationEntity [ a owl:Restriction ;
                        owl:onProperty amo:isWarrantIn ;
                        owl:someValuesFrom amo:Argument ] ) ] ;
    vs:term_status reg:statusStable .

amo:hasClaim a owl:FunctionalProperty,
        owl:ObjectProperty ;
    rdfs:label "has claim"@en ;
    vann:example """
    :my-argument a amo:Argument ;
        amo:hasClaim :my-claim .
    """ ;
    rdfs:comment "An argument includes a claim as one of its (mandatory) components."@en ;
    rdfs:domain amo:Argument ;
    rdfs:isDefinedBy amo: ;
    rdfs:range amo:Claim ;
    rdfs:subPropertyOf amo:involves ;
    vs:term_status reg:statusStable .

amo:Claim a owl:Class ;
    rdfs:label "claim"@en ;
    vann:example """
    :my-claim a amo:Claim ;
        amo:isClaimIn :my-argument ;
        amo:isValidUnless :my-rebuttal .
    """ ;
    rdfs:comment "A fact that must be established - e.g., 'This is a consistent OWL ontology'."@en ;
    rdfs:isDefinedBy amo: ;
    owl:equivalentClass [ a owl:Class ;
            owl:intersectionOf ( amo:ArgumentationEntity [ a owl:Restriction ;
                        owl:onProperty amo:isClaimIn ;
                        owl:someValuesFrom amo:Argument ] ) ] ;
    vs:term_status reg:statusStable .

amo:relatesTo a owl:ObjectProperty,
        owl:SymmetricProperty ;
    rdfs:label "relates to"@en ;
    vann:example """
    :my-evidence a amo:Evidence ;
        amo:relatesTo :my-claim .

    :my-claim a amo:Claim .
    """ ;
    rdfs:comment "An argumentation entity relates to another one in some way - for example, it is the evidence that is used to prove a claim of an argument."@en ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( amo:ArgumentationEntity amo:Qualifier ) ] ;
    rdfs:isDefinedBy amo: ;
    rdfs:range amo:ArgumentationEntity ;
    vs:term_status reg:statusStable .

amo:involves a owl:ObjectProperty ;
    rdfs:label "involves"@en ;
    vann:example """
    :my-argument a amo:Argument ;
        amo:involves :my-claim, 
            :my-evidence, 
            :my-warrant .
    """ ;
    rdfs:comment "An argument involves an argumentation entity (claim, evidence, warrant, backing, rebuttal) or a qualifier."@en ;
    rdfs:domain amo:Argument ;
    rdfs:isDefinedBy amo: ;
    rdfs:range [ a owl:Class ;
            owl:unionOf ( amo:ArgumentationEntity amo:Qualifier ) ] ;
    vs:term_status reg:statusStable ;
    skos:note "This property and its sub-properties serve to describe an argument from an high-level perspective (i.e., which argumentation entities take part in it and what role they hold) rather than from a factual point of view (i.e., how argumentation entities are inter-linked between them)."@en .

amo:isInvolvedIn a owl:ObjectProperty ;
    rdfs:label "is involved in"@en ;
    vann:example """
    :my-claim 
        amo:isInvolvedIn :my-argument .

    :my-argument a amo:Argument .
    """ ;
    rdfs:comment "An argumentation entity involved in the presentation of an argument."@en ;
    rdfs:isDefinedBy amo: ;
    owl:inverseOf amo:involves ;
    vs:term_status reg:statusStable .

amo:ArgumentationEntity a owl:Class ;
    rdfs:label "argumentation entity"@en ;
    vann:example """
    :my-claim a amo:ArgumentationEntity ;
        amo:isInvolvedIn :my-argument .
    """ ;
    rdfs:comment "An entity that takes part in an argument according to the 'Toulmin model of argument'."@en ;
    rdfs:isDefinedBy amo: ;
    owl:equivalentClass [ a owl:Class ;
            owl:intersectionOf ( [ a owl:Class ;
                        owl:unionOf ( amo:Backing amo:Claim amo:Evidence amo:Rebuttal amo:Warrant ) ] [ a owl:Restriction ;
                        owl:onProperty amo:isInvolvedIn ;
                        owl:someValuesFrom amo:Argument ] ) ] ;
    vs:term_status reg:statusStable .

amo:Argument a owl:Class ;
    rdfs:label "argument"@en ;
    vann:example """
    :my-argument a amo:Argument ;
        amo:hasClaim :my-claim ;
        amo:hasEvidence :my-evidence ;
        amo:hasWarrant :my-warrant ;
        amo:hasBacking :my-backing ;
        amo:hasQualifier :my-qualifier ;
        amo:hasRebuttal :my-rebuttal .
    """ ;
    rdfs:comment """
An argument, or practical argument according to the 'Toulmin model of argument', focuses on the justificatory function of argumentation: practical arguments first find a claim of interest, and then provide justification for it.

Each argument must be analyzed according to six interrelated components: claim, evidence, warrant, backing, rebuttal and qualifier. 
The first three elements, 'claim', 'data' and 'warrant', are considered as the essential components of practical arguments, while the second triad, 'qualifier', 'backing', and 'rebuttal', may not be needed in some arguments.
"""@en ;
    rdfs:isDefinedBy amo: ;
    rdfs:subClassOf [ a owl:Class ;
            owl:intersectionOf ( [ a owl:Restriction ;
                        owl:minCardinality "1"^^xsd:nonNegativeInteger ;
                        owl:onProperty amo:hasEvidence ] [ a owl:Restriction ;
                        owl:minCardinality "1"^^xsd:nonNegativeInteger ;
                        owl:onProperty amo:hasWarrant ] [ a owl:Restriction ;
                        owl:cardinality "1"^^xsd:nonNegativeInteger ;
                        owl:onProperty amo:hasClaim ] ) ] ;
    vs:term_status reg:statusStable .

[] a owl:AllDisjointProperties ;
    owl:members ( amo:isBackingIn amo:isClaimIn amo:isEvidenceIn amo:isQualifierIn amo:isRebuttalIn amo:isWarrantIn ) .

