W3C home > Mailing lists > Public > www-rdf-logic@w3.org > June 2005

Problem with DataRange atoms in SWRL

From: Daniel Elenius <daele@ida.liu.se>
Date: Tue, 14 Jun 2005 11:12:47 -0700
Message-ID: <42AF1E1F.50704@ida.liu.se>
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 GMT

This archive was generated by hypermail 2.2.0+W3C0.50 : Wednesday, 11 January 2006 15:19:22 GMT