@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix swrl: <http://www.w3.org/2003/11/swrl#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

<http://www.w3.org/2003/11/swrl> rdfs:comment "RDF Schema definition of the RDF Concrete Syntax for the Semantic Web Rule Language" ;
	owl:versionInfo "$Id: swrl.rdf,v 1.1 2004/05/21 18:46:39 vivien Exp $" .

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

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

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

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

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

swrl:argument1 a rdf:Property ;
	rdfs:domain swrl:Atom ;
	rdfs:range rdfs:Resource .

swrl:argument2 a rdf:Property ;
	rdfs:domain swrl:Atom ;
	rdfs:comment "can be a Literal or Resource" .

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

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

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

swrl:propertyPredicate a rdf:Property ;
	rdfs:domain swrl:Atom ;
	rdfs:range rdf:Property .

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

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

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

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

swrl:Builtin a rdfs:Class .

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

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

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

swrl:dataRange a rdf:Property ;
	rdfs:domain swrl:DataRangeAtom ;
	rdfs:range owl:DataRange .
