@prefix :      <https://w3id.org/OntoGSN/ontology#> .
@prefix cc:    <http://creativecommons.org/ns#> .
@prefix schema: <http://schema.org/> .
@prefix gsn:   <https://w3id.org/OntoGSN/ontology#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix xsd:   <http://www.w3.org/2001/XMLSchema#> .
@prefix swrl:  <http://www.w3.org/2003/11/swrl#> .
@prefix swrlb: <http://www.w3.org/2003/11/swrlb#> .
@prefix skos:  <http://www.w3.org/2004/02/skos/core#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix swrla: <http://swrl.stanford.edu/ontologies/3.3/swrla.owl#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix terms: <http://purl.org/dc/terms/> .
@prefix vann:  <http://purl.org/vocab/vann/> .
@prefix dc:    <http://purl.org/dc/elements/1.1/> .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S38" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:G ;
                                      swrl:argument2          true ;
                                      swrl:propertyPredicate  gsn:public
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                   swrl:argument1          gsn:G ;
                                                   swrl:argument2          gsn:C ;
                                                   swrl:propertyPredicate  gsn:inContextOf
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                    swrl:ClassAtom ;
                                                                swrl:argument1       gsn:G ;
                                                                swrl:classPredicate  gsn:Goal
                                                              ] ;
                                                   rdf:rest   ()
                                                 
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:C ;
                                      swrl:argument2          true ;
                                      swrl:propertyPredicate  gsn:public
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S16" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                    swrl:ClassAtom ;
                                      swrl:argument1       gsn:A ;
                                      swrl:classPredicate  gsn:Assumption
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                   swrl:argument1          gsn:A ;
                                                   swrl:argument2          false ;
                                                   swrl:propertyPredicate  gsn:true
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:B ;
                                                                swrl:argument2          gsn:A ;
                                                                swrl:propertyPredicate  gsn:inContextOf
                                                              ] ;
                                                   rdf:rest   ()
                                                 
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:B ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:true
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

dc:publisher  a  owl:AnnotationProperty .

gsn:undeveloped  a           owl:DatatypeProperty ;
        rdfs:domain          [ a            owl:Class ;
                               owl:unionOf  ( gsn:Goal gsn:Strategy )
                             ] ;
        rdfs:label           "undeveloped"@en ;
        rdfs:range           xsd:boolean ;
        skos:definition      "Undeveloped element decorator, rendered as a hollow diamond applied to the bottom centre of an element, indicates that a line of argument has not been developed."@en ;
        gsn:coreOrExtension  "Argument Pattern Extension"@en ;
        gsn:renderedAs       "hollow diamond" .

cc:license  a   owl:AnnotationProperty .

gsn:RelationshipWithConfidence
        a                    owl:Class ;
        rdfs:label           "Relationship with Confidence"@en ;
        rdfs:subClassOf      gsn:Relationship ;
        rdfs:subClassOf      [ a                   owl:Restriction ;
                               owl:onProperty      schema:identifier ;
                               owl:someValuesFrom  xsd:string
                             ] ;
        rdfs:subClassOf      [ a                         owl:Restriction ;
                               owl:onDataRange           xsd:string ;
                               owl:onProperty            schema:identifier ;
                               owl:qualifiedCardinality  "1"^^xsd:nonNegativeInteger
                             ] ;
        rdfs:subClassOf      [ a                  owl:Restriction ;
                               owl:allValuesFrom  [ a                   owl:Class ;
                                                    owl:intersectionOf  ( gsn:Argument [ a               owl:Restriction ;
                                                                                         owl:hasValue    "confidence" ;
                                                                                         owl:onProperty  gsn:argumentType
                                                                                       ] )
                                                  ] ;
                               owl:onProperty     gsn:associatedWith
                             ] ;
        rdfs:subClassOf      [ a                  owl:Restriction ;
                               owl:allValuesFrom  [ a            owl:Class ;
                                                    owl:unionOf  ( gsn:Context gsn:Solution gsn:Strategy )
                                                  ] ;
                               owl:onProperty     rdf:object
                             ] ;
        rdfs:subClassOf      [ a                   owl:Class ;
                               owl:intersectionOf  ( [ a                   owl:Restriction ;
                                                       owl:onProperty      gsn:associatedWith ;
                                                       owl:someValuesFrom  gsn:Argument
                                                     ] [ a                   owl:Restriction ;
                                                         owl:onProperty      gsn:assuranceClaimPoint ;
                                                         owl:someValuesFrom  xsd:boolean
                                                       ] )
                             ] ;
        skos:note            "The corresponding argument could be located in a paragraph of accompanying text, a goal in the local argument, or a goal in a separate module."@en ;
        gsn:coreOrExtension  "Confidence Argument Extension"@en .

gsn:M1  a       swrl:Variable .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S6" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:X ;
                                      swrl:argument2          gsn:A ;
                                      swrl:propertyPredicate  gsn:supportedBy
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                   swrl:argument1          gsn:A ;
                                                   swrl:argument2          gsn:B ;
                                                   swrl:propertyPredicate  gsn:supportedBy
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                    swrl:ClassAtom ;
                                                                swrl:argument1       gsn:A ;
                                                                swrl:classPredicate  gsn:Goal
                                                              ] ;
                                                   rdf:rest   ()
                                                 
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:A ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:top
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S24" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:M ;
                                      swrl:argument2          gsn:A ;
                                      swrl:propertyPredicate  gsn:contains
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                   swrl:argument1          gsn:N ;
                                                   swrl:argument2          gsn:B ;
                                                   swrl:propertyPredicate  gsn:contains
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                    swrl:ClassAtom ;
                                                                swrl:argument1       gsn:N ;
                                                                swrl:classPredicate  gsn:Module
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                             swrl:argument1          gsn:A ;
                                                                             swrl:argument2          gsn:B ;
                                                                             swrl:propertyPredicate  gsn:inContextOf
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a                    swrl:ClassAtom ;
                                                                                          swrl:argument1       gsn:M ;
                                                                                          swrl:classPredicate  gsn:Module
                                                                                        ] ;
                                                                             rdf:rest   [ a          swrl:AtomList ;
                                                                                          rdf:first  [ a               swrl:BuiltinAtom ;
                                                                                                       swrl:arguments  ( gsn:M gsn:N ) ;
                                                                                                       swrl:builtin    swrlb:notEqual
                                                                                                     ] ;
                                                                                          rdf:rest   ()
                                                                                        
                                                                                        ]
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:B ;
                                      swrl:argument2          true ;
                                      swrl:propertyPredicate  gsn:away
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

[ a                      owl:Axiom ;
  owl:annotatedProperty  rdfs:subClassOf ;
  owl:annotatedSource    gsn:Goal ;
  owl:annotatedTarget    _:b0 ;
  skos:definition        "GSN goals document the claims made in the argument (i.e. premises and conclusions). Each goal shall contain a single goal statement, expressed as a proposition in the form of a noun phrase + verb-phrase sentence."@en
] .

gsn:refersTo  a              owl:ObjectProperty ;
        rdfs:domain          gsn:ArtefactReference ;
        rdfs:label           "refers to"@en ;
        rdfs:range           gsn:Artefact ;
        gsn:coreOrExtension  "Core GSN"@en .

gsn:maxCardinality  a        owl:DatatypeProperty ;
        rdfs:domain          gsn:Relationship ;
        rdfs:label           "maximum cardinality"@en ;
        rdfs:range           xsd:nonNegativeInteger ;
        gsn:coreOrExtension  "Argument Pattern Extension"@en ;
        gsn:renderedAs       "text" .

rdf:subject  a  owl:ObjectProperty .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S42" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:G1 ;
                                      swrl:argument2          gsn:S ;
                                      swrl:propertyPredicate  gsn:supportedBy
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                   swrl:argument1          gsn:S ;
                                                   swrl:argument2          gsn:G2 ;
                                                   swrl:propertyPredicate  gsn:supportedBy
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                    swrl:ClassAtom ;
                                                                swrl:argument1       gsn:R1 ;
                                                                swrl:classPredicate  gsn:RelationshipWithConfidence
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a               swrl:BuiltinAtom ;
                                                                             swrl:arguments  ( gsn:G2 gsn:R2 ) ;
                                                                             swrl:builtin    <http://swrl.stanford.edu/ontologies/built-ins/3.3/swrlx.owl#makeOWLThing>
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a                    swrl:ClassAtom ;
                                                                                          swrl:argument1       gsn:S ;
                                                                                          swrl:classPredicate  gsn:Strategy
                                                                                        ] ;
                                                                             rdf:rest   [ a          swrl:AtomList ;
                                                                                          rdf:first  [ a                    swrl:ClassAtom ;
                                                                                                       swrl:argument1       gsn:G1 ;
                                                                                                       swrl:classPredicate  gsn:Goal
                                                                                                     ] ;
                                                                                          rdf:rest   [ a          swrl:AtomList ;
                                                                                                       rdf:first  [ a                    swrl:ClassAtom ;
                                                                                                                    swrl:argument1       gsn:G2 ;
                                                                                                                    swrl:classPredicate  gsn:Goal
                                                                                                                  ] ;
                                                                                                       rdf:rest   [ a          swrl:AtomList ;
                                                                                                                    rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                                                 swrl:argument1          gsn:R1 ;
                                                                                                                                 swrl:argument2          gsn:S ;
                                                                                                                                 swrl:propertyPredicate  rdf:object
                                                                                                                               ] ;
                                                                                                                    rdf:rest   [ a          swrl:AtomList ;
                                                                                                                                 rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                                                              swrl:argument1          gsn:R1 ;
                                                                                                                                              swrl:argument2          gsn:A ;
                                                                                                                                              swrl:propertyPredicate  gsn:associatedWith
                                                                                                                                            ] ;
                                                                                                                                 rdf:rest   [ a          swrl:AtomList ;
                                                                                                                                              rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                                                                           swrl:argument1          gsn:R1 ;
                                                                                                                                                           swrl:argument2          gsn:G1 ;
                                                                                                                                                           swrl:propertyPredicate  rdf:subject
                                                                                                                                                         ] ;
                                                                                                                                              rdf:rest   ()
                                                                                                                                            
                                                                                                                                            ]
                                                                                                                               ]
                                                                                                                  ]
                                                                                                     ]
                                                                                        ]
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:R2 ;
                                      swrl:argument2          gsn:S ;
                                      swrl:propertyPredicate  rdf:subject
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                    swrl:ClassAtom ;
                                                   swrl:argument1       gsn:R2 ;
                                                   swrl:classPredicate  gsn:RelationshipWithConfidence
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:R2 ;
                                                                swrl:argument2          gsn:G2 ;
                                                                swrl:propertyPredicate  rdf:object
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                             swrl:argument1          gsn:R2 ;
                                                                             swrl:argument2          gsn:A ;
                                                                             swrl:propertyPredicate  gsn:associatedWith
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                                                          swrl:argument1          gsn:R2 ;
                                                                                          swrl:argument2          true ;
                                                                                          swrl:propertyPredicate  gsn:assuranceClaimPoint
                                                                                        ] ;
                                                                             rdf:rest   ()
                                                                           
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ]
] .

rdf:predicate  a  owl:ObjectProperty .

terms:abstract  a  owl:AnnotationProperty .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S4" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                    swrl:ClassAtom ;
                                      swrl:argument1       gsn:B ;
                                      swrl:classPredicate  gsn:Strategy
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                   swrl:argument1          gsn:A ;
                                                   swrl:argument2          gsn:B ;
                                                   swrl:propertyPredicate  gsn:supportedBy
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:R ;
                                                                swrl:argument2          gsn:A ;
                                                                swrl:propertyPredicate  rdf:subject
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                             swrl:argument1          gsn:R ;
                                                                             swrl:argument2          gsn:B ;
                                                                             swrl:propertyPredicate  rdf:object
                                                                           ] ;
                                                                rdf:rest   ()
                                                              
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:R ;
                                      swrl:argument2          "inferential" ;
                                      swrl:propertyPredicate  gsn:relationshipType
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S45" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:G ;
                                      swrl:argument2          gsn:S2 ;
                                      swrl:propertyPredicate  gsn:supportedBy
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                    swrl:ClassAtom ;
                                                   swrl:argument1       gsn:S1 ;
                                                   swrl:classPredicate  gsn:Goal
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:R1 ;
                                                                swrl:argument2          gsn:S1 ;
                                                                swrl:propertyPredicate  rdf:object
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                    swrl:ClassAtom ;
                                                                             swrl:argument1       gsn:R1 ;
                                                                             swrl:classPredicate  gsn:RelationshipWithConfidence
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a               swrl:BuiltinAtom ;
                                                                                          swrl:arguments  ( gsn:S2 gsn:R2 ) ;
                                                                                          swrl:builtin    <http://swrl.stanford.edu/ontologies/built-ins/3.3/swrlx.owl#makeOWLThing>
                                                                                        ] ;
                                                                             rdf:rest   [ a          swrl:AtomList ;
                                                                                          rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                       swrl:argument1          gsn:G ;
                                                                                                       swrl:argument2          gsn:S1 ;
                                                                                                       swrl:propertyPredicate  gsn:supportedBy
                                                                                                     ] ;
                                                                                          rdf:rest   [ a          swrl:AtomList ;
                                                                                                       rdf:first  [ a                    swrl:ClassAtom ;
                                                                                                                    swrl:argument1       gsn:S2 ;
                                                                                                                    swrl:classPredicate  gsn:Goal
                                                                                                                  ] ;
                                                                                                       rdf:rest   [ a          swrl:AtomList ;
                                                                                                                    rdf:first  [ a                    swrl:ClassAtom ;
                                                                                                                                 swrl:argument1       gsn:G ;
                                                                                                                                 swrl:classPredicate  gsn:Goal
                                                                                                                               ] ;
                                                                                                                    rdf:rest   [ a          swrl:AtomList ;
                                                                                                                                 rdf:first  [ a               swrl:BuiltinAtom ;
                                                                                                                                              swrl:arguments  ( gsn:S1 gsn:S2 ) ;
                                                                                                                                              swrl:builtin    swrlb:notEqual
                                                                                                                                            ] ;
                                                                                                                                 rdf:rest   [ a          swrl:AtomList ;
                                                                                                                                              rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                                                                           swrl:argument1          gsn:R1 ;
                                                                                                                                                           swrl:argument2          gsn:A ;
                                                                                                                                                           swrl:propertyPredicate  gsn:associatedWith
                                                                                                                                                         ] ;
                                                                                                                                              rdf:rest   [ a          swrl:AtomList ;
                                                                                                                                                           rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                                                                                        swrl:argument1          gsn:R1 ;
                                                                                                                                                                        swrl:argument2          gsn:G ;
                                                                                                                                                                        swrl:propertyPredicate  rdf:subject
                                                                                                                                                                      ] ;
                                                                                                                                                           rdf:rest   ()
                                                                                                                                                         
                                                                                                                                                         ]
                                                                                                                                            ]
                                                                                                                               ]
                                                                                                                  ]
                                                                                                     ]
                                                                                        ]
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:R2 ;
                                      swrl:argument2          gsn:S2 ;
                                      swrl:propertyPredicate  rdf:object
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                    swrl:ClassAtom ;
                                                   swrl:argument1       gsn:R2 ;
                                                   swrl:classPredicate  gsn:RelationshipWithConfidence
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:R2 ;
                                                                swrl:argument2          gsn:G ;
                                                                swrl:propertyPredicate  rdf:subject
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                             swrl:argument1          gsn:R2 ;
                                                                             swrl:argument2          gsn:A ;
                                                                             swrl:propertyPredicate  gsn:associatedWith
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                                                          swrl:argument1          gsn:R2 ;
                                                                                          swrl:argument2          true ;
                                                                                          swrl:propertyPredicate  gsn:assuranceClaimPoint
                                                                                        ] ;
                                                                             rdf:rest   ()
                                                                           
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ]
] .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S52" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:A ;
                                      swrl:argument2          gsn:B ;
                                      swrl:propertyPredicate  gsn:challenges
                                    ] ;
                         rdf:rest   ()
                       
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                    swrl:ClassAtom ;
                                      swrl:argument1       gsn:A ;
                                      swrl:classPredicate  gsn:Defeater
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

gsn:C   a       swrl:Variable .

gsn:Goal  a                  owl:Class ;
        rdfs:label           "Goal"@en ;
        rdfs:subClassOf      gsn:GSNElement , _:b0 ;
        rdfs:subClassOf      [ a                  owl:Restriction ;
                               owl:allValuesFrom  [ a            owl:Class ;
                                                    owl:unionOf  ( gsn:Assumption gsn:Context gsn:Justification gsn:Module )
                                                  ] ;
                               owl:onProperty     gsn:inContextOf
                             ] ;
        rdfs:subClassOf      [ a                   owl:Restriction ;
                               owl:onProperty      gsn:inContextOf ;
                               owl:someValuesFrom  gsn:Context
                             ] ;
        rdfs:subClassOf      [ a                  owl:Restriction ;
                               owl:allValuesFrom  [ a            owl:Class ;
                                                    owl:unionOf  ( gsn:Goal gsn:Module gsn:Solution gsn:Strategy )
                                                  ] ;
                               owl:onProperty     gsn:supportedBy
                             ] ;
        rdfs:subClassOf      [ a                  owl:Restriction ;
                               owl:allValuesFrom  [ a            owl:Class ;
                                                    owl:unionOf  ( gsn:GSNElement gsn:Relationship )
                                                  ] ;
                               owl:onProperty     gsn:challenges
                             ] ;
        skos:altLabel        "Claim"@en ;
        skos:definition      "(Claim is) A proposition being asserted by the author that is a true or false statement."@en , "A goal, rendered as a rectangle, presents a claim forming part of the argument."@en ;
        gsn:coreOrExtension  "Core GSN"@en ;
        gsn:renderedAs       "rectangle"@en .

gsn:InstantiationDataReference
        a                    owl:Class ;
        rdfs:label           "Instantiation Data Reference"@en ;
        skos:definition      "This symbol indicates that the GSN argument below the attached element is to be instantiated as a template argument. It provides a reference to the information used to instantiate the template argument." ;
        gsn:coreOrExtension  "Argument Pattern Extension"@en ;
        gsn:renderedAs       "hollow triangle" .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S22" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                    swrl:ClassAtom ;
                                      swrl:argument1       gsn:A ;
                                      swrl:classPredicate  gsn:Template
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                   swrl:argument1          gsn:R ;
                                                   swrl:argument2          true ;
                                                   swrl:propertyPredicate  gsn:undeveloped
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:R ;
                                                                swrl:argument2          gsn:B ;
                                                                swrl:propertyPredicate  rdf:subject
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                                             swrl:argument1          gsn:A ;
                                                                             swrl:argument2          true ;
                                                                             swrl:propertyPredicate  gsn:published
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                          swrl:argument1          gsn:A ;
                                                                                          swrl:argument2          gsn:B ;
                                                                                          swrl:propertyPredicate  gsn:contains
                                                                                        ] ;
                                                                             rdf:rest   ()
                                                                           
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:A ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:valid
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                   swrl:argument1          gsn:R ;
                                                   swrl:argument2          false ;
                                                   swrl:propertyPredicate  gsn:valid
                                                 ] ;
                                      rdf:rest   ()
                                    
                                    ]
                       ]
] .

gsn:Relationship  a          owl:Class ;
        rdfs:label           "Relationship"@en ;
        rdfs:subClassOf      rdf:Statement ;
        rdfs:subClassOf      [ a                  owl:Restriction ;
                               owl:allValuesFrom  [ a            owl:Class ;
                                                    owl:unionOf  ( gsn:Defeater gsn:Goal gsn:Strategy )
                                                  ] ;
                               owl:onProperty     rdf:subject
                             ] ;
        rdfs:subClassOf      [ a                  owl:Restriction ;
                               owl:allValuesFrom  gsn:GSNElement ;
                               owl:onProperty     rdf:object
                             ] ;
        gsn:coreOrExtension  "Core GSN"@en .

gsn:Artefact  a              owl:Class ;
        rdfs:label           "Artefact"@en ;
        skos:altLabel        "Evidence"@en ;
        gsn:coreOrExtension  "Core GSN"@en .

gsn:valid  a                 owl:DatatypeProperty ;
        rdfs:domain          gsn:GSNElement ;
        rdfs:label           "valid"@en ;
        rdfs:range           xsd:boolean ;
        gsn:coreOrExtension  "Core GSN"@en .

gsn:multiple  a              owl:DatatypeProperty ;
        rdfs:domain          gsn:Relationship ;
        rdfs:label           "multiple"@en ;
        rdfs:range           xsd:boolean ;
        gsn:coreOrExtension  "Argument Pattern Extension"@en ;
        gsn:renderedAs       "solid ball" .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S47" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:E ;
                                      swrl:argument2          true ;
                                      swrl:propertyPredicate  gsn:defeated
                                    ] ;
                         rdf:rest   ()
                       
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:E ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:valid
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

gsn:ID  a       swrl:Variable .

<urn:swrl:var#C>  a  swrl:Variable .

schema:identifier  a  owl:DatatypeProperty .

gsn:argumentType  a          owl:DatatypeProperty ;
        rdfs:domain          gsn:Argument ;
        rdfs:label           "argument type"@en ;
        rdfs:range           [ a          rdfs:Datatype ;
                               owl:oneOf  [ a          rdf:List ;
                                            rdf:first  "confidence" ;
                                            rdf:rest   [ a          rdf:List ;
                                                         rdf:first  "dialectic" ;
                                                         rdf:rest   [ a          rdf:List ;
                                                                      rdf:first  "risk" ;
                                                                      rdf:rest   ()
                                                                    
                                                                    ]
                                                       ]
                                          ]
                             ] ;
        gsn:coreOrExtension  "Confidence Argument Extension"@en .

gsn:Strategy  a              owl:Class ;
        rdfs:label           "Strategy"@en ;
        rdfs:subClassOf      _:b1 , gsn:GSNElement ;
        rdfs:subClassOf      [ a                  owl:Restriction ;
                               owl:allValuesFrom  gsn:Goal ;
                               owl:onProperty     gsn:supportedBy
                             ] ;
        rdfs:subClassOf      [ a                  owl:Restriction ;
                               owl:allValuesFrom  [ a            owl:Class ;
                                                    owl:unionOf  ( gsn:Assumption gsn:Context gsn:Justification gsn:Module )
                                                  ] ;
                               owl:onProperty     gsn:inContextOf
                             ] ;
        skos:definition      "A strategy, rendered as a parallelogram, describes the inference that exists between a goal and its supporting goal(s)."@en ;
        gsn:coreOrExtension  "Core GSN"@en ;
        gsn:renderedAs       "parallelogram"@en .

gsn:motivation  a            owl:AnnotationProperty ;
        rdfs:domain          gsn:Pattern ;
        rdfs:label           "motivation"@en ;
        skos:definition      "The motivation statement can be used to state why the pattern was created. It could be expressed in terms of previous experiences e.g. as the abstraction of a successfully presented argument, or challenges addressed e.g. argument topics that are often incompletely or poorly addressed."@en ;
        gsn:coreOrExtension  "Argument Pattern Extension"@en .

schema:license  a  owl:AnnotationProperty .

[ a                      owl:Axiom ;
  owl:annotatedProperty  rdfs:subClassOf ;
  owl:annotatedSource    gsn:Assumption ;
  owl:annotatedTarget    _:b2 ;
  skos:definition        "GSN assumptions provide additional information necessary for the correct understanding of the argument. This information is stated as fully as necessary, using complete sentences in the form noun phrase + verb phrase."@en
] .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S48" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:G ;
                                      swrl:argument2          gsn:E ;
                                      swrl:propertyPredicate  gsn:challenges
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                   swrl:argument1          gsn:G ;
                                                   swrl:argument2          true ;
                                                   swrl:propertyPredicate  gsn:true
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                    swrl:ClassAtom ;
                                                                swrl:argument1       gsn:G ;
                                                                swrl:classPredicate  gsn:Goal
                                                              ] ;
                                                   rdf:rest   ()
                                                 
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:E ;
                                      swrl:argument2          true ;
                                      swrl:propertyPredicate  gsn:inDoubt
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S23" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:M ;
                                      swrl:argument2          gsn:A ;
                                      swrl:propertyPredicate  gsn:contains
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                   swrl:argument1          gsn:N ;
                                                   swrl:argument2          gsn:B ;
                                                   swrl:propertyPredicate  gsn:contains
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:A ;
                                                                swrl:argument2          gsn:B ;
                                                                swrl:propertyPredicate  gsn:supportedBy
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                    swrl:ClassAtom ;
                                                                             swrl:argument1       gsn:N ;
                                                                             swrl:classPredicate  gsn:Module
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a                    swrl:ClassAtom ;
                                                                                          swrl:argument1       gsn:M ;
                                                                                          swrl:classPredicate  gsn:Module
                                                                                        ] ;
                                                                             rdf:rest   [ a          swrl:AtomList ;
                                                                                          rdf:first  [ a               swrl:BuiltinAtom ;
                                                                                                       swrl:arguments  ( gsn:M gsn:N ) ;
                                                                                                       swrl:builtin    swrlb:notEqual
                                                                                                     ] ;
                                                                                          rdf:rest   ()
                                                                                        
                                                                                        ]
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:B ;
                                      swrl:argument2          true ;
                                      swrl:propertyPredicate  gsn:away
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

gsn:assuranceClaimPoint
        a                    owl:DatatypeProperty ;
        rdfs:domain          [ a            owl:Class ;
                               owl:unionOf  ( gsn:ArtefactReference gsn:RelationshipWithConfidence )
                             ] ;
        rdfs:label           "assurance claim point"@en ;
        rdfs:range           xsd:boolean ;
        skos:definition      "An Assurance Claim Point (ACP) can be used in GSN to indicate that a confidence argument is associated with an assertion in a risk argument."@en ;
        gsn:coreOrExtension  "Confidence Argument Extension"@en ;
        gsn:renderedAs       "solid square" .

gsn:statement  a             owl:DatatypeProperty ;
        rdfs:domain          [ a            owl:Class ;
                               owl:unionOf  ( gsn:Argument gsn:GSNElement )
                             ] ;
        rdfs:label           "statement"@en ;
        rdfs:range           xsd:string ;
        gsn:coreOrExtension  "Core GSN"@en .

gsn:Catalogue  a             owl:Class ;
        rdfs:label           "Catalogue"@en ;
        rdfs:subClassOf      [ a                  owl:Restriction ;
                               owl:allValuesFrom  gsn:Pattern ;
                               owl:onProperty     gsn:contains
                             ] ;
        skos:definition      "A pattern catalogue may be created to collate a series of patterns; where such a catalogue is created the structure and format of the definition should be consistent and each pattern’s definition should have a unique {pattern identifier}."@en ;
        gsn:coreOrExtension  "Argument Pattern Extension"@en .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S43" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:G2 ;
                                      swrl:argument2          gsn:S ;
                                      swrl:propertyPredicate  gsn:supportedBy
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                    swrl:ClassAtom ;
                                                   swrl:argument1       gsn:R1 ;
                                                   swrl:classPredicate  gsn:RelationshipWithConfidence
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:R1 ;
                                                                swrl:argument2          gsn:S ;
                                                                swrl:propertyPredicate  rdf:subject
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                             swrl:argument1          gsn:S ;
                                                                             swrl:argument2          gsn:G1 ;
                                                                             swrl:propertyPredicate  gsn:supportedBy
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a               swrl:BuiltinAtom ;
                                                                                          swrl:arguments  ( gsn:G2 gsn:R2 ) ;
                                                                                          swrl:builtin    <http://swrl.stanford.edu/ontologies/built-ins/3.3/swrlx.owl#makeOWLThing>
                                                                                        ] ;
                                                                             rdf:rest   [ a          swrl:AtomList ;
                                                                                          rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                       swrl:argument1          gsn:R1 ;
                                                                                                       swrl:argument2          gsn:G1 ;
                                                                                                       swrl:propertyPredicate  rdf:object
                                                                                                     ] ;
                                                                                          rdf:rest   [ a          swrl:AtomList ;
                                                                                                       rdf:first  [ a                    swrl:ClassAtom ;
                                                                                                                    swrl:argument1       gsn:S ;
                                                                                                                    swrl:classPredicate  gsn:Strategy
                                                                                                                  ] ;
                                                                                                       rdf:rest   [ a          swrl:AtomList ;
                                                                                                                    rdf:first  [ a                    swrl:ClassAtom ;
                                                                                                                                 swrl:argument1       gsn:G1 ;
                                                                                                                                 swrl:classPredicate  gsn:Goal
                                                                                                                               ] ;
                                                                                                                    rdf:rest   [ a          swrl:AtomList ;
                                                                                                                                 rdf:first  [ a                    swrl:ClassAtom ;
                                                                                                                                              swrl:argument1       gsn:G2 ;
                                                                                                                                              swrl:classPredicate  gsn:Goal
                                                                                                                                            ] ;
                                                                                                                                 rdf:rest   [ a          swrl:AtomList ;
                                                                                                                                              rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                                                                           swrl:argument1          gsn:R1 ;
                                                                                                                                                           swrl:argument2          gsn:A ;
                                                                                                                                                           swrl:propertyPredicate  gsn:associatedWith
                                                                                                                                                         ] ;
                                                                                                                                              rdf:rest   ()
                                                                                                                                            
                                                                                                                                            ]
                                                                                                                               ]
                                                                                                                  ]
                                                                                                     ]
                                                                                        ]
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                    swrl:ClassAtom ;
                                      swrl:argument1       gsn:R2 ;
                                      swrl:classPredicate  gsn:RelationshipWithConfidence
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                   swrl:argument1          gsn:R2 ;
                                                   swrl:argument2          gsn:A ;
                                                   swrl:propertyPredicate  gsn:associatedWith
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                                swrl:argument1          gsn:R2 ;
                                                                swrl:argument2          true ;
                                                                swrl:propertyPredicate  gsn:assuranceClaimPoint
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                             swrl:argument1          gsn:R2 ;
                                                                             swrl:argument2          gsn:G2 ;
                                                                             swrl:propertyPredicate  rdf:subject
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                          swrl:argument1          gsn:R2 ;
                                                                                          swrl:argument2          gsn:S ;
                                                                                          swrl:propertyPredicate  rdf:object
                                                                                        ] ;
                                                                             rdf:rest   ()
                                                                           
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ]
] .

schema:citation  a  owl:AnnotationProperty .

gsn:M3  a       swrl:Variable .

gsn:J   a       swrl:Variable .

gsn:Template  a              owl:Class ;
        rdfs:label           "Template"@en ;
        rdfs:subClassOf      gsn:Pattern ;
        skos:definition      "A template argument is a special case of a pattern argument. It uses the core GSN and argument pattern extension to construct an argument structure which requires no further development."@en ;
        gsn:coreOrExtension  "Argument Pattern Extension"@en .

skos:note  a    owl:AnnotationProperty .

[ a                      owl:Axiom ;
  owl:annotatedProperty  rdfs:subClassOf ;
  owl:annotatedSource    gsn:Strategy ;
  owl:annotatedTarget    _:b1 ;
  skos:definition        "GSN strategy statements describe the reasoning that connects parent goals and their supporting goals, but the core claims and the structure connecting those claims remain unchanged. Strategy statements contain a brief description of the argument approach."@en
] .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S32" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:G1 ;
                                      swrl:argument2          gsn:C1 ;
                                      swrl:propertyPredicate  gsn:inContextOf
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                   swrl:argument1          gsn:G2 ;
                                                   swrl:argument2          gsn:C2 ;
                                                   swrl:propertyPredicate  gsn:inContextOf
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                    swrl:ClassAtom ;
                                                                swrl:argument1       gsn:G1 ;
                                                                swrl:classPredicate  gsn:Goal
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                    swrl:ClassAtom ;
                                                                             swrl:argument1       gsn:G2 ;
                                                                             swrl:classPredicate  gsn:Goal
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                                                          swrl:argument1          gsn:G2 ;
                                                                                          swrl:argument2          true ;
                                                                                          swrl:propertyPredicate  gsn:away
                                                                                        ] ;
                                                                             rdf:rest   [ a          swrl:AtomList ;
                                                                                          rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                       swrl:argument1          gsn:G1 ;
                                                                                                       swrl:argument2          gsn:G2 ;
                                                                                                       swrl:propertyPredicate  gsn:supportedBy
                                                                                                     ] ;
                                                                                          rdf:rest   [ a          swrl:AtomList ;
                                                                                                       rdf:first  [ a                    swrl:ClassAtom ;
                                                                                                                    swrl:argument1       gsn:C2 ;
                                                                                                                    swrl:classPredicate  gsn:Context
                                                                                                                  ] ;
                                                                                                       rdf:rest   ()
                                                                                                     
                                                                                                     ]
                                                                                        ]
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:C1 ;
                                      swrl:argument2          gsn:C2 ;
                                      swrl:propertyPredicate  gsn:consistentWith
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

_:b2    a                   owl:Restriction ;
        owl:onProperty      gsn:statement ;
        owl:someValuesFrom  xsd:string .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S46" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:S ;
                                      swrl:argument2          true ;
                                      swrl:propertyPredicate  gsn:valid
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                   swrl:argument1          gsn:S ;
                                                   swrl:argument2          gsn:E ;
                                                   swrl:propertyPredicate  gsn:challenges
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                    swrl:ClassAtom ;
                                                                swrl:argument1       gsn:S ;
                                                                swrl:classPredicate  gsn:Solution
                                                              ] ;
                                                   rdf:rest   ()
                                                 
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:E ;
                                      swrl:argument2          true ;
                                      swrl:propertyPredicate  gsn:defeated
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

gsn:knownUses  a             owl:AnnotationProperty ;
        rdfs:domain          gsn:Pattern ;
        rdfs:label           "known uses"@en ;
        skos:definition      "It may be useful to provide references to known applications of the pattern. These can serve as additional examples."@en ;
        gsn:coreOrExtension  "Argument Pattern Extension"@en .

gsn:challenges  a            owl:ObjectProperty ;
        rdfs:domain          [ a            owl:Class ;
                               owl:unionOf  ( gsn:Goal gsn:Solution )
                             ] ;
        rdfs:label           "challenges"@en ;
        rdfs:range           gsn:GSNElement ;
        skos:definition      "Allows a Challenge to any GSN entity to be documented. A goal, (core element) can be used in a dialectic context to assert a challenge to part of the argument. A solution, (core element) can be used to present a reference to an evidence item that asserts a challenge to part of the argument."@en ;
        skos:note            "A challenge must be levied against the appropriate aspect of the goal structure."@en ;
        gsn:coreOrExtension  "Dialectic Extension"@en ;
        gsn:renderedAs       "dashed line with an open arrowhead" .

gsn:S2  a       swrl:Variable .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S33" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:M2 ;
                                      swrl:argument2          gsn:G ;
                                      swrl:propertyPredicate  gsn:contains
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                    swrl:ClassAtom ;
                                                   swrl:argument1       gsn:M1 ;
                                                   swrl:classPredicate  gsn:Module
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                    swrl:ClassAtom ;
                                                                swrl:argument1       gsn:M2 ;
                                                                swrl:classPredicate  gsn:Module
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                             swrl:argument1          gsn:J ;
                                                                             swrl:argument2          gsn:G ;
                                                                             swrl:propertyPredicate  gsn:substitutedBy
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                          swrl:argument1          gsn:M1 ;
                                                                                          swrl:argument2          gsn:J ;
                                                                                          swrl:propertyPredicate  gsn:contains
                                                                                        ] ;
                                                                             rdf:rest   [ a          swrl:AtomList ;
                                                                                          rdf:first  [ a                    swrl:ClassAtom ;
                                                                                                       swrl:argument1       gsn:J ;
                                                                                                       swrl:classPredicate  gsn:Justification
                                                                                                     ] ;
                                                                                          rdf:rest   [ a          swrl:AtomList ;
                                                                                                       rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                                    swrl:argument1          gsn:E ;
                                                                                                                    swrl:argument2          gsn:J ;
                                                                                                                    swrl:propertyPredicate  gsn:inContextOf
                                                                                                                  ] ;
                                                                                                       rdf:rest   [ a          swrl:AtomList ;
                                                                                                                    rdf:first  [ a               swrl:BuiltinAtom ;
                                                                                                                                 swrl:arguments  ( gsn:M1 gsn:M2 ) ;
                                                                                                                                 swrl:builtin    swrlb:notEqual
                                                                                                                               ] ;
                                                                                                                    rdf:rest   ()
                                                                                                                  
                                                                                                                  ]
                                                                                                     ]
                                                                                        ]
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:J ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:valid
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

gsn:E   a       swrl:Variable .

gsn:defeated  a              owl:DatatypeProperty ;
        rdfs:domain          [ a            owl:Class ;
                               owl:unionOf  ( gsn:GSNElement gsn:Relationship )
                             ] ;
        rdfs:label           "defeated"@en ;
        rdfs:range           xsd:boolean ;
        schema:description   "Defeated Relationship indicates that the relationship is defeated. The Defeated decorator can be applied to any of the GSN relationships."@en ;
        skos:definition      "This decorator symbol indicates that the element is defeated. The Defeated decorator can be applied to any of the GSN elements."@en ;
        gsn:coreOrExtension  "Dialectic Extension"@en ;
        gsn:renderedAs       "cross (‘X’) superimposed on a GSN element or relationship" .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S50" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:A ;
                                      swrl:argument2          gsn:B ;
                                      swrl:propertyPredicate  gsn:challenges
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a               swrl:BuiltinAtom ;
                                                   swrl:arguments  ( gsn:B gsn:R ) ;
                                                   swrl:builtin    <http://swrl.stanford.edu/ontologies/built-ins/3.3/swrlx.owl#makeOWLThing>
                                                 ] ;
                                      rdf:rest   ()
                                    
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:R ;
                                      swrl:argument2          gsn:A ;
                                      swrl:propertyPredicate  rdf:subject
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                    swrl:ClassAtom ;
                                                   swrl:argument1       gsn:R ;
                                                   swrl:classPredicate  gsn:Relationship
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:R ;
                                                                swrl:argument2          gsn:B ;
                                                                swrl:propertyPredicate  rdf:object
                                                              ] ;
                                                   rdf:rest   ()
                                                 
                                                 ]
                                    ]
                       ]
] .

dc:modified  a  owl:AnnotationProperty .

dc:creator  a   owl:AnnotationProperty .

gsn:C1  a       swrl:Variable .

gsn:Solution  a              owl:Class ;
        rdfs:label           "Solution"@en ;
        rdfs:subClassOf      _:b3 , gsn:ArtefactReference ;
        rdfs:subClassOf      [ a                  owl:Restriction ;
                               owl:allValuesFrom  [ a            owl:Class ;
                                                    owl:unionOf  ( gsn:GSNElement gsn:Relationship )
                                                  ] ;
                               owl:onProperty     gsn:challenges
                             ] ;
        skos:definition      "A solution, rendered as a circle, presents a reference to an evidence item."@en ;
        gsn:coreOrExtension  "Core GSN"@en ;
        gsn:renderedAs       "circle"@en .

dc:created  a   owl:AnnotationProperty .

gsn:optional  a              owl:DatatypeProperty ;
        rdfs:domain          gsn:Relationship ;
        rdfs:label           "optional"@en ;
        rdfs:range           xsd:boolean ;
        skos:definition      "Optional instantiation means that the relationship and the argument below may or may not be instantiated."@en ;
        gsn:coreOrExtension  "Argument Pattern Extension"@en ;
        gsn:renderedAs       "hollow ball"@en .

rdf:Statement  a  owl:Class .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S20" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:B ;
                                      swrl:argument2          gsn:C ;
                                      swrl:propertyPredicate  gsn:instantiationOf
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                   swrl:argument1          gsn:A ;
                                                   swrl:argument2          true ;
                                                   swrl:propertyPredicate  gsn:final
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                    swrl:ClassAtom ;
                                                                swrl:argument1       gsn:C ;
                                                                swrl:classPredicate  gsn:Pattern
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                             swrl:argument1          gsn:A ;
                                                                             swrl:argument2          gsn:B ;
                                                                             swrl:propertyPredicate  gsn:contains
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                          swrl:argument1          gsn:A ;
                                                                                          swrl:argument2          gsn:C ;
                                                                                          swrl:propertyPredicate  gsn:contains
                                                                                        ] ;
                                                                             rdf:rest   ()
                                                                           
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:A ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:valid
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

gsn:GSNElement  a            owl:Class ;
        rdfs:label           "GSN Element"@en ;
        rdfs:subClassOf      [ a                         owl:Restriction ;
                               owl:onDataRange           xsd:string ;
                               owl:onProperty            schema:identifier ;
                               owl:qualifiedCardinality  "1"^^xsd:nonNegativeInteger
                             ] ;
        rdfs:subClassOf      [ a                   owl:Restriction ;
                               owl:onProperty      schema:identifier ;
                               owl:someValuesFrom  xsd:string
                             ] ;
        gsn:coreOrExtension  "Core GSN"@en .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S14" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:R ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:true
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                   swrl:argument1          gsn:R ;
                                                   swrl:argument2          gsn:A ;
                                                   swrl:propertyPredicate  rdf:subject
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:A ;
                                                                swrl:argument2          gsn:B ;
                                                                swrl:propertyPredicate  gsn:inContextOf
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                    swrl:ClassAtom ;
                                                                             swrl:argument1       gsn:R ;
                                                                             swrl:classPredicate  gsn:Relationship
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                          swrl:argument1          gsn:R ;
                                                                                          swrl:argument2          gsn:B ;
                                                                                          swrl:propertyPredicate  rdf:object
                                                                                        ] ;
                                                                             rdf:rest   ()
                                                                           
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:A ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:true
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S9" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:C ;
                                      swrl:argument2          true ;
                                      swrl:propertyPredicate  gsn:true
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                   swrl:argument1          gsn:B ;
                                                   swrl:argument2          true ;
                                                   swrl:propertyPredicate  gsn:true
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:C ;
                                                                swrl:argument2          gsn:B ;
                                                                swrl:propertyPredicate  gsn:supportedBy
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                                             swrl:argument1          gsn:A ;
                                                                             swrl:argument2          true ;
                                                                             swrl:propertyPredicate  gsn:true
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                          swrl:argument1          gsn:C ;
                                                                                          swrl:argument2          gsn:A ;
                                                                                          swrl:propertyPredicate  gsn:supportedBy
                                                                                        ] ;
                                                                             rdf:rest   [ a          swrl:AtomList ;
                                                                                          rdf:first  [ a                    swrl:ClassAtom ;
                                                                                                       swrl:argument1       gsn:A ;
                                                                                                       swrl:classPredicate  gsn:Goal
                                                                                                     ] ;
                                                                                          rdf:rest   [ a          swrl:AtomList ;
                                                                                                       rdf:first  [ a                    swrl:ClassAtom ;
                                                                                                                    swrl:argument1       gsn:B ;
                                                                                                                    swrl:classPredicate  gsn:Goal
                                                                                                                  ] ;
                                                                                                       rdf:rest   ()
                                                                                                     
                                                                                                     ]
                                                                                        ]
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:C ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:valid
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

gsn:associatedWith  a        owl:ObjectProperty ;
        rdfs:domain          [ a            owl:Class ;
                               owl:unionOf  ( gsn:ArtefactReference gsn:RelationshipWithConfidence )
                             ] ;
        rdfs:label           "associated with"@en ;
        rdfs:range           gsn:Argument ;
        gsn:coreOrExtension  "Confidence Argument Extension"@en .

[ a                      owl:Axiom ;
  owl:annotatedProperty  rdfs:subClassOf ;
  owl:annotatedSource    gsn:Solution ;
  owl:annotatedTarget    _:b3 ;
  skos:definition        "GSN solutions make no claim, but are simply references to evidence items that provide support for a particular claim. They shall therefore be stated as noun-phrases."@en
] .

skos:altLabel  a  owl:AnnotationProperty .

gsn:R1  a       swrl:Variable .

gsn:Argument  a              owl:Class ;
        rdfs:label           "Argument"@en ;
        rdfs:subClassOf      _:b4 ;
        rdfs:subClassOf      [ a                         owl:Restriction ;
                               owl:onDataRange           xsd:string ;
                               owl:onProperty            schema:identifier ;
                               owl:qualifiedCardinality  "1"^^xsd:nonNegativeInteger
                             ] ;
        rdfs:subClassOf      [ a                   owl:Restriction ;
                               owl:onProperty      schema:identifier ;
                               owl:someValuesFrom  xsd:string
                             ] ;
        rdfs:subClassOf      [ a                  owl:Restriction ;
                               owl:allValuesFrom  gsn:GSNElement ;
                               owl:onProperty     gsn:contains
                             ] ;
        skos:definition      "A connected series of claims intended to establish an overall claim."@en , "A body of information presented with the intention to establish one or more claims through the presentation of related supporting claims, evidence and contextual information."@en ;
        gsn:coreOrExtension  "Core GSN"@en .

gsn:applicability  a         owl:AnnotationProperty ;
        rdfs:domain          gsn:Pattern ;
        rdfs:label           "applicability"@en ;
        skos:definition      "The applicability section should state under what circumstances the pattern can be applied, making clear the assumptions and principles underlying the pattern to avoid inappropriate application in a mismatched context. This section should record what contextual information is required in order to apply the pattern."@en ;
        gsn:coreOrExtension  "Argument Pattern Extension"@en .

gsn:G1  a       swrl:Variable .

gsn:intent  a                owl:AnnotationProperty ;
        rdfs:domain          gsn:Pattern ;
        rdfs:label           "intent"@en ;
        skos:definition      "The intent statement should state clearly what the pattern aims to achieve."@en ;
        gsn:coreOrExtension  "Argument Pattern Extension"@en .

dc:contributor  a  owl:AnnotationProperty .

gsn:published  a             owl:DatatypeProperty ;
        rdfs:domain          gsn:Argument ;
        rdfs:label           "published"@en ;
        rdfs:range           xsd:boolean ;
        gsn:coreOrExtension  "Argument Pattern Extension"@en .

gsn:final  a                 owl:DatatypeProperty ;
        rdfs:domain          gsn:Argument ;
        rdfs:label           "final"@en ;
        rdfs:range           xsd:boolean ;
        gsn:coreOrExtension  "Argument Pattern Extension"@en .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S5" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:A ;
                                      swrl:argument2          gsn:B ;
                                      swrl:propertyPredicate  gsn:supportedBy
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                   swrl:argument1          gsn:R ;
                                                   swrl:argument2          gsn:A ;
                                                   swrl:propertyPredicate  rdf:subject
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:R ;
                                                                swrl:argument2          gsn:B ;
                                                                swrl:propertyPredicate  rdf:object
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                    swrl:ClassAtom ;
                                                                             swrl:argument1       gsn:B ;
                                                                             swrl:classPredicate  gsn:Goal
                                                                           ] ;
                                                                rdf:rest   ()
                                                              
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:R ;
                                      swrl:argument2          "inferential" ;
                                      swrl:propertyPredicate  gsn:relationshipType
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

schema:version  a  owl:AnnotationProperty .

gsn:contract  a                   owl:DatatypeProperty ;
        rdfs:domain               gsn:Module ;
        rdfs:label                "contract"@en ;
        rdfs:range                xsd:boolean ;
        owl:propertyDisjointWith  gsn:undeveloped ;
        skos:definition           "A contract module is a special type of module that controls the relationship between argument module interfaces using arguments to define how a goal in one module is supported by one or more goals in one or more other modules."@en ;
        skos:note                 "A contract may be described in textual form (e.g. as a table) or for more complex relationships may be described within a contract module using GSN."@en , "Contract modules can be used in the support relationship between modules to aid decoupling. The de-coupling by use of a contract permits argument module construction in cases where the eventual source of support for an argument is unknown at the time of authoring or can be changed for example through re-use or planned product improvement or reconfiguration."@en ;
        gsn:coreOrExtension       "Modular Extension"@en ;
        gsn:renderedAs            "a rectangle with two smaller rectangles (of equal size to each other) adjoining at the top left and bottom right" .

gsn:examples  a              owl:AnnotationProperty ;
        rdfs:domain          gsn:Pattern ;
        rdfs:label           "examples"@en ;
        skos:definition      "It may be useful to provide example illustrations of the application of the pattern, particularly for more abstract patterns. Illustrations should include a typical case and can be supplemented with atypical cases where more than one example is provided."@en ;
        gsn:coreOrExtension  "Argument Pattern Extension"@en .

gsn:away  a                  owl:DatatypeProperty ;
        rdfs:domain          [ a            owl:Class ;
                               owl:unionOf  ( gsn:Assumption gsn:Context gsn:Goal gsn:Justification gsn:Solution )
                             ] ;
        rdfs:label           "away"@en ;
        rdfs:range           xsd:boolean ;
        schema:description   "An away assumption repeats an assumption presented in another argument module and is typically used only in Contract Modules. An away context repeats a reference to context presented in another argument module. An away goal reference repeats a claim presented in another argument module. An away justification repeats a justification presented in another argument module and is typically used only in Contract Modules. An away solution repeats a reference to evidence items presented in another argument module."@en ;
        skos:definition      "An away element reference repeats a claim or evidence presented in another argument module."@en ;
        gsn:coreOrExtension  "Modular Extension"@en ;
        gsn:renderedAs       "bisecting line in the lower half" .

gsn:E2  a       swrl:Variable .

gsn:ArtefactReference
        a                    owl:Class ;
        rdfs:label           "Artefact Reference"@en ;
        rdfs:subClassOf      gsn:GSNElement ;
        gsn:coreOrExtension  "Core GSN"@en .

swrla:isRuleEnabled  a  owl:AnnotationProperty .

gsn:G   a       swrl:Variable .

_:b5    a                   owl:Restriction ;
        owl:onProperty      gsn:statement ;
        owl:someValuesFrom  xsd:string .

skos:definition  a  owl:AnnotationProperty .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S31" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:M ;
                                      swrl:argument2          gsn:B ;
                                      swrl:propertyPredicate  gsn:contains
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                   swrl:argument1          gsn:M ;
                                                   swrl:argument2          gsn:A ;
                                                   swrl:propertyPredicate  gsn:contains
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                                swrl:argument1          gsn:A ;
                                                                swrl:argument2          true ;
                                                                swrl:propertyPredicate  gsn:toBeSupportedByContract
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                             swrl:argument1          gsn:A ;
                                                                             swrl:argument2          gsn:B ;
                                                                             swrl:propertyPredicate  gsn:supportedBy
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                          swrl:argument1          gsn:R ;
                                                                                          swrl:argument2          gsn:A ;
                                                                                          swrl:propertyPredicate  rdf:subject
                                                                                        ] ;
                                                                             rdf:rest   [ a          swrl:AtomList ;
                                                                                          rdf:first  [ a                    swrl:ClassAtom ;
                                                                                                       swrl:argument1       gsn:M ;
                                                                                                       swrl:classPredicate  gsn:Module
                                                                                                     ] ;
                                                                                          rdf:rest   [ a          swrl:AtomList ;
                                                                                                       rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                                    swrl:argument1          gsn:R ;
                                                                                                                    swrl:argument2          gsn:B ;
                                                                                                                    swrl:propertyPredicate  rdf:object
                                                                                                                  ] ;
                                                                                                       rdf:rest   ()
                                                                                                     
                                                                                                     ]
                                                                                        ]
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:R ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:valid
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

gsn:coreOrExtension  a   owl:AnnotationProperty ;
        rdfs:label       "core or extension"@en ;
        skos:definition  "Indicator of the sourcing section in the GSN Community Standard v3."@en .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S12" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:B ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:valid
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                   swrl:argument1          gsn:A ;
                                                   swrl:argument2          true ;
                                                   swrl:propertyPredicate  gsn:valid
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:C ;
                                                                swrl:argument2          gsn:B ;
                                                                swrl:propertyPredicate  gsn:supportedBy
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                             swrl:argument1          gsn:C ;
                                                                             swrl:argument2          gsn:A ;
                                                                             swrl:propertyPredicate  gsn:supportedBy
                                                                           ] ;
                                                                rdf:rest   ()
                                                              
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:C ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:valid
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

gsn:X   a       swrl:Variable .

_:b6    a                   owl:Restriction ;
        owl:onProperty      gsn:statement ;
        owl:someValuesFrom  xsd:string .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S37" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                    swrl:ClassAtom ;
                                      swrl:argument1       gsn:M3 ;
                                      swrl:classPredicate  gsn:Module
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                    swrl:ClassAtom ;
                                                   swrl:argument1       gsn:M1 ;
                                                   swrl:classPredicate  gsn:Module
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                    swrl:ClassAtom ;
                                                                swrl:argument1       gsn:M2 ;
                                                                swrl:classPredicate  gsn:Module
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a               swrl:BuiltinAtom ;
                                                                             swrl:arguments  ( gsn:M3 gsn:M1 ) ;
                                                                             swrl:builtin    swrlb:notEqual
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                          swrl:argument1          gsn:M1 ;
                                                                                          swrl:argument2          gsn:M2 ;
                                                                                          swrl:propertyPredicate  gsn:supportedBy
                                                                                        ] ;
                                                                             rdf:rest   [ a          swrl:AtomList ;
                                                                                          rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                       swrl:argument1          gsn:M2 ;
                                                                                                       swrl:argument2          gsn:M3 ;
                                                                                                       swrl:propertyPredicate  gsn:supportedBy
                                                                                                     ] ;
                                                                                          rdf:rest   [ a          swrl:AtomList ;
                                                                                                       rdf:first  [ a               swrl:BuiltinAtom ;
                                                                                                                    swrl:arguments  ( gsn:M1 gsn:M2 ) ;
                                                                                                                    swrl:builtin    swrlb:notEqual
                                                                                                                  ] ;
                                                                                                       rdf:rest   [ a          swrl:AtomList ;
                                                                                                                    rdf:first  [ a               swrl:BuiltinAtom ;
                                                                                                                                 swrl:arguments  ( gsn:M2 gsn:M3 ) ;
                                                                                                                                 swrl:builtin    swrlb:notEqual
                                                                                                                               ] ;
                                                                                                                    rdf:rest   [ a          swrl:AtomList ;
                                                                                                                                 rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                                                              swrl:argument1          gsn:M3 ;
                                                                                                                                              swrl:argument2          gsn:M1 ;
                                                                                                                                              swrl:propertyPredicate  gsn:supportedBy
                                                                                                                                            ] ;
                                                                                                                                 rdf:rest   ()
                                                                                                                               
                                                                                                                               ]
                                                                                                                  ]
                                                                                                     ]
                                                                                        ]
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:M1 ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:valid
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                   swrl:argument1          gsn:M3 ;
                                                   swrl:argument2          false ;
                                                   swrl:propertyPredicate  gsn:valid
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                                swrl:argument1          gsn:M2 ;
                                                                swrl:argument2          false ;
                                                                swrl:propertyPredicate  gsn:valid
                                                              ] ;
                                                   rdf:rest   ()
                                                 
                                                 ]
                                    ]
                       ]
] .

gsn:renderedAs  a            owl:AnnotationProperty ;
        rdfs:label           "rendered as"@en ;
        gsn:coreOrExtension  "Core GSN"@en .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S19" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:A ;
                                      swrl:argument2          gsn:B ;
                                      swrl:propertyPredicate  gsn:inContextOf
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a               swrl:BuiltinAtom ;
                                                   swrl:arguments  ( gsn:B gsn:R ) ;
                                                   swrl:builtin    <http://swrl.stanford.edu/ontologies/built-ins/3.3/swrlx.owl#makeOWLThing>
                                                 ] ;
                                      rdf:rest   ()
                                    
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:R ;
                                      swrl:argument2          gsn:A ;
                                      swrl:propertyPredicate  rdf:subject
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                    swrl:ClassAtom ;
                                                   swrl:argument1       gsn:R ;
                                                   swrl:classPredicate  gsn:Relationship
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:R ;
                                                                swrl:argument2          gsn:B ;
                                                                swrl:propertyPredicate  rdf:object
                                                              ] ;
                                                   rdf:rest   ()
                                                 
                                                 ]
                                    ]
                       ]
] .

gsn:attachedTo  a            owl:ObjectProperty ;
        rdfs:domain          gsn:InstantiationDataReference ;
        rdfs:label           "attached to"@en ;
        rdfs:range           gsn:Template ;
        gsn:coreOrExtension  "Argument Pattern Extension"@en ;
        gsn:renderedAs       "dotted line" .

gsn:relationshipType  a      owl:DatatypeProperty ;
        rdfs:domain          gsn:Relationship ;
        rdfs:label           "relationship type"@en ;
        rdfs:range           [ a          rdfs:Datatype ;
                               owl:oneOf  [ a          rdf:List ;
                                            rdf:first  "contextual" ;
                                            rdf:rest   [ a          rdf:List ;
                                                         rdf:first  "evidential" ;
                                                         rdf:rest   [ a          rdf:List ;
                                                                      rdf:first  "inferential" ;
                                                                      rdf:rest   ()
                                                                    
                                                                    ]
                                                       ]
                                          ]
                             ] ;
        skos:definition      "SupportedBy relationships – represented by lines with solid arrowheads – indicate inferential or evidential relationships between elements. InContextOf relationships – represented as lines with hollow arrowheads – declare contextual relationships."@en , "An evidential relationship is a declared relationship between a claim and an evidence item by which the claim is substantiated. An inferential relationship is a declared inference between claims in the argument. A contextual relationship draws attention to explanatory contextual information."@en ;
        gsn:coreOrExtension  "Core GSN"@en .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S49" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:G ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:undeveloped
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                   swrl:argument1          gsn:G ;
                                                   swrl:argument2          gsn:E ;
                                                   swrl:propertyPredicate  gsn:challenges
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                    swrl:ClassAtom ;
                                                                swrl:argument1       gsn:G ;
                                                                swrl:classPredicate  gsn:Goal
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                                             swrl:argument1          gsn:E ;
                                                                             swrl:argument2          true ;
                                                                             swrl:propertyPredicate  gsn:inDoubt
                                                                           ] ;
                                                                rdf:rest   ()
                                                              
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:E ;
                                      swrl:argument2          true ;
                                      swrl:propertyPredicate  gsn:defeated
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

gsn:B   a       swrl:Variable .

gsn:structure  a             owl:AnnotationProperty ;
        rdfs:domain          gsn:Pattern ;
        rdfs:label           "structure"@en ;
        skos:definition      "The structure uses the structural and element abstraction notations to present the pattern, clearly indicating where the argument needs to be further developed or populated with details to instantiate the pattern for a specific case."@en ;
        gsn:coreOrExtension  "Argument Pattern Extension"@en .

schema:disclaimer  a  owl:AnnotationProperty .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S27" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:A ;
                                      swrl:argument2          gsn:M1 ;
                                      swrl:propertyPredicate  gsn:inContextOf
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                   swrl:argument1          gsn:R ;
                                                   swrl:argument2          gsn:M1 ;
                                                   swrl:propertyPredicate  rdf:object
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                    swrl:ClassAtom ;
                                                                swrl:argument1       gsn:M1 ;
                                                                swrl:classPredicate  gsn:Module
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                    swrl:ClassAtom ;
                                                                             swrl:argument1       gsn:M2 ;
                                                                             swrl:classPredicate  gsn:Module
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                          swrl:argument1          gsn:M2 ;
                                                                                          swrl:argument2          gsn:A ;
                                                                                          swrl:propertyPredicate  gsn:contains
                                                                                        ] ;
                                                                             rdf:rest   [ a          swrl:AtomList ;
                                                                                          rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                       swrl:argument1          gsn:R ;
                                                                                                       swrl:argument2          gsn:A ;
                                                                                                       swrl:propertyPredicate  rdf:subject
                                                                                                     ] ;
                                                                                          rdf:rest   [ a          swrl:AtomList ;
                                                                                                       rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                                                                                    swrl:argument1          gsn:M2 ;
                                                                                                                    swrl:argument2          true ;
                                                                                                                    swrl:propertyPredicate  gsn:contract
                                                                                                                  ] ;
                                                                                                       rdf:rest   ()
                                                                                                     
                                                                                                     ]
                                                                                        ]
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:R ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:valid
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

gsn:S   a       swrl:Variable .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S40" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:A ;
                                      swrl:argument2          true ;
                                      swrl:propertyPredicate  gsn:assuranceClaimPoint
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                    swrl:ClassAtom ;
                                                   swrl:argument1       gsn:A ;
                                                   swrl:classPredicate  gsn:ArtefactReference
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a               swrl:BuiltinAtom ;
                                                                swrl:arguments  ( gsn:A gsn:R ) ;
                                                                swrl:builtin    <http://swrl.stanford.edu/ontologies/built-ins/3.3/swrlx.owl#makeOWLThing>
                                                              ] ;
                                                   rdf:rest   ()
                                                 
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                    swrl:ClassAtom ;
                                      swrl:argument1       gsn:R ;
                                      swrl:classPredicate  gsn:RelationshipWithConfidence
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                   swrl:argument1          gsn:R ;
                                                   swrl:argument2          gsn:A ;
                                                   swrl:propertyPredicate  rdf:subject
                                                 ] ;
                                      rdf:rest   ()
                                    
                                    ]
                       ]
] .

dc:title  a     owl:AnnotationProperty .

schema:url  a   owl:AnnotationProperty .

gsn:consistentWith  a        owl:SymmetricProperty , owl:ObjectProperty ;
        rdfs:domain          [ a            owl:Class ;
                               owl:unionOf  ( gsn:Assumption gsn:Context )
                             ] ;
        rdfs:label           "consistent with"@en ;
        rdfs:range           [ a            owl:Class ;
                               owl:unionOf  ( gsn:Assumption gsn:Context )
                             ] ;
        skos:definition      "By making the relationship to the away goal the author is asserting not only the inference of support for the parent goal, but also that the context in which the away goal is declared is consistent with the context and assumptions in scope for the parent goal." ;
        gsn:coreOrExtension  "Modular Extension"@en .

<urn:swrl:var#B>  a  swrl:Variable .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S17" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          <urn:swrl:var#B> ;
                                      swrl:argument2          <urn:swrl:var#C> ;
                                      swrl:propertyPredicate  gsn:supportedBy
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                   swrl:argument1          <urn:swrl:var#B> ;
                                                   swrl:argument2          <urn:swrl:var#A> ;
                                                   swrl:propertyPredicate  gsn:inContextOf
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                    swrl:ClassAtom ;
                                                                swrl:argument1       <urn:swrl:var#A> ;
                                                                swrl:classPredicate  gsn:Assumption
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                    swrl:ClassAtom ;
                                                                             swrl:argument1       <urn:swrl:var#C> ;
                                                                             swrl:classPredicate  gsn:Goal
                                                                           ] ;
                                                                rdf:rest   ()
                                                              
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          <urn:swrl:var#C> ;
                                      swrl:argument2          <urn:swrl:var#A> ;
                                      swrl:propertyPredicate  gsn:inContextOf
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

gsn:R3  a       swrl:Variable .

gsn:N   a       swrl:Variable .

gsn:G3  a       swrl:Variable .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S25" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:M ;
                                      swrl:argument2          gsn:B ;
                                      swrl:propertyPredicate  gsn:contains
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                   swrl:argument1          gsn:M ;
                                                   swrl:argument2          gsn:A ;
                                                   swrl:propertyPredicate  gsn:contains
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                                swrl:argument1          gsn:A ;
                                                                swrl:argument2          gsn:ID ;
                                                                swrl:propertyPredicate  schema:identifier
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                    swrl:ClassAtom ;
                                                                             swrl:argument1       gsn:M ;
                                                                             swrl:classPredicate  gsn:Module
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a               swrl:BuiltinAtom ;
                                                                                          swrl:arguments  ( gsn:A gsn:B ) ;
                                                                                          swrl:builtin    swrlb:notEqual
                                                                                        ] ;
                                                                             rdf:rest   [ a          swrl:AtomList ;
                                                                                          rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                                                                       swrl:argument1          gsn:B ;
                                                                                                       swrl:argument2          gsn:ID ;
                                                                                                       swrl:propertyPredicate  schema:identifier
                                                                                                     ] ;
                                                                                          rdf:rest   ()
                                                                                        
                                                                                        ]
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:A ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:valid
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                   swrl:argument1          gsn:B ;
                                                   swrl:argument2          false ;
                                                   swrl:propertyPredicate  gsn:valid
                                                 ] ;
                                      rdf:rest   ()
                                    
                                    ]
                       ]
] .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S44" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:G ;
                                      swrl:argument2          gsn:S2 ;
                                      swrl:propertyPredicate  gsn:supportedBy
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                    swrl:ClassAtom ;
                                                   swrl:argument1       gsn:S1 ;
                                                   swrl:classPredicate  gsn:Solution
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:R1 ;
                                                                swrl:argument2          gsn:S1 ;
                                                                swrl:propertyPredicate  rdf:object
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                    swrl:ClassAtom ;
                                                                             swrl:argument1       gsn:R1 ;
                                                                             swrl:classPredicate  gsn:RelationshipWithConfidence
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a               swrl:BuiltinAtom ;
                                                                                          swrl:arguments  ( gsn:S2 gsn:R2 ) ;
                                                                                          swrl:builtin    <http://swrl.stanford.edu/ontologies/built-ins/3.3/swrlx.owl#makeOWLThing>
                                                                                        ] ;
                                                                             rdf:rest   [ a          swrl:AtomList ;
                                                                                          rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                       swrl:argument1          gsn:G ;
                                                                                                       swrl:argument2          gsn:S1 ;
                                                                                                       swrl:propertyPredicate  gsn:supportedBy
                                                                                                     ] ;
                                                                                          rdf:rest   [ a          swrl:AtomList ;
                                                                                                       rdf:first  [ a                    swrl:ClassAtom ;
                                                                                                                    swrl:argument1       gsn:G ;
                                                                                                                    swrl:classPredicate  gsn:Goal
                                                                                                                  ] ;
                                                                                                       rdf:rest   [ a          swrl:AtomList ;
                                                                                                                    rdf:first  [ a               swrl:BuiltinAtom ;
                                                                                                                                 swrl:arguments  ( gsn:S1 gsn:S2 ) ;
                                                                                                                                 swrl:builtin    swrlb:notEqual
                                                                                                                               ] ;
                                                                                                                    rdf:rest   [ a          swrl:AtomList ;
                                                                                                                                 rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                                                              swrl:argument1          gsn:R1 ;
                                                                                                                                              swrl:argument2          gsn:A ;
                                                                                                                                              swrl:propertyPredicate  gsn:associatedWith
                                                                                                                                            ] ;
                                                                                                                                 rdf:rest   [ a          swrl:AtomList ;
                                                                                                                                              rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                                                                           swrl:argument1          gsn:R1 ;
                                                                                                                                                           swrl:argument2          gsn:G ;
                                                                                                                                                           swrl:propertyPredicate  rdf:subject
                                                                                                                                                         ] ;
                                                                                                                                              rdf:rest   [ a          swrl:AtomList ;
                                                                                                                                                           rdf:first  [ a                    swrl:ClassAtom ;
                                                                                                                                                                        swrl:argument1       gsn:S2 ;
                                                                                                                                                                        swrl:classPredicate  gsn:Solution
                                                                                                                                                                      ] ;
                                                                                                                                                           rdf:rest   ()
                                                                                                                                                         
                                                                                                                                                         ]
                                                                                                                                            ]
                                                                                                                               ]
                                                                                                                  ]
                                                                                                     ]
                                                                                        ]
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:R2 ;
                                      swrl:argument2          gsn:S2 ;
                                      swrl:propertyPredicate  rdf:object
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                    swrl:ClassAtom ;
                                                   swrl:argument1       gsn:R2 ;
                                                   swrl:classPredicate  gsn:RelationshipWithConfidence
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:R2 ;
                                                                swrl:argument2          gsn:G ;
                                                                swrl:propertyPredicate  rdf:subject
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                             swrl:argument1          gsn:R2 ;
                                                                             swrl:argument2          gsn:A ;
                                                                             swrl:propertyPredicate  gsn:associatedWith
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                                                          swrl:argument1          gsn:R2 ;
                                                                                          swrl:argument2          true ;
                                                                                          swrl:propertyPredicate  gsn:assuranceClaimPoint
                                                                                        ] ;
                                                                             rdf:rest   ()
                                                                           
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ]
] .

dc:issued  a    owl:AnnotationProperty .

gsn:M2  a       swrl:Variable .

gsn:top  a                   owl:DatatypeProperty ;
        rdfs:domain          gsn:Goal ;
        rdfs:label           "top (goal)"@en ;
        rdfs:range           xsd:boolean ;
        skos:definition      "The top goal presents the overall claim asserted by the author and it is up to the reader to determine their belief that it is adequately supported."@en , "A GSN Goal that presents the pinnacle claim in an argument. It is ‘top’ in terms of the argument hierarchy, rather than necessarily its physical layout. There may be more than one top goal in a GSN structure."@en ;
        gsn:coreOrExtension  "Core GSN"@en .

_:b0    a                   owl:Restriction ;
        owl:onProperty      gsn:statement ;
        owl:someValuesFrom  xsd:string .

[ a                    owl:Class ;
  owl:equivalentClass  [ a               owl:Restriction ;
                         owl:hasValue    true ;
                         owl:onProperty  gsn:top
                       ] ;
  owl:intersectionOf   ( gsn:Goal [ a                 owl:Class ;
                                    owl:complementOf  [ a                   owl:Restriction ;
                                                        owl:onProperty      [ owl:inverseOf  gsn:supportedBy ] ;
                                                        owl:someValuesFrom  gsn:Goal
                                                      ]
                                  ] )
] .

schema:description  a  owl:DatatypeProperty , owl:AnnotationProperty .

dc:description  a  owl:AnnotationProperty .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S7" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:R3 ;
                                      swrl:argument2          gsn:A ;
                                      swrl:propertyPredicate  rdf:object
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                   swrl:argument1          gsn:R1 ;
                                                   swrl:argument2          gsn:A ;
                                                   swrl:propertyPredicate  rdf:subject
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:R2 ;
                                                                swrl:argument2          gsn:B ;
                                                                swrl:propertyPredicate  rdf:subject
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                             swrl:argument1          gsn:R3 ;
                                                                             swrl:argument2          gsn:C ;
                                                                             swrl:propertyPredicate  rdf:subject
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                          swrl:argument1          gsn:R3 ;
                                                                                          swrl:argument2          gsn:P ;
                                                                                          swrl:propertyPredicate  rdf:predicate
                                                                                        ] ;
                                                                             rdf:rest   [ a          swrl:AtomList ;
                                                                                          rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                       swrl:argument1          gsn:R2 ;
                                                                                                       swrl:argument2          gsn:P ;
                                                                                                       swrl:propertyPredicate  rdf:predicate
                                                                                                     ] ;
                                                                                          rdf:rest   [ a          swrl:AtomList ;
                                                                                                       rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                                    swrl:argument1          gsn:R1 ;
                                                                                                                    swrl:argument2          gsn:B ;
                                                                                                                    swrl:propertyPredicate  rdf:object
                                                                                                                  ] ;
                                                                                                       rdf:rest   [ a          swrl:AtomList ;
                                                                                                                    rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                                                 swrl:argument1          gsn:R2 ;
                                                                                                                                 swrl:argument2          gsn:C ;
                                                                                                                                 swrl:propertyPredicate  rdf:object
                                                                                                                               ] ;
                                                                                                                    rdf:rest   [ a          swrl:AtomList ;
                                                                                                                                 rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                                                              swrl:argument1          gsn:R1 ;
                                                                                                                                              swrl:argument2          gsn:P ;
                                                                                                                                              swrl:propertyPredicate  rdf:predicate
                                                                                                                                            ] ;
                                                                                                                                 rdf:rest   ()
                                                                                                                               
                                                                                                                               ]
                                                                                                                  ]
                                                                                                     ]
                                                                                        ]
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:R1 ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:valid
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                   swrl:argument1          gsn:R2 ;
                                                   swrl:argument2          false ;
                                                   swrl:propertyPredicate  gsn:valid
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                                swrl:argument1          gsn:R3 ;
                                                                swrl:argument2          false ;
                                                                swrl:propertyPredicate  gsn:valid
                                                              ] ;
                                                   rdf:rest   ()
                                                 
                                                 ]
                                    ]
                       ]
] .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S26" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:R ;
                                      swrl:argument2          gsn:M1 ;
                                      swrl:propertyPredicate  rdf:object
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                    swrl:ClassAtom ;
                                                   swrl:argument1       gsn:M1 ;
                                                   swrl:classPredicate  gsn:Module
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                    swrl:ClassAtom ;
                                                                swrl:argument1       gsn:M2 ;
                                                                swrl:classPredicate  gsn:Module
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                             swrl:argument1          gsn:M2 ;
                                                                             swrl:argument2          gsn:A ;
                                                                             swrl:propertyPredicate  gsn:contains
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                          swrl:argument1          gsn:A ;
                                                                                          swrl:argument2          gsn:M1 ;
                                                                                          swrl:propertyPredicate  gsn:supportedBy
                                                                                        ] ;
                                                                             rdf:rest   [ a          swrl:AtomList ;
                                                                                          rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                       swrl:argument1          gsn:R ;
                                                                                                       swrl:argument2          gsn:A ;
                                                                                                       swrl:propertyPredicate  rdf:subject
                                                                                                     ] ;
                                                                                          rdf:rest   [ a          swrl:AtomList ;
                                                                                                       rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                                                                                    swrl:argument1          gsn:M2 ;
                                                                                                                    swrl:argument2          true ;
                                                                                                                    swrl:propertyPredicate  gsn:contract
                                                                                                                  ] ;
                                                                                                       rdf:rest   ()
                                                                                                     
                                                                                                     ]
                                                                                        ]
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:R ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:valid
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

gsn:S1  a       swrl:Variable .

gsn:toBeSupportedByContract
        a                         owl:DatatypeProperty ;
        rdfs:domain               gsn:Goal ;
        rdfs:label                "to be supported by contract"@en ;
        rdfs:range                xsd:boolean ;
        owl:propertyDisjointWith  gsn:undeveloped ;
        gsn:coreOrExtension       "Modular Extension"@en ;
        gsn:renderedAs            "attached centrally immediately below the goal to which it relates" .

gsn:true  a                  owl:DatatypeProperty ;
        rdfs:domain          gsn:GSNElement ;
        rdfs:label           "true"@en ;
        rdfs:range           xsd:boolean ;
        gsn:coreOrExtension  "Core GSN"@en .

gsn:collaboration  a         owl:AnnotationProperty ;
        rdfs:domain          gsn:Pattern ;
        rdfs:label           "collaboration"@en ;
        skos:definition      "The collaboration section should describe how elements of the pattern work together to achieve the desired effect, particularly where there are links that are not readily apparent from the argument structure."@en ;
        gsn:coreOrExtension  "Argument Pattern Extension"@en .

gsn:D   a       swrl:Variable .

gsn:offDiagram  a            owl:DatatypeProperty ;
        rdfs:domain          gsn:GSNElement ;
        rdfs:label           "off-diagram"@en ;
        rdfs:range           xsd:boolean ;
        gsn:coreOrExtension  "Core GSN"@en .

gsn:instantiationOf  a       owl:ObjectProperty ;
        rdfs:domain          [ a            owl:Class ;
                               owl:unionOf  ( gsn:Argument gsn:GSNElement )
                             ] ;
        rdfs:label           "instantiation of"@en ;
        rdfs:range           gsn:Pattern ;
        gsn:coreOrExtension  "Argument Pattern Extension"@en .

gsn:Pattern  a               owl:Class ;
        rdfs:label           "Pattern"@en ;
        rdfs:subClassOf      [ a                   owl:Restriction ;
                               owl:onProperty      schema:description ;
                               owl:someValuesFrom  rdfs:Literal
                             ] ;
        gsn:coreOrExtension  "Argument Pattern Extension"@en .

gsn:inContextOf  a           owl:IrreflexiveProperty , owl:AsymmetricProperty , owl:ObjectProperty ;
        rdfs:domain          [ a            owl:Class ;
                               owl:unionOf  ( gsn:Goal gsn:Strategy )
                             ] ;
        rdfs:label           "in context of"@en ;
        rdfs:range           [ a            owl:Class ;
                               owl:unionOf  ( gsn:Assumption gsn:Context gsn:Justification gsn:Module )
                             ] ;
        skos:definition      "InContextOf, rendered as a line with a hollow arrowhead, declares a contextual relationship."@en ;
        gsn:coreOrExtension  "Core GSN"@en ;
        gsn:renderedAs       "line with a hollow arrowhead" .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S3" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                    swrl:ClassAtom ;
                                      swrl:argument1       gsn:B ;
                                      swrl:classPredicate  gsn:Solution
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                   swrl:argument1          gsn:A ;
                                                   swrl:argument2          gsn:B ;
                                                   swrl:propertyPredicate  gsn:supportedBy
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:R ;
                                                                swrl:argument2          gsn:A ;
                                                                swrl:propertyPredicate  rdf:subject
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                             swrl:argument1          gsn:R ;
                                                                             swrl:argument2          gsn:B ;
                                                                             swrl:propertyPredicate  rdf:object
                                                                           ] ;
                                                                rdf:rest   ()
                                                              
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:R ;
                                      swrl:argument2          "evidential" ;
                                      swrl:propertyPredicate  gsn:relationshipType
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

gsn:substitutedBy  a         owl:ObjectProperty ;
        rdfs:domain          gsn:Justification ;
        rdfs:label           "substituted by"@en ;
        rdfs:range           [ a                   owl:Class ;
                               owl:intersectionOf  ( gsn:Goal [ a               owl:Restriction ;
                                                                owl:hasValue    true ;
                                                                owl:onProperty  gsn:away
                                                              ] )
                             ] ;
        skos:definition      "There may be occasions when a goal or strategy requires fuller justification than can be provided within the confines of a GSN justification element. In such cases, an away goal can be substituted for the justification."@en ;
        gsn:coreOrExtension  "Modular Extension"@en .

terms:bibliographicCitation
        a       owl:AnnotationProperty .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S1" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                    swrl:ClassAtom ;
                                      swrl:argument1       gsn:A ;
                                      swrl:classPredicate  gsn:Assumption
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                   swrl:argument1          gsn:A ;
                                                   swrl:argument2          false ;
                                                   swrl:propertyPredicate  gsn:valid
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:B ;
                                                                swrl:argument2          gsn:A ;
                                                                swrl:propertyPredicate  gsn:inContextOf
                                                              ] ;
                                                   rdf:rest   ()
                                                 
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:B ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:valid
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

dc:identifier  a  owl:AnnotationProperty .

<https://w3id.org/OntoGSN/ontology>
        a                              owl:Ontology ;
        cc:license                     "https://creativecommons.org/licenses/by/4.0/" ;
        dc:contributor                 "Barbara Gallina, Dian Balta, Ingmar Kessler"@en ;
        dc:creator                     "Standard: The Assurance Case Working Group (ACWG)"@en , "Tomas Bueno Momčilović"@en ;
        dc:description                 "OntoGSN is an ontology for managing assurance cases in the Goal Structuring Notation (GSN). The goal of the ontology is to help users in linking the elements of their cases - claims and evidence - with the internationalized resource identifiers (IRIs) of represented concepts, events and data, and in evaluating the validity of their argument."@en ;
        dc:identifier                  "SCSC-141C" ;
        dc:issued                      "2025-02-24"^^xsd:date ;
        dc:modified                    "2025-06-19T00:00:00Z" ;
        dc:publisher                   "https://www.fortiss.org/"@en ;
        dc:source                      "The Assurance Case Working Group (ACWG). (2021 May). Goal Structuring Notation Community Standard Version 3. URL: http://scsc.uk/SCSC-141C"@en ;
        dc:title                       "OntoGSN"@en ;
        terms:bibliographicCitation    "Bueno Momcilovic, T., Kessler, I., Gallina, B., & Balta, D. (2025). OntoGSN: An Ontology for Dynamic Management of Assurance Cases." ;
        terms:created                  "20th February 2025"@en ;
        vann:preferredNamespacePrefix  "gsn" ;
        schema:disclaimer              "[Disclaimer from the GSN Community Standard v3.0]: While the authors and the publishers have used reasonable endeavours to ensure that the information and guidance given in this work is correct, all parties must rely on their own skill and judgement when making use of this work and obtain professional or specialist advice before taking, or refraining from, any action on the basis of the content of this work. Neither the authors nor the publishers make any representations or warranties of any kind, express or implied, about the completeness, accuracy, reliability, suitability or availability with respect to such information and guidance for any purpose, and they will not be liable for any loss or damage including without limitation, indirect or consequential loss or damage, or any loss or damage whatsoever (including as a result of negligence) arising out of, or in connection with, the use of this work. The views and opinions expressed in this publication are those of the authors and do not necessarily reflect those of their employers, the SCSC1 or other organisations."@en ;
        schema:url                     "https://w3id.org/OntoGSN/"^^xsd:anyURI ;
        schema:version                 3.0 ;
        owl:versionInfo                1.2 ;
        skos:definition                "GSN is a graphical argument notation which can be used to document explicitly the elements and structure of an argument and the argument’s relationship to evidence."@en .

gsn:AssuranceCase  a         owl:Class ;
        rdfs:label           "Assurance Case"@en ;
        rdfs:subClassOf      [ a                  owl:Restriction ;
                               owl:allValuesFrom  [ a            owl:Class ;
                                                    owl:unionOf  ( gsn:Argument gsn:Artefact )
                                                  ] ;
                               owl:onProperty     gsn:contains
                             ] ;
        rdfs:subClassOf      [ a                   owl:Restriction ;
                               owl:onProperty      gsn:contains ;
                               owl:someValuesFrom  gsn:Artefact
                             ] ;
        rdfs:subClassOf      [ a                   owl:Restriction ;
                               owl:onProperty      gsn:contains ;
                               owl:someValuesFrom  gsn:Argument
                             ] ;
        skos:definition      "Arguments and evidence intended to demonstrate that a system meets its assurance requirements."@en , "A reasoned and compelling argument, supported by a body of evidence, that a system, service or organisation will operate as intended for a defined application in a defined environment."@en ;
        gsn:coreOrExtension  "Core GSN"@en .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S51" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:D ;
                                      swrl:argument2          gsn:R ;
                                      swrl:propertyPredicate  gsn:challenges
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                   swrl:argument1          gsn:R ;
                                                   swrl:argument2          gsn:G3 ;
                                                   swrl:propertyPredicate  rdf:subject
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:R ;
                                                                swrl:argument2          gsn:G1 ;
                                                                swrl:propertyPredicate  rdf:object
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                    swrl:ClassAtom ;
                                                                             swrl:argument1       gsn:G1 ;
                                                                             swrl:classPredicate  gsn:Goal
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a                    swrl:ClassAtom ;
                                                                                          swrl:argument1       gsn:G3 ;
                                                                                          swrl:classPredicate  gsn:Goal
                                                                                        ] ;
                                                                             rdf:rest   [ a          swrl:AtomList ;
                                                                                          rdf:first  [ a               swrl:BuiltinAtom ;
                                                                                                       swrl:arguments  ( gsn:G3 gsn:S ) ;
                                                                                                       swrl:builtin    <http://swrl.stanford.edu/ontologies/built-ins/3.3/swrlx.owl#makeOWLThing>
                                                                                                     ] ;
                                                                                          rdf:rest   [ a          swrl:AtomList ;
                                                                                                       rdf:first  [ a                    swrl:ClassAtom ;
                                                                                                                    swrl:argument1       gsn:G2 ;
                                                                                                                    swrl:classPredicate  gsn:Goal
                                                                                                                  ] ;
                                                                                                       rdf:rest   [ a          swrl:AtomList ;
                                                                                                                    rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                                                 swrl:argument1          gsn:G3 ;
                                                                                                                                 swrl:argument2          gsn:G1 ;
                                                                                                                                 swrl:propertyPredicate  gsn:supportedBy
                                                                                                                               ] ;
                                                                                                                    rdf:rest   [ a          swrl:AtomList ;
                                                                                                                                 rdf:first  [ a               swrl:BuiltinAtom ;
                                                                                                                                              swrl:arguments  ( gsn:G1 gsn:G2 ) ;
                                                                                                                                              swrl:builtin    swrlb:notEqual
                                                                                                                                            ] ;
                                                                                                                                 rdf:rest   ()
                                                                                                                               
                                                                                                                               ]
                                                                                                                  ]
                                                                                                     ]
                                                                                        ]
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:S ;
                                      swrl:argument2          gsn:G2 ;
                                      swrl:propertyPredicate  gsn:supportedBy
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                   swrl:argument1          gsn:G3 ;
                                                   swrl:argument2          gsn:S ;
                                                   swrl:propertyPredicate  gsn:supportedBy
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                                swrl:argument1          gsn:D ;
                                                                swrl:argument2          false ;
                                                                swrl:propertyPredicate  gsn:valid
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                             swrl:argument1          gsn:S ;
                                                                             swrl:argument2          gsn:G1 ;
                                                                             swrl:propertyPredicate  gsn:supportedBy
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                          swrl:argument1          gsn:D ;
                                                                                          swrl:argument2          gsn:S ;
                                                                                          swrl:propertyPredicate  gsn:challenges
                                                                                        ] ;
                                                                             rdf:rest   [ a          swrl:AtomList ;
                                                                                          rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                                                                       swrl:argument1          gsn:S ;
                                                                                                       swrl:argument2          false ;
                                                                                                       swrl:propertyPredicate  gsn:valid
                                                                                                     ] ;
                                                                                          rdf:rest   [ a          swrl:AtomList ;
                                                                                                       rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                                                                                    swrl:argument1          gsn:R ;
                                                                                                                    swrl:argument2          false ;
                                                                                                                    swrl:propertyPredicate  gsn:valid
                                                                                                                  ] ;
                                                                                                       rdf:rest   [ a          swrl:AtomList ;
                                                                                                                    rdf:first  [ a                    swrl:ClassAtom ;
                                                                                                                                 swrl:argument1       gsn:S ;
                                                                                                                                 swrl:classPredicate  gsn:Strategy
                                                                                                                               ] ;
                                                                                                                    rdf:rest   ()
                                                                                                                  
                                                                                                                  ]
                                                                                                     ]
                                                                                        ]
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ]
] .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S35" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                    swrl:ClassAtom ;
                                      swrl:argument1       gsn:M1 ;
                                      swrl:classPredicate  gsn:Module
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                    swrl:ClassAtom ;
                                                   swrl:argument1       gsn:M2 ;
                                                   swrl:classPredicate  gsn:Module
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:M1 ;
                                                                swrl:argument2          gsn:E1 ;
                                                                swrl:propertyPredicate  gsn:contains
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                             swrl:argument1          gsn:M2 ;
                                                                             swrl:argument2          gsn:E2 ;
                                                                             swrl:propertyPredicate  gsn:contains
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                          swrl:argument1          gsn:E1 ;
                                                                                          swrl:argument2          gsn:E2 ;
                                                                                          swrl:propertyPredicate  gsn:inContextOf
                                                                                        ] ;
                                                                             rdf:rest   [ a          swrl:AtomList ;
                                                                                          rdf:first  [ a               swrl:BuiltinAtom ;
                                                                                                       swrl:arguments  ( gsn:M1 gsn:M2 ) ;
                                                                                                       swrl:builtin    swrlb:notEqual
                                                                                                     ] ;
                                                                                          rdf:rest   ()
                                                                                        
                                                                                        ]
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:M1 ;
                                      swrl:argument2          gsn:M2 ;
                                      swrl:propertyPredicate  gsn:inContextOf
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

xsd:date  a     rdfs:Datatype .

gsn:Context  a               owl:Class ;
        rdfs:label           "Context"@en ;
        rdfs:subClassOf      _:b6 , gsn:ArtefactReference ;
        skos:definition      "A context, rendered as shown left, presents a contextual artefact. This can be a reference to contextual information, or a statement."@en ;
        gsn:coreOrExtension  "Core GSN"@en ;
        gsn:renderedAs       "rounded rectangle"@en .

gsn:uninstantiated  a        owl:DatatypeProperty ;
        rdfs:domain          gsn:GSNElement ;
        rdfs:label           "uninstantiated"@en ;
        rdfs:range           xsd:boolean ;
        gsn:coreOrExtension  "Argument Pattern Extension"@en ;
        gsn:renderedAs       "hollow triangle" .

terms:created  a  owl:AnnotationProperty .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S8" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:A ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:true
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                   swrl:argument1          gsn:B ;
                                                   swrl:argument2          true ;
                                                   swrl:propertyPredicate  gsn:true
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:B ;
                                                                swrl:argument2          gsn:A ;
                                                                swrl:propertyPredicate  gsn:supportedBy
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                    swrl:ClassAtom ;
                                                                             swrl:argument1       gsn:A ;
                                                                             swrl:classPredicate  gsn:Goal
                                                                           ] ;
                                                                rdf:rest   ()
                                                              
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:B ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:valid
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

gsn:inDoubt  a               owl:DatatypeProperty ;
        rdfs:domain          [ a            owl:Class ;
                               owl:unionOf  ( gsn:AssuranceCase gsn:GSNElement gsn:Relationship )
                             ] ;
        rdfs:label           "in doubt"@en ;
        rdfs:range           xsd:boolean ;
        skos:definition      "The dialectic challenge within this structure asserts that if the claim presented in Goal CG1 is true then this is sufficient to establish that the claim in Goal G1 in the original structure is in doubt."@en ;
        gsn:coreOrExtension  "Dialectic Extension"@en .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S21" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                    swrl:ClassAtom ;
                                      swrl:argument1       gsn:A ;
                                      swrl:classPredicate  gsn:Template
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                   swrl:argument1          gsn:R ;
                                                   swrl:argument2          true ;
                                                   swrl:propertyPredicate  gsn:undeveloped
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:R ;
                                                                swrl:argument2          gsn:A ;
                                                                swrl:propertyPredicate  rdf:subject
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                                             swrl:argument1          gsn:A ;
                                                                             swrl:argument2          true ;
                                                                             swrl:propertyPredicate  gsn:published
                                                                           ] ;
                                                                rdf:rest   ()
                                                              
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:A ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:valid
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                   swrl:argument1          gsn:R ;
                                                   swrl:argument2          false ;
                                                   swrl:propertyPredicate  gsn:valid
                                                 ] ;
                                      rdf:rest   ()
                                    
                                    ]
                       ]
] .

gsn:P   a       swrl:Variable .

gsn:Assumption  a            owl:Class ;
        rdfs:label           "Assumption"@en ;
        rdfs:subClassOf      _:b2 , gsn:GSNElement ;
        skos:definition      "An assumption, rendered as an oval with the letter 'A' at the top- or bottom-right, presents an intentionally unsubstantiated statement."@en ;
        gsn:coreOrExtension  "Core GSN"@en ;
        gsn:renderedAs       "oval"@en .

gsn:consequences  a          owl:AnnotationProperty ;
        rdfs:domain          gsn:Pattern ;
        rdfs:label           "consequences"@en ;
        skos:definition      "The consequences section should make clear what work remains after the pattern has been applied. This should highlight where further support to the argument is required, and assumptions that need to be discharged."@en ;
        gsn:coreOrExtension  "Argument Pattern Extension"@en .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S39" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:C ;
                                      swrl:argument2          true ;
                                      swrl:propertyPredicate  gsn:contract
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                   swrl:argument1          gsn:E ;
                                                   swrl:argument2          true ;
                                                   swrl:propertyPredicate  gsn:public
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:C ;
                                                                swrl:argument2          gsn:E ;
                                                                swrl:propertyPredicate  gsn:contains
                                                              ] ;
                                                   rdf:rest   ()
                                                 
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:E ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:valid
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

gsn:choice  a                owl:DatatypeProperty ;
        rdfs:domain          gsn:Relationship ;
        rdfs:label           "choice"@en ;
        rdfs:range           xsd:boolean ;
        skos:definition      "A GSN choice can be used to denote possible alternatives in satisfying a relationship."@en ;
        gsn:coreOrExtension  "Argument Pattern Extension"@en ;
        gsn:renderedAs       "solid diamond" .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S2" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:R ;
                                      swrl:argument2          gsn:A ;
                                      swrl:propertyPredicate  rdf:subject
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                   swrl:argument1          gsn:A ;
                                                   swrl:argument2          gsn:B ;
                                                   swrl:propertyPredicate  gsn:inContextOf
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:R ;
                                                                swrl:argument2          gsn:B ;
                                                                swrl:propertyPredicate  rdf:object
                                                              ] ;
                                                   rdf:rest   ()
                                                 
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:R ;
                                      swrl:argument2          "contextual" ;
                                      swrl:propertyPredicate  gsn:relationshipType
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

_:b1    a                   owl:Restriction ;
        owl:onProperty      gsn:statement ;
        owl:someValuesFrom  xsd:string .

[ a                      owl:Axiom ;
  owl:annotatedProperty  rdfs:subClassOf ;
  owl:annotatedSource    gsn:Argument ;
  owl:annotatedTarget    _:b4 ;
  skos:definition        "The corresponding argument could be located in a paragraph of accompanying text, a goal in the local argument, or a goal in a separate module."@en ;
  gsn:coreOrExtension    "Confidence Argument Extension"
] .

vann:preferredNamespacePrefix
        a       owl:AnnotationProperty .

gsn:Justification  a         owl:Class ;
        rdfs:label           "Justification"@en ;
        rdfs:subClassOf      _:b5 , gsn:GSNElement ;
        skos:definition      "A justification, rendered as an oval with the letter 'J' at the top- or bottom-right, presents a statement of rationale."@en ;
        gsn:coreOrExtension  "Core GSN"@en ;
        gsn:renderedAs       "oval"@en .

gsn:structured  a            owl:DatatypeProperty ;
        rdfs:domain          gsn:Argument ;
        rdfs:label           "structured"@en ;
        rdfs:range           xsd:boolean ;
        skos:definition      "A particular kind of argument where the relationships between the asserted claims, and from the evidence to the claims, are explicitly represented."@en ;
        gsn:coreOrExtension  "Core GSN"@en .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S13" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                    swrl:ClassAtom ;
                                      swrl:argument1       gsn:A ;
                                      swrl:classPredicate  gsn:Solution
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                    swrl:ClassAtom ;
                                                   swrl:argument1       gsn:B ;
                                                   swrl:classPredicate  gsn:Solution
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                                swrl:argument1          gsn:B ;
                                                                swrl:argument2          false ;
                                                                swrl:propertyPredicate  gsn:true
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                             swrl:argument1          gsn:C ;
                                                                             swrl:argument2          gsn:B ;
                                                                             swrl:propertyPredicate  gsn:supportedBy
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                                                          swrl:argument1          gsn:A ;
                                                                                          swrl:argument2          true ;
                                                                                          swrl:propertyPredicate  gsn:true
                                                                                        ] ;
                                                                             rdf:rest   [ a          swrl:AtomList ;
                                                                                          rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                       swrl:argument1          gsn:C ;
                                                                                                       swrl:argument2          gsn:A ;
                                                                                                       swrl:propertyPredicate  gsn:supportedBy
                                                                                                     ] ;
                                                                                          rdf:rest   ()
                                                                                        
                                                                                        ]
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:C ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:true
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

gsn:View  a                  owl:Class ;
        rdfs:label           "View"@en ;
        skos:definition      "The argument view depicts the argument inside an individual module."@en ;
        gsn:coreOrExtension  "Modular Extension"@en .

gsn:E1  a       swrl:Variable .

[ a                      owl:Axiom ;
  owl:annotatedProperty  rdfs:subClassOf ;
  owl:annotatedSource    gsn:Justification ;
  owl:annotatedTarget    _:b5 ;
  skos:definition        "GSN justifications provide additional information necessary for the correct understanding of the argument. This information is stated as fully as necessary, using complete sentences in the form noun phrase + verb phrase."@en
] .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S10" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                    swrl:ClassAtom ;
                                      swrl:argument1       gsn:A ;
                                      swrl:classPredicate  gsn:Solution
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                   swrl:argument1          gsn:B ;
                                                   swrl:argument2          gsn:A ;
                                                   swrl:propertyPredicate  gsn:supportedBy
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                                swrl:argument1          gsn:A ;
                                                                swrl:argument2          true ;
                                                                swrl:propertyPredicate  gsn:true
                                                              ] ;
                                                   rdf:rest   ()
                                                 
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:B ;
                                      swrl:argument2          true ;
                                      swrl:propertyPredicate  gsn:true
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S34" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                    swrl:ClassAtom ;
                                      swrl:argument1       gsn:M1 ;
                                      swrl:classPredicate  gsn:Module
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                    swrl:ClassAtom ;
                                                   swrl:argument1       gsn:M2 ;
                                                   swrl:classPredicate  gsn:Module
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:E1 ;
                                                                swrl:argument2          gsn:E2 ;
                                                                swrl:propertyPredicate  gsn:supportedBy
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                             swrl:argument1          gsn:M1 ;
                                                                             swrl:argument2          gsn:E1 ;
                                                                             swrl:propertyPredicate  gsn:contains
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                          swrl:argument1          gsn:M2 ;
                                                                                          swrl:argument2          gsn:E2 ;
                                                                                          swrl:propertyPredicate  gsn:contains
                                                                                        ] ;
                                                                             rdf:rest   [ a          swrl:AtomList ;
                                                                                          rdf:first  [ a               swrl:BuiltinAtom ;
                                                                                                       swrl:arguments  ( gsn:M1 gsn:M2 ) ;
                                                                                                       swrl:builtin    swrlb:notEqual
                                                                                                     ] ;
                                                                                          rdf:rest   ()
                                                                                        
                                                                                        ]
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:M1 ;
                                      swrl:argument2          gsn:M2 ;
                                      swrl:propertyPredicate  gsn:supportedBy
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

_:b4    a            owl:Class ;
        owl:unionOf  ( [ a                   owl:Class ;
                         owl:intersectionOf  ( [ a                   owl:Restriction ;
                                                 owl:onProperty      gsn:contains ;
                                                 owl:someValuesFrom  gsn:ArtefactReference
                                               ] [ a                   owl:Restriction ;
                                                   owl:onProperty      gsn:contains ;
                                                   owl:someValuesFrom  gsn:Goal
                                                 ] )
                       ] [ a                   owl:Restriction ;
                           owl:onProperty      gsn:statement ;
                           owl:someValuesFrom  xsd:string
                         ] ) .

[ a                      owl:Axiom ;
  owl:annotatedProperty  rdfs:subClassOf ;
  owl:annotatedSource    gsn:Context ;
  owl:annotatedTarget    _:b6 ;
  skos:definition        "Two kinds of GSN context statement exist. Where a context statement draws attention to explanatory contextual information (such as the definition of some term), this information shall be stated briefly using complete sentences of a noun-phrase + verb-phrase structure. Where a context statement is a reference to an artefact of some kind, which informs the reasoning step, the context statement shall be expressed as a noun phrase."@en
] .

gsn:C2  a       swrl:Variable .

gsn:implementation  a        owl:AnnotationProperty ;
        rdfs:domain          gsn:Pattern ;
        rdfs:label           "implementation"@en ;
        skos:definition      "The implementation section should communicate how the application of the pattern is carried out e.g. the order in which elements should be developed; communicate hints or techniques that may ease successful application; highlight common or recognised pitfalls with the application of the pattern; and record potential misinterpretation of the terms or concepts in the pattern."@en ;
        gsn:coreOrExtension  "Argument Pattern Extension"@en .

gsn:Defeater  a              owl:Class ;
        rdfs:label           "Defeater"@en ;
        owl:equivalentClass  [ a            owl:Class ;
                               owl:unionOf  ( gsn:Goal gsn:Solution )
                             ] ;
        skos:altLabel        "Dialectic Element"@en ;
        skos:definition      "The source of challenge being applied; can be directed at any part of an argument. A defeater (goal or solution) can challenge any element in a goal structure, e.g. goal, solution, strategy, context, assumption, justification." ;
        skos:note            "The goal and solution statements should be clearly expressed such that the crux of the challenge is unequivocally communicated. Thus, the link between the part of the argument that is being challenged (target) and the dialectic element (source) is self-evident."@en , "Membership of this class is only meant to be inferred, not asserted! Please do not add individuals to this class manually (i.e., assertions)."@en ;
        gsn:coreOrExtension  "Dialectic Extension"@en .

dc:source  a    owl:AnnotationProperty .

gsn:A   a       swrl:Variable .

gsn:participants  a          owl:AnnotationProperty ;
        rdfs:domain          gsn:Pattern ;
        rdfs:label           "participants"@en ;
        skos:definition      "The participants section augments the structure by providing a description of each element. This can provide more complete descriptions, clarify the role of the element in the overall argument and emphasise the aspects that require development or instantiation."@en ;
        gsn:coreOrExtension  "Argument Pattern Extension"@en .

gsn:R   a       swrl:Variable .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S29" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:R ;
                                      swrl:argument2          gsn:G1 ;
                                      swrl:propertyPredicate  rdf:subject
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                    swrl:ClassAtom ;
                                                   swrl:argument1       gsn:M1 ;
                                                   swrl:classPredicate  gsn:Module
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                    swrl:ClassAtom ;
                                                                swrl:argument1       gsn:G1 ;
                                                                swrl:classPredicate  gsn:Goal
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                             swrl:argument1          gsn:R ;
                                                                             swrl:argument2          gsn:G2 ;
                                                                             swrl:propertyPredicate  rdf:object
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a                    swrl:ClassAtom ;
                                                                                          swrl:argument1       gsn:M2 ;
                                                                                          swrl:classPredicate  gsn:Module
                                                                                        ] ;
                                                                             rdf:rest   [ a          swrl:AtomList ;
                                                                                          rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                       swrl:argument1          gsn:G1 ;
                                                                                                       swrl:argument2          gsn:G2 ;
                                                                                                       swrl:propertyPredicate  gsn:supportedBy
                                                                                                     ] ;
                                                                                          rdf:rest   [ a          swrl:AtomList ;
                                                                                                       rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                                                                                    swrl:argument1          gsn:G1 ;
                                                                                                                    swrl:argument2          true ;
                                                                                                                    swrl:propertyPredicate  gsn:away
                                                                                                                  ] ;
                                                                                                       rdf:rest   [ a          swrl:AtomList ;
                                                                                                                    rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                                                 swrl:argument1          gsn:M1 ;
                                                                                                                                 swrl:argument2          gsn:G1 ;
                                                                                                                                 swrl:propertyPredicate  gsn:contains
                                                                                                                               ] ;
                                                                                                                    rdf:rest   [ a          swrl:AtomList ;
                                                                                                                                 rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                                                              swrl:argument1          gsn:M2 ;
                                                                                                                                              swrl:argument2          gsn:G2 ;
                                                                                                                                              swrl:propertyPredicate  gsn:contains
                                                                                                                                            ] ;
                                                                                                                                 rdf:rest   ()
                                                                                                                               
                                                                                                                               ]
                                                                                                                  ]
                                                                                                     ]
                                                                                        ]
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:R ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:valid
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

gsn:Module  a                owl:Class ;
        rdfs:label           "Module"@en ;
        rdfs:subClassOf      gsn:GSNElement ;
        rdfs:subClassOf      [ a                            owl:Restriction ;
                               owl:minQualifiedCardinality  "1"^^xsd:nonNegativeInteger ;
                               owl:onClass                  gsn:Argument ;
                               owl:onProperty               gsn:contains
                             ] ;
        rdfs:subClassOf      [ a                  owl:Restriction ;
                               owl:allValuesFrom  [ a            owl:Class ;
                                                    owl:unionOf  ( gsn:Argument gsn:Module )
                                                  ] ;
                               owl:onProperty     gsn:contains
                             ] ;
        rdfs:subClassOf      [ a                  owl:Restriction ;
                               owl:allValuesFrom  gsn:Module ;
                               owl:onProperty     gsn:supportedBy
                             ] ;
        rdfs:subClassOf      [ a                  owl:Restriction ;
                               owl:allValuesFrom  gsn:Module ;
                               owl:onProperty     gsn:inContextOf
                             ] ;
        skos:definition      "Goal structures can be partitioned into separate, but interrelated, modules. This can allow the division of an overall goal structure into separate goal structures focusing on particular aspects of the overall argument. A module may contain one or more arguments and may contain other modules."@en ;
        gsn:coreOrExtension  "Modular Extension"@en ;
        gsn:renderedAs       "a rectangle with a second smaller rectangle adjoining at the top left" .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S30" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:A ;
                                      swrl:argument2          true ;
                                      swrl:propertyPredicate  gsn:away
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                   swrl:argument1          gsn:A ;
                                                   swrl:argument2          true ;
                                                   swrl:propertyPredicate  gsn:toBeSupportedByContract
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                    swrl:ClassAtom ;
                                                                swrl:argument1       gsn:M1 ;
                                                                swrl:classPredicate  gsn:Module
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                    swrl:ClassAtom ;
                                                                             swrl:argument1       gsn:M2 ;
                                                                             swrl:classPredicate  gsn:Module
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                          swrl:argument1          gsn:M1 ;
                                                                                          swrl:argument2          gsn:A ;
                                                                                          swrl:propertyPredicate  gsn:contains
                                                                                        ] ;
                                                                             rdf:rest   [ a          swrl:AtomList ;
                                                                                          rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                       swrl:argument1          gsn:M2 ;
                                                                                                       swrl:argument2          gsn:B ;
                                                                                                       swrl:propertyPredicate  gsn:contains
                                                                                                     ] ;
                                                                                          rdf:rest   [ a          swrl:AtomList ;
                                                                                                       rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                                                                    swrl:argument1          gsn:A ;
                                                                                                                    swrl:argument2          gsn:B ;
                                                                                                                    swrl:propertyPredicate  gsn:supportedBy
                                                                                                                  ] ;
                                                                                                       rdf:rest   [ a          swrl:AtomList ;
                                                                                                                    rdf:first  [ a               swrl:BuiltinAtom ;
                                                                                                                                 swrl:arguments  ( gsn:M1 gsn:M2 ) ;
                                                                                                                                 swrl:builtin    swrlb:notEqual
                                                                                                                               ] ;
                                                                                                                    rdf:rest   ()
                                                                                                                  
                                                                                                                  ]
                                                                                                     ]
                                                                                        ]
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:M2 ;
                                      swrl:argument2          true ;
                                      swrl:propertyPredicate  gsn:contract
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S28" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:M ;
                                      swrl:argument2          gsn:A ;
                                      swrl:propertyPredicate  gsn:contains
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                   swrl:argument1          gsn:A ;
                                                   swrl:argument2          true ;
                                                   swrl:propertyPredicate  gsn:toBeSupportedByContract
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                                swrl:argument1          gsn:M ;
                                                                swrl:argument2          true ;
                                                                swrl:propertyPredicate  gsn:contract
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                    swrl:ClassAtom ;
                                                                             swrl:argument1       gsn:M ;
                                                                             swrl:classPredicate  gsn:Module
                                                                           ] ;
                                                                rdf:rest   ()
                                                              
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:A ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:valid
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

gsn:contains  a              owl:ObjectProperty ;
        rdfs:domain          [ a            owl:Class ;
                               owl:unionOf  ( gsn:Argument gsn:AssuranceCase gsn:Module )
                             ] ;
        rdfs:label           "contains"@en ;
        rdfs:range           [ a            owl:Class ;
                               owl:unionOf  ( gsn:Argument gsn:Artefact gsn:Module )
                             ] ;
        gsn:coreOrExtension  "Core GSN"@en .

gsn:public  a                owl:DatatypeProperty ;
        rdfs:domain          [ a            owl:Class ;
                               owl:unionOf  ( gsn:Assumption gsn:Context gsn:Goal gsn:Justification gsn:Solution )
                             ] ;
        rdfs:label           "public"@en ;
        rdfs:range           xsd:boolean ;
        skos:definition      "This indicates that the element is publicly visible in one or more interfaces of the module and can be referenced as an away element."@en ;
        gsn:coreOrExtension  "Modular Extension"@en ;
        gsn:renderedAs       "miniature module symbol superimposed on an element at the top right" .

_:b3    a                   owl:Restriction ;
        owl:onProperty      gsn:statement ;
        owl:someValuesFrom  xsd:string .

<urn:swrl:var#A>  a  swrl:Variable .

gsn:R2  a       swrl:Variable .

gsn:viewType  a              owl:DatatypeProperty ;
        rdfs:domain          gsn:View ;
        rdfs:label           "view type"@en ;
        rdfs:range           [ a          rdfs:Datatype ;
                               owl:oneOf  [ a          rdf:List ;
                                            rdf:first  "architecture" ;
                                            rdf:rest   [ a          rdf:List ;
                                                         rdf:first  "argument" ;
                                                         rdf:rest   ()
                                                       
                                                       ]
                                          ]
                             ] ;
        gsn:coreOrExtension  "Modular Extension"@en .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S18" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:A ;
                                      swrl:argument2          gsn:B ;
                                      swrl:propertyPredicate  gsn:supportedBy
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a               swrl:BuiltinAtom ;
                                                   swrl:arguments  ( gsn:B gsn:R ) ;
                                                   swrl:builtin    <http://swrl.stanford.edu/ontologies/built-ins/3.3/swrlx.owl#makeOWLThing>
                                                 ] ;
                                      rdf:rest   ()
                                    
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:R ;
                                      swrl:argument2          gsn:A ;
                                      swrl:propertyPredicate  rdf:subject
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                    swrl:ClassAtom ;
                                                   swrl:argument1       gsn:R ;
                                                   swrl:classPredicate  gsn:Relationship
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:R ;
                                                                swrl:argument2          gsn:B ;
                                                                swrl:propertyPredicate  rdf:object
                                                              ] ;
                                                   rdf:rest   ()
                                                 
                                                 ]
                                    ]
                       ]
] .

gsn:M   a       swrl:Variable .

gsn:G2  a       swrl:Variable .

rdf:object  a   owl:ObjectProperty .

gsn:relatedTo  a             owl:ObjectProperty ;
        rdfs:domain          gsn:Pattern ;
        rdfs:label           "related to"@en ;
        rdfs:range           gsn:Pattern ;
        skos:definition      "This section can be used to reference patterns that are related e.g. addressing the same intent in a different context."@en ;
        gsn:coreOrExtension  "Argument Pattern Extension"@en .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S41" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:A ;
                                      swrl:argument2          gsn:N ;
                                      swrl:propertyPredicate  schema:identifier
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                   swrl:argument1          gsn:B ;
                                                   swrl:argument2          gsn:M ;
                                                   swrl:propertyPredicate  schema:identifier
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a               swrl:BuiltinAtom ;
                                                                swrl:arguments  ( gsn:A gsn:B ) ;
                                                                swrl:builtin    swrlb:notEqual
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a               swrl:BuiltinAtom ;
                                                                             swrl:arguments  ( gsn:N gsn:M ) ;
                                                                             swrl:builtin    swrlb:equal
                                                                           ] ;
                                                                rdf:rest   ()
                                                              
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:A ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:valid
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                   swrl:argument1          gsn:B ;
                                                   swrl:argument2          false ;
                                                   swrl:propertyPredicate  gsn:valid
                                                 ] ;
                                      rdf:rest   ()
                                    
                                    ]
                       ]
] .

gsn:supportedBy  a           owl:IrreflexiveProperty , owl:AsymmetricProperty , owl:ObjectProperty ;
        rdfs:domain          [ a            owl:Class ;
                               owl:unionOf  ( gsn:Goal gsn:Strategy )
                             ] ;
        rdfs:label           "supported by"@en ;
        rdfs:range           [ a            owl:Class ;
                               owl:unionOf  ( gsn:Goal gsn:Module gsn:Solution gsn:Strategy )
                             ] ;
        skos:definition      "SupportedBy, rendered as a line with a solid arrowhead, allows support relationships between elements to be documented."@en ;
        gsn:coreOrExtension  "Core GSN"@en ;
        gsn:renderedAs       "line with a solid arrowhead" .

gsn:minCardinality  a        owl:DatatypeProperty ;
        rdfs:domain          gsn:Relationship ;
        rdfs:label           "minimum cardinality"@en ;
        rdfs:range           xsd:nonNegativeInteger ;
        gsn:coreOrExtension  "Argument Pattern Extension"@en ;
        gsn:renderedAs       "text" .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S11" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                    swrl:ClassAtom ;
                                      swrl:argument1       gsn:A ;
                                      swrl:classPredicate  gsn:Solution
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                                   swrl:argument1          gsn:A ;
                                                   swrl:argument2          false ;
                                                   swrl:propertyPredicate  gsn:true
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                swrl:argument1          gsn:B ;
                                                                swrl:argument2          gsn:A ;
                                                                swrl:propertyPredicate  gsn:supportedBy
                                                              ] ;
                                                   rdf:rest   ()
                                                 
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:DatavaluedPropertyAtom ;
                                      swrl:argument1          gsn:B ;
                                      swrl:argument2          false ;
                                      swrl:propertyPredicate  gsn:true
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .

[ a                    swrl:Imp ;
  rdfs:comment         "" ;
  rdfs:label           "S36" ;
  swrla:isRuleEnabled  true ;
  swrl:body            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:E1 ;
                                      swrl:argument2          gsn:M2 ;
                                      swrl:propertyPredicate  gsn:supportedBy
                                    ] ;
                         rdf:rest   [ a          swrl:AtomList ;
                                      rdf:first  [ a                    swrl:ClassAtom ;
                                                   swrl:argument1       gsn:M1 ;
                                                   swrl:classPredicate  gsn:Module
                                                 ] ;
                                      rdf:rest   [ a          swrl:AtomList ;
                                                   rdf:first  [ a                    swrl:ClassAtom ;
                                                                swrl:argument1       gsn:M2 ;
                                                                swrl:classPredicate  gsn:Module
                                                              ] ;
                                                   rdf:rest   [ a          swrl:AtomList ;
                                                                rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                                                             swrl:argument1          gsn:M1 ;
                                                                             swrl:argument2          gsn:E1 ;
                                                                             swrl:propertyPredicate  gsn:contains
                                                                           ] ;
                                                                rdf:rest   [ a          swrl:AtomList ;
                                                                             rdf:first  [ a               swrl:BuiltinAtom ;
                                                                                          swrl:arguments  ( gsn:M1 gsn:M2 ) ;
                                                                                          swrl:builtin    swrlb:notEqual
                                                                                        ] ;
                                                                             rdf:rest   ()
                                                                           
                                                                           ]
                                                              ]
                                                 ]
                                    ]
                       ] ;
  swrl:head            [ a          swrl:AtomList ;
                         rdf:first  [ a                       swrl:IndividualPropertyAtom ;
                                      swrl:argument1          gsn:M1 ;
                                      swrl:argument2          gsn:M2 ;
                                      swrl:propertyPredicate  gsn:supportedBy
                                    ] ;
                         rdf:rest   ()
                       
                       ]
] .
