When is it appropriate to use RDF Collections?

>From the primer, demonstrating the use of RDF Collections:

  <rdf:Description rdf:about="http://example.org/courses/6.001">
     <s:students rdf:parseType="Collection">
           <rdf:Description rdf:about="http://example.org/students/Amy"/>
           <rdf:Description
rdf:about="http://example.org/students/Mohamed"/>
           <rdf:Description
rdf:about="http://example.org/students/Johann"/>
     </s:students>
  </rdf:Description>

Why would I want to use this over:

  <rdf:Description rdf:about="http://example.org/courses/6.001">
     <s:student rdf:resource="http://example.org/students/Amy"/>
     <s:student rdf:resource="http://example.org/students/Mohamed"/>
     <s:student rdf:resource="http://example.org/students/Johann"/>
  </rdf:Description>

I do understand the different graph that gets created in the two different
cases but this hasn't helped me.

In the second case, if I want the list of students in the class I can run a
simple SPARQL query. I understand that using the collection allows one to
'close' a list, but if I want to restrict other graphs from making
statements about the list of students, again I can use SPARQL constructs
(GRAPH keyword).

Is there a clear semantic difference between the two representations? Under
what circumstances would I want to use one and not the other. How do RDF
Containers fit into this?

Thanks,

Chris

Received on Friday, 10 November 2006 03:14:56 UTC