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

On 6/26/2011 6:31 AM, Bijan Parsia wrote:
> 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.

I see, thanks Bijan. I do kind of wish that the restrictions were just 
stated explicitly, rather than relying on a restriction to blank nodes. 
Can't I still say many things I shouldn't be able to about things named 
with a blank node, as long as I'm saying them in the same document that 
I'm initially referencing the blank node?

_:b a owl:DataRange ; owl:oneOf ( ... ) ; owl:naughtyPredicate ... .
...
<somethingElse> owl:otherNaughtyPredicate _:b .

?


>> 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.

I see, thanks again.

> 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?

In theory, I guess this does provide a similar mechanism -- in practice, 
some tools we use mint URIs for all types, including data ranges, and 
some other OWL implementations are throwing exceptions when encountering 
them, so we'll have to work on changing our tools, I suppose.

Lee

>
> Cheers,
> Bijan.

Received on Sunday, 26 June 2011 13:10:52 UTC