Re: OWL descriptions of lists

> [Jeremy Carroll]
> 
> It would seem strange to permit this, without also permitting say:
> 
> <owl:ObjectProperty rdf:about="&rdf;first">
>     <rdfs:range rdf:resource="&my;abc"/>
> </owl:ObjectProperty>
> 
> and, we have conflict between user vocabulary "&my;abc" and the standard 
> use of rdf:first in say a unionOf construct, in which it has an owl:Class 
> object.

This is not actually illegal; it's just not Owl DL.  Also, it happens
to be inconsistent with the usual uses, so a reasoner should flag an
ontology containing it as "inconsistent."  

Also, I still don't understand why making statements about rdf:List,
rdf:first, and rdf:rest is forbidden in Owl DL.  Given my ignorance
about DLs, there could be some obvious fact I'm overlooking here.
Someone can put me out of my misery by telling us what it is.

> I think there is nothing much wrong with the solution of cloning the 
> rdf:first and rdf:rest syntax within your own vocabulary. You don't get the 
> rdf:parseType="Collection" abbreviation, but I am not convinced that it is 
> worth worrying about the ugliness that is RDF/XML.

Even if you never see XML, the triples notation also requires you to
use rdf:List in built-in contexts such as the argument to unionOf.

I suppose for my own uses I could make up my own listoids.  But why
would it be cool for me to make assertions about those, and not about
rdf:List?  What exactly is the difference?

By the way, in non-XML serializations like N3, is there an equivalent
to parseType="Collection"?  It sure would be nice.  Even better would
be a version that allowed one to parameterize over the 
<List, first, rest> ops.


-- 
                                   -- Drew McDermott
                                      Yale Computer Science Department

Received on Sunday, 11 January 2004 23:20:34 UTC