RDF Question: about syntax of rdf container objects (Bag, Alt, Seq)

Roger L. Costello costello at mitre.org
Thu Apr 8 12:28:18 BST 1999


In section 3 of the RDF Model & Syntax spec it talks about containers,
e.g., rdf:Bag, rdf:Alt, and rdf:Seq.  It gives an example where the
model and syntax is shown for the following statement:

"The students in course 6.001 are Amy, Tim, John, Mary, and Sue."

The model for this statement shows a resource, /courses/6.001, having a
property, students, whose value is an anonymous resource (i.e., a
resource with no identifier).  The anonymous resource has an rdf:type
property  whose value is rdf:Bag.  It has a property rdf:_1 whose value
is /Students/Amy.  It has a property rdf:_2 whose value is
/Students/Tim, etc.

The spec shows the syntax for this model as:

<rdf:RDF>
    <rdf:Description about="http://mycollege.edu/courses/6.001">
      <s:students>
        <rdf:Bag>
          <rdf:li resource="http://mycollege.edu/students/Amy"/>
          <rdf:li resource="http://mycollege.edu/students/Tim"/>
          <rdf:li resource="http://mycollege.edu/students/John"/>
          <rdf:li resource="http://mycollege.edu/students/Mary"/>
          <rdf:li resource="http://mycollege.edu/students/Sue"/>
        </rdf:Bag>
      </s:students>
    </rdf:Description>
  </rdf:RDF>

This confuses me.  It does not seem to faithfully represent the model.  
Recall that the model says that resource, /courses/6.001, has a
property, students, whose value is an *anonymous resource*.  This syntax
does not seem to be expressing that.  This syntax says that the value is
an rdf:Bag, not an anonymous resource.  Here's how I would write the
syntax:

<rdf:RDF>
    <rdf:Description about="http://mycollege.edu/courses/6.001">
      <s:students>
        <rdf:Description>
          <rdf:type resource="rdf:Bag"/>
          <rdf:li resource="http://mycollege.edu/students/Amy"/>
          <rdf:li resource="http://mycollege.edu/students/Tim"/>
          <rdf:li resource="http://mycollege.edu/students/John"/>
          <rdf:li resource="http://mycollege.edu/students/Mary"/>
          <rdf:li resource="http://mycollege.edu/students/Sue"/>
        </rdf:Bag>
      </s:students>
    </rdf:Description>
  </rdf:RDF>

The way I read my version, the resource, /courses/6.001, has a property,
students, whose value is an anonymous resource.  The anonymous resource
has a type property whose value is rdf:Bag, and so on.  Isn't this a
more faithful representation of the model?  I must be not understanding
something about container objects.  Would someone please explain this to
me?  /Roger


xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)




More information about the Xml-dev mailing list