W3C home > Mailing lists > Public > www-rdf-interest@w3.org > May 2002

Re: Container semantics (was Re: bNodes wanted)

From: Sandro Hawke <sandro@w3.org>
Date: Mon, 27 May 2002 09:24:20 -0400
Message-Id: <200205271324.g4RDOKA32597@wadimousa.hawke.org>
To: "Peter F. Patel-Schneider" <pfps@research.bell-labs.com>
cc: danbri@w3.org, www-rdf-interest@w3.org
> From: Sandro Hawke <sandro@w3.org>
> > > Well, RDF has no mechanisms for creating statements in one RDF graph use 
> a bnode
> > > from another RDF, so even being able to talk about the container, does no
> t
> > > allow one to, for example, add new elements to it.
> > 
> > What's the difference between talking about a container (and saying
> > "by the way, container C happens to contain X") and adding a new
> > element to it (which in RDF looks something like "container C contains
> > X (along with possibly other things)")?  Of course there are at least
> > three different syntactic ways of doing RDF containers (rdf:_1,
> > rdf:li, daml:first/rest) and the semantics of each seem rather poorly
> > defined, so it's hard to argue about. 
> > 
> >      -- sandro
> 
> Well, if a container is a bnode, then you can't do either in RDF, which is
> the point.

You mean if the container is identified by a bNodes, I assume.
Containers are in the domain of discourse; bNodes are not (in the RDF
Core vocabulary).

But a container that is identified by a bNode may well be identified
by other means as well.  It almost certainly is, in any practical
example.  Why would you be stating members in a container, unless the
containers had some connection to things with a known identity?

One might say "William has a set of authored plays, which
contains one titled 'Hamlet'":
    people:william author:plays _:x.
    _:x collections:member _:y.
    _:y dc:title "Hamlet".
and the collection (_:x) is identified with a bNode, but that doesn't
stop someone else from coming along and saying
    people:william author:plays _:xx.
    _:xx collections:member _:yy.
    _:yy dc:title "Romeo & Juliet".

Now the two collections (the first persons _:x and the second person's
_:xx) may or may not be the same thing, but I can't imagine why one
would use this kind of structuring unless author:plays were a unique
property.  If it is (and the appropriate declarations have been made,
and the namespaces used above are the same),  then one can infer that
_:x and _:xx identify the same object, ....  and the first author's
use of a bNode to identify a collection failed to prevent a second
author from asserting membership information about the collection.

Which brings us back to my ealier point: I don't think bNodes are very
useful for keeping other people from linking to your information (that
is, from saying things about the same things your saying things
about).  And that seemed to be your use case against Skolemization.

     -- sandro
Received on Monday, 27 May 2002 09:25:28 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:51:54 GMT