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

Re: The semantics of blank nodes

From: Frank Manola <fmanola@mitre.org>
Date: Wed, 13 Nov 2002 07:54:31 -0500
Message-ID: <3DD24B87.8020302@mitre.org>
To: www-rdf-interest@w3.org

Mike--

I'm not sure I fully understand your point.  At the moment, as you say, 
the structure of the example is:

<Staff Member> <address> <blank node>
<blank node> <street> "1501 Grant Avenue"

whereas you're suggesting it should be

<Staff Member> <livesAt> <Address>
<Address> <street> "1501 Grant Avenue"

However, it seems to me that all you've done is changed the name of the 
predicate.  The changed name for the predicate may, to some people, 
convey the semantics in English more accurately (it could also have been 
"hasAddress"), but the semantics seem to me to be exactly the same:  the 
blank node represents an address, which has various properties itself 
(street, and so on).  In other words, it seems to me that the example 
could just as easily have been written, using your predicate name:

<Staff Member> <livesAt> <blank node>
<blank node> <street> "1501 Grant Avenue"

with the exact same semantics.

The only difference between this and what you've suggested seems to be 
that in your example, the object of the first statement is <Address>, 
which I presume means it has a URI (and possibly that it has a type such 
as "Address"). But the point of the example was an assumption that you 
for some reason *didn't* want to assign the address a URI (you could 
have given the blank node a type if you wanted).  In other words, use of 
a blank node here isn't as much a semantic issue as it is a matter of 
URI management.  If you want to assign everything a URI, that's cool, 
but I don't think it changes the structure of the model.  Perhaps I'm 
not understanding your point?

--Frank


MDaconta@aol.com wrote:

> Hi Everyone,
> 
> In examining the RDF Primer's explanation of blank nodes
> it shows some triples which use a blank node:
> 
> <http://www.example.org/staffid/85740>
> <http://www.example.org/terms/address>
> _:johnaddress .
> 
> _:johnaddress
> <http://www.example.org/terms/street>
> "1501 Grant Avenue" .
> 
> While I understand the utility of blank nodes in constructing
> graphs (acting like anonymous classes), to me they seem to
> worsen the semantics of the assertions.  For example, the
> above triples in English would be:
> 
> The Staff Member with ID 85740 lives at the following
> Address: 1501 Grant Avenue, ...
> 
> The semantics here in terms of Subject, Verb, Object are:
> 
> <Staff Member> <livesAt> <Address>.
> <Address> <street> "1501 Grant Avenue".
> 
> In other words, the example in the primer uses "address" as a
> predicate thus causing the need for a blank node.  Wouldn't it
> be better (in terms of semantics) to have the predicate "livesAt" and
> make address its own Subject (which mirrors how you would
> program it in an OOPL).
> 
> Does anyone know of cases where blank nodes improve the
> semantics?
> 
> Thanks,
> 
> - Mike




-- 
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-875
Received on Wednesday, 13 November 2002 07:37:50 GMT

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