Re: Confusion about Collections

Shelley Powers wrote:
> 
> > From: Frank Manola [mailto:fmanola@mitre.org]
> >
snip
> > >
> > > Clarification on this, Frank: there is a strong mapping between
> > the RDF/XML
> > > of the Container and the generated graph, but almost no mapping at all
> > > between the Collection RDF/XML and the generated graph. One
> > could say that
> > > the Collection is the ultimate RDF shortcut. This is going to cause
> > > confusion, particularly as people try and figure how to programmatically
> > > access a 'Collection'. (N-Triples of the graph might help with that.)
> > >
> > > Wouldn't be a good idea to show the 'long form' of the Collection, as
> > > tedious as it is, in addition to the short form? With this,
> > then people can
> > > see for themselves the mapping. They'll be able to take the
> > steps that get
> > > them from Point A to Point B.
> > >
> > > This isn't necessary for experienced RDF/XML people, but I think is
> > > essential to newbies.
> >
> > I need some clarification about your clarification.  I understand what
> > you say about the mapping between the RDF/XML of the collection and the
> > generated graph (there is one;  it's described in the Syntax
> > specification, but reading it isn't for the faint of heart), and I'm
> > concocting some words to try to describe it.  However, I'm not sure I
> > understand what you mean by the "long form" of the Collection.  It seems
> > to me that the graph is the "long form" (that is, it shows the consed
> > list, in all its "glory"), and there's a drawn graph in the Primer.  Are
> > you saying that a *triples* version of that graph would be clearer, and
> > would help people more than the drawing (he asked in astonishment)?  If
> > so, do you mean in addition to or instead of the drawing?
> >
> 
> You're talking about the productions. I wouldn't recommend that for the
> Primer, or as you say, for the faint of heart or only for those intensely
> interested.
> 
> People will programmatically access RDF as triples. 

But the triples are simply another way of describing the graph or,
putting it another way, it's pretty straightforward to construct the
triples from the drawing if you want to, but I suspect simply slopping
all those triples down on paper isn't going to help very much, since
there are no visual cues provided in triples. 

> And there is no mapping
> between the RDF/XML and the triples if I read the graph correctly.
> 
snip

Sure there is.  The property element with the rdf:parseType="Collection"
attribute describes the property that points to the head of the list in
the graph.  The resource descriptions nested in that property element
are members of the collection.  For each one of those member resources,
there's a corresponding resource of type rdf:List generated, with
rdf:first and rdf:rest properties connecting it to the member and the
rest of the list respectively.  To indicate the end of the list, you
make rdf:rest property value be rdf:nil.  It may be that the use of
s:student nested elements in the RDF/XML is causing the confusion.  I've
changed the RDF/XML to:

<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:s="http://example.edu/students/vocab#">

   <rdf:Description rdf:about="http://example.edu/courses/6.001">
      <s:students rdf:parseType="Collection" >
            <rdf:Description
rdf:about="http://example.edu/students/Amy"/>
            <rdf:Description
rdf:about="http://example.edu/students/Tim"/>
            <rdf:Description
rdf:about="http://example.edu/students/John"/>
      </s:students>
   </rdf:Description>
</rdf:RDF>

(same graph).

> 
> I think it would help if you displayed the N-Tripes for the graph in
> addition to the graph. I think you also need to walk through each aspect of
> the graph and explain what it means, and if there is an alternate syntax for
> same (as there is with rdf:Bag).

I think this would be devoting more space to Collections than they're
probably worth.  I'll see.  But you can certainly construct your own
list structures using your own vocabulary if you want to (e.g., two-way
lists).

> 
> Also -- "Up to applications to interpret it". That's enough to ensure I will
> never use Collections in my vocabularies. What a nightmare. This is the same
> as relying on user agent's interpretation of <P> in the original HTML.

This is no different than it being up to applications to interpret
rdf:Bag and rdf:_1 though (and I know there's been a separate thread on
this aspect of containers and reification, so we'll take it as read). 

> 
> Also, you introduced the term 'consed-pair' in the document to reflect
> Collections. This does need definition, it's not used anywhere else in any
> of the documents.
> 

What I said was that the RDF graph structure shown for collections was
known as a "consed-pair" construction.  That's kind of a definition ("a
consed-pair construction is one of these thingies") right?  I think what
you mean is I should explain why it's *called* a "consed-pair"
construction, but rather than waste the space on that, I'll take the
term out.

--Frank


-- 
Frank Manola                   The MITRE Corporation
202 Burlington Road, MS A345   Bedford, MA 01730-1420
mailto:fmanola@mitre.org       voice: 781-271-8147   FAX: 781-271-8752

Received on Monday, 25 November 2002 15:29:17 UTC