RDF vocbulary compatibility

I presented the current docs to an HP group, and was unable to explain why 
the following RDF vocabulary is omitted from OWL Lite, for use with data:

Classes:
  rdf:Bag
  rdf:Seq
  rdf:Alt
  rdf:List

Properties:
  rdf:_NNN
  rdfs:member
  rdf:first
  rdf:rest

Other:
  rdf:nil

As far as I can see there is no reason (other than aesthetics), although 
incorporating rdf:_NNN and rdfs:member would involve only supporting their 
use as ObjectProperty. Mixed usage, in which rdf containers are used with 
both resource and literal values only fits in OWL Full.

The use of rdf:first and rdf:rest as part of the syntax for OWL does not 
interact with their use as

rdf:value *does* seem technically problematic, as well as unaesthetic, 
because it is primarily used with string values, but may be used with 
resource values.

These could be added to OWL Lite, by treating the classes above as 
owl:Classes,  the properties above as owl:ObjectProperties and rdf:nil as 
an owl:Thing.
Moreover, rdf:first and rdf:rest can be treated as owl:FunctionalProperty, 
with domain rdf:List and the range of rdf:rest can be constrained to
   rdf:List union { rdf:nil }.


============

Moreover, I believe the current rationale for the existence of owl:Class as 
a distinct concept from rdfs:Class is flawed.
In OWL Full they are the same concept.
In OWL Lite and OWL DL any of the statements that might reveal differences 
between the concepts are syntactically excised. Hence the justification 
based on rdfs:Class including members such as owl:FunctionalProperty, 
whereas owl:Class does not is spurious.

It would be simpler to just use rdfs:Class throughout, and nothing would 
break. (The correspondence theorem may need additional care).

Jeremy

Received on Friday, 7 February 2003 04:51:20 UTC