RDF issue: collections

Another for the issue page?

The RDF collection classes (Bag, Seq, Alt) are somewhat irregular in their 
construction from the XML syntax.  Specifically, the RDF parser needs to 
have special knowledge of these classes in order to recognize that the 
contained rdf:li properties are really rdf:_1, rdf:_2, etc.

This in turn means that it is not possible to define RDF applications and 
corresponding schema that declare subclasses of the collection classes for 
specific purposes, but which can also be treated as any collection class, 
because a non-schema-aware parser would not know to translate the <li> 
elements into <_1>, <_2>, etc.

A particular thing I have wanted to be able to do was declare a foo:Set 
class to be a subclass of rdf:Bag, with additional (application-enforced) 
semantics that duplicate member values were not permitted.


The use of special property names (_1, _2, etc.) can really be quite 
awkward for expressing ordering.   It means that it can be very difficult 
to add new members to a collection after the event, since the agent doing 
the adding cannot be sure of knowing what property name to use.  This seems 
to violate the idea of being able to add new RDF statements to any resource 
at any time.

For non-ordered collections, why not just use 'li' properties?  (I suppose 
one answer would be if multiple instances of a triple are not allowed.)

For ordered collections, why not a linked graph structure -- e.g. a 'Cons' 
class with 'car' and 'cdr' properties?

Graham Klyne

Received on Wednesday, 6 September 2000 13:23:27 UTC