- From: Daniel Elenius <daele@ida.liu.se>
- Date: Tue, 14 Jun 2005 11:12:47 -0700
- To: www-rdf-logic@w3.org
The SWRL abstract syntax allows for data range atoms of the type
dataRange '(' d-object ')'
where d-object is
d-object ::= d-variable | dataLiteral
swrl.owl defines
<owl:ObjectProperty rdf:ID="argument1"/>
<owl:Class rdf:ID="DataRangeAtom">
<rdfs:subClassOf rdf:resource="#Atom"/>
<rdfs:comment>consists of a dataRange and argument1</rdfs:comment>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#dataRange"/>
<owl:allValuesFrom rdf:resource="&owl;#DataRange"/>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#dataRange"/>
<owl:cardinality>1</owl:cardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#argument1"/>
<owl:allValuesFrom rdf:resource="&owl;#Thing"/>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#argument1"/>
<owl:cardinality>1</owl:cardinality>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:ObjectProperty rdf:ID="dataRange"/>
So, argument1 is here restricted to OWL individuals, but we should be able to use "dataLiteral"
for the property value. For example, as I understand it, we should be able to say
xsd:string('hi')
But we can't do this with this OWL syntax.
I would suggest changing argument1 and dataRange from ObjectProperty to Property, and removing the restriction
to owl:Thing above.
Or did I misunderstand how data range atoms are supposed to be used?
Daniel
Received on Tuesday, 14 June 2005 18:15:07 UTC