- From: Holger Knublauch <holger@topquadrant.com>
- Date: Mon, 9 Nov 2009 13:06:12 -0800
- To: public-owl-dev@w3.org
Dear group,
I am unsure about the right (and best) way of mapping user-defined OWL
2 datatypes to RDF graphs. I have been skimming through the OWL specs
but all examples I saw were of the following format (see http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#Datatype_Definitions
):
a:SSN rdf:type rdfs:Datatype .
a:SSN owl:equivalentClass _:x .
_:x rdf:type rdfs:Datatype .
_:x owl:onDatatype xsd:string .
_:x owl:withRestrictions ( _:y ) .
_:y xsd:pattern "[0-9]{3}-[0-9]{2}-[0-9]{4}" .
This means that a datatype is an instance of rdfs:Datatype that has an
owl:equivalentClass of another (anonymous) datatype which then points
to the fact restrictions as an rdf:List.
1) Would it also be allowed to use rdfs:subClassOf instead of
owl:equivalentClass?
2) Would it be legal to attach the restrictions directly on the named
datatype instead of going through the (very verbose!) blank node, e.g.
a:SSN rdf:type rdfs:Datatype .
a:SSN owl:onDatatype xsd:string .
a:SSN owl:withRestrictions ( _:y ) .
a:SSN xsd:pattern "[0-9]{3}-[0-9]{2}-[0-9]{4}" .
3) Is it legal (and good practice) to subclass existing datatypes,
such as
a:SNN rdfs:subClass xsd:string .
Thanks for clarifying these, so that we can built the best practices
into our tools.
Holger
Received on Monday, 9 November 2009 21:07:00 UTC