PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX swrl: <http://www.w3.org/2003/11/swrl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

swrl:Atom a rdfs:Class ;
  rdfs:comment "common superclass" .

swrl:Imp a rdfs:Class ;
  rdfs:comment "implication (rule)" .

swrl:body a rdf:Property ;
  rdfs:comment "rule body (antecedent):  List of Atom" ;
  rdfs:range swrl:AtomList .

swrl:head a rdf:Property ;
  rdfs:comment "rule head (consequent):  List of Atom" ;
  rdfs:range swrl:AtomList .

<http://www.w3.org/2002/07/owl#DataRange> a rdfs:Class .

swrl:BuiltinAtom a rdfs:Class ;
  rdfs:comment "consists of a builtin and a List of arguments" ;
  rdfs:subClassOf swrl:Atom .

swrl:arguments a rdf:Property ;
  rdfs:range rdf:List .

swrl:builtin a rdf:Property ;
  rdfs:range swrl:Builtin .

<http://www.w3.org/2002/07/owl#DatatypeProperty> a rdfs:Class .

swrl:ClassAtom a rdfs:Class ;
  rdfs:comment "consists of a classPredicate and argument1" ;
  rdfs:subClassOf swrl:Atom .

swrl:argument1 a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

swrl:classPredicate a rdf:Property ;
  rdfs:range rdfs:Class .

swrl:AtomList a rdfs:Class ;
  rdfs:subClassOf rdf:List .

swrl:DataRangeAtom a rdfs:Class ;
  rdfs:comment "consists of a dataRange and argument1" ;
  rdfs:subClassOf swrl:Atom .

swrl:dataRange a rdf:Property ;
  rdfs:range <http://www.w3.org/2002/07/owl#DataRange> .

<http://www.w3.org/2002/07/owl#ObjectProperty> a rdfs:Class .

swrl:DatavaluedPropertyAtom a rdfs:Class ;
  rdfs:comment "consists of a propertyPredicate (owl:DatatypeProperty), argument1 (owl:Thing), and argument2 (rdfs:Literal)" ;
  rdfs:subClassOf swrl:Atom .

swrl:argument2 a rdf:Property ;
  rdfs:comment "can be a Literal or Resource" ;
  rdfs:range <https://w3id.org/linkml/Any> .

swrl:propertyPredicate a rdf:Property ;
  rdfs:range <http://www.w3.org/2002/07/owl#DatatypeProperty> , <http://www.w3.org/2002/07/owl#ObjectProperty> .

swrl:IndividualPropertyAtom a rdfs:Class ;
  rdfs:comment "consists of a propertyPredicate (owl:ObjectProperty), argument1 (owl:Thing), and argument2 (owl:Thing)" ;
  rdfs:subClassOf swrl:Atom .

swrl:Builtin a rdfs:Class .

rdfs:Class a rdfs:Class .

<https://w3id.org/linkml/Any> a rdfs:Class ;
  rdfs:comment "An unconstrained type or object" .

swrl:DifferentIndividualsAtom a rdfs:Class ;
  rdfs:comment "consists of argument1 (owl:Thing) and argument2 (owl:Thing)" ;
  rdfs:subClassOf swrl:Atom .

swrl:Variable a rdfs:Class ;
  rdfs:comment "indicate that a URI is being used as a variable" .

rdf:List a rdfs:Class .

swrl:SameIndividualAtom a rdfs:Class ;
  rdfs:comment "consists of argument1 (owl:Thing) and argument2 (owl:Thing)" ;
  rdfs:subClassOf swrl:Atom .
