Expression.owl revision c4c2756a7ac6ba51ca2f35240bdb0cf99cf2092b
<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE uridef[
<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns">
]>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:swrl="&swrl;#"
<owl:Ontology rdf:about="">
<owl:versionInfo>
$Id$
</owl:versionInfo>
<rdfs:comment>
Ontology elements for capturing conditions, effects
</rdfs:comment>
</owl:Ontology>
<owl:Class rdf:ID="LogicLanguage">
<rdfs:comment>
An instance of this class represents a particular logical formalism,
such as KIF, SWRL, or DRS. At present we allow for zero or more
URIs to be specified, which normally are references to public document(s)
that define the formalism. We anticipate a variety of other properties
will be added as the requirements become better understood.
</rdfs:comment>
</owl:Class>
<owl:DatatypeProperty rdf:ID="refURI">
<rdfs:domain rdf:resource="#LogicLanguage"/>
<rdfs:range rdf:resource="&xsd;#anyURI"/>
</owl:DatatypeProperty>
<LogicLanguage rdf:ID="SWRL">
<refURI rdf:datatype="&xsd;#anyURI">&swrl;</refURI>
</LogicLanguage>
<LogicLanguage rdf:ID="DRS">
<refURI rdf:datatype="&xsd;#anyURI">&drs;</refURI>
</LogicLanguage>
<LogicLanguage rdf:ID="KIF">
<refURI rdf:datatype="&xsd;#anyURI">&kif;</refURI>
</LogicLanguage>
<owl:Class rdf:ID="Expression">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#expressionLanguage"/>
<owl:cardinality rdf:datatype="&xsd;#nonNegativeInteger">1</owl:cardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#expressionBody"/>
<owl:cardinality rdf:datatype="&xsd;#nonNegativeInteger">1</owl:cardinality>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:ObjectProperty rdf:ID="expressionLanguage">
<rdfs:domain rdf:resource="#Expression"/>
<rdfs:range rdf:resource="#LogicLanguage"/>
</owl:ObjectProperty>
<owl:DatatypeProperty rdf:ID="expressionBody">
<rdfs:domain rdf:resource="#Expression"/>
</owl:DatatypeProperty>
<owl:Class rdf:ID="SWRL-Expression">
<rdfs:subClassOf rdf:resource="#Expression"/>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#expressionLanguage"/>
<owl:hasValue rdf:resource="#SWRL" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#expressionBody"/>
<owl:allValuesFrom rdf:resource="&rdf;#XMLLiteral" />
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="DRS-Expression">
<rdfs:subClassOf rdf:resource="#Expression"/>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#expressionLanguage"/>
<owl:hasValue rdf:resource="#DRS" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#expressionBody"/>
<owl:allValuesFrom rdf:resource="&rdf;#XMLLiteral" />
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="KIF-Expression">
<rdfs:subClassOf rdf:resource="#Expression"/>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#expressionLanguage"/>
<owl:hasValue rdf:resource="#KIF" />
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<!-- a Condition is an Expression with variables to be bound in a knowledge context
in order to determine its truth value in that context -->
<owl:Class rdf:ID="Condition">
<rdfs:label>Condition</rdfs:label>
<rdfs:subClassOf rdf:resource="#Expression"/>
</owl:Class>
<owl:Class rdf:ID="SWRL-Condition">
<rdfs:subClassOf rdf:resource="#SWRL-Expression"/>
<rdfs:subClassOf rdf:resource="#Condition"/>
</owl:Class>
<owl:Class rdf:ID="DRS-Condition">
<rdfs:subClassOf rdf:resource="#DRS-Expression"/>
<rdfs:subClassOf rdf:resource="#Condition"/>
</owl:Class>
<owl:Class rdf:ID="KIF-Condition">
<rdfs:subClassOf rdf:resource="#KIF-Expression"/>
<rdfs:subClassOf rdf:resource="#Condition"/>
</owl:Class>
<SWRL-Condition rdf:ID="AlwaysTrue">
<rdfs:label>Always True</rdfs:label>
<rdfs:comment>
An empty AtomList always evaluates to true. Note that this is not equivalent to specifiying no
precondition. Due to open-world semantics of OWL, it would not be possible to distinguish
having no precondition from not knowing the precondition. We would need to specify a
cardinality 0 restriction on precondition property to indicate that there is no precondition
which would be also valid.
</rdfs:comment>
<expressionLanguage rdf:resource="&expr;#SWRL"/>
<expressionBody rdf:parseType="Literal">
<swrl:AtomList rdf:about="&rdf;#nil"/>
</expressionBody>
</SWRL-Condition>
</rdf:RDF>