Re: containers: primer material

At 09:28 PM 4/15/02 -0400, Frank Manola wrote:
>I'm trying to write a (hopefully brief) description of containers for the 
>Primer, and a couple of questions came up.  The questions are:
>
>1.  can I legally create a container resource (say, a Bag) without using 
>any special syntax, simply by using the ordinary RDF/XML techniques for 
>creating a blank node, and giving it the appropriate properties (including 
>the type property pointing to the pre-defined rdf:Bag resource, and the 
>various li (or explicit _number) properties)?

I think yes.  In fact, I think there may be a container test case that does it.

>2.  can I also legally create a container resource that has a URI (i.e., 
>that *isn't* a blank node), by using the ordinary RDF/XML techniques for 
>creating a new resource with an ID, and giving it those same appropriate 
>properties (e.g., a type property pointing to one of the pre-defined 
>container type resources)?

I think yes.

>Note 1:  since the above involves essentially the "manual" creation of 
>container resources, if this is legit, ought we to have a constraint that 
>says that the same container can't have multiple rdf:type properties that 
>have inconsistent values (like the same container being both a bag and an 
>alt;  on the other hand, how would we enforce it?)

Hmmm... I was tempted to say "why not?".  But in the absence of other 
operations (e.g. comparison) on containers it's difficult to say what that 
might mean.  But, suppose we have a "contains" relation on a bag and a 
sequence:  contains on bag works like subset, and contains on sequence is 
true if one is a subsequence of the other.  Then if two containers being 
both bags and sequences could reasonable satisfy a contains relation.  I 
think where this leads is not to try and say anything:  Bal, Seq, Alt is 
(presently) just hints -- depending on how these hints are used by other 
somponents will determine whether or not it is reasonable for more than one 
of these hints to apply.

>Note 2:  the syntax or test cases documents may well answer these 
>questions, but I'm neither a RDF/XML nor a N-triples parser (and also, I'm 
>lazy), so please don't refer me to them.  Also, please don't refer me to 
>prior RDF Core documented resolutions on containers.  I've read them, and 
>can't figure out what they mean (one of the reasons why I'm trying to 
>explain this stuff in the Primer)!

Er, OK... this seems to require some explanation for my responses to 1. and 
2.  Basically, it boild down to being perfectly legit RDF, as far as I can 
see, with no good reason to prohibit its use.  Thus it seems simpler to let 
these forms be than to try and kill them off.  And, of course, they might 
even be useful.

(I have always assumed that <rdf:Bag rdf:about='...'>...</rdf:Bag> was 
legal and normal RDF.  Doesn't it match the typed element 
production?   Hmmm... I note that original M&S allowed rdf:ID here but not 
rdf:about.)

#g


-------------------
Graham Klyne
<GK@NineByNine.org>

Received on Tuesday, 16 April 2002 08:35:34 UTC