OWL's use of the RDF list vocabulary

[This is mostly for the record, as the RDF Core WG is considering this
issue today, but could be discussed within the WebOnt WG as well.]

The semantics document that I have put together (namely the section at
http://www-db.research.bell-labs.com/user/pfps/owl/rdfs.html) uses the RDF
list vocabulary in a way that I believe satisifies the needs of OWL lists
considered as syntax.  It does not need any semantic conditions on the RDF
list vocabulary from the RDF or RDFS model theory.  It also does not impose
any well-formedness constraints on lists.


In essence, all that the semantics cares about is whether something like 

   _:l1 rdf:first e1 .
   _:l1 rdf:rest _:l2 .
   _:l2 rdf:first e2 .
   _:l2 rdf:rest _:l3 .
   _:l3 rdf:first e3 .
   _:l4 rdf:rest _:l4 .
   ...
   _:ln rdf:first en .
   _:ln rdf:rest rdf:nil .

exists for some finite n>=0.  


Such composite constructs are then used as parts of the rest of the OWL
syntax, when this is appropriate.  For example, if all of the ei, 1<=i<=n,
were OWL classes, then there would have to be an OWL class _:c such that

   _:c owl:intersectionOf _:l1 .

 
Note that there is no requirement that the _:li are distinct from rdf:nil,
or even that they are all different.  However, such malformed lists cause
certain weirdnesses, some more than others.  For example, giving rdf:nil an
rdf:rest could easily cause chaos (but not a semantic breakdown).


Peter F. Patel-Schneider
Bell Labs Research

Received on Friday, 1 November 2002 07:57:10 UTC