Re: why do owl:DataRange's need to be blank nodes?

On 25 Jun 2011, at 19:27, Lee Feigenbaum wrote:

> The OWL 1 documents clearly if subtly say that for an enumerated data type being expressed in RDF, the owl:DataRange that is the subject of an owl:oneOf statement should be a blank node. I have a couple of questions about this:
> 
> 1) Why is this? Is there any harm (other than violating the spec, of course) in giving a URI to an owl:DataRange?

The canonical reason is to prevent assertions about the datarange that we can't handle. (OWL Full obviously allows this.) Naming datatypes can be dangerous as it can be hard to control what you subsequently say about them. Just consider the (overly tight) restrictions on datatype definitions in OWL 2:
	http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#Datatype_Definitions
	http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#The_Restrictions_on_the_Axiom_Closure
(In the latter, look at the example.)

In general, for OWL DL, the pattern in the RDF syntax is to use fresh bnodes always for each syntactic construct to prevent accidently equating of things you didn't intend to equate.

> 2) Is this same restriction reflected in the OWL 2 documents? I've tried to find it, but have been unsuccessful, so would appreciate any pointers.

Yes.

http://www.w3.org/TR/2009/REC-owl2-mapping-to-rdf-20091027/

Table 12, 14 and Table 1 to go from FS to triples.

However, you can name dataranges via the datatype definition mechanism. Since naming data ranges is the only reason I can thing of to not use a bnode in the syntax, I hope that suffices. Does it?

Cheers,
Bijan.

Received on Sunday, 26 June 2011 10:31:34 UTC