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

Re: The semantics of blank nodes

From: <MDaconta@aol.com>
Date: Wed, 13 Nov 2002 11:16:21 EST
Message-ID: <ad.2638e684.2b03d4d5@aol.com>
To: fmanola@mitre.org, www-rdf-interest@w3.org
Hi Frank,

Thanks for the response.  I will try and express the point better...

In a message dated 11/13/2002 5:38:14 AM US Mountain Standard Time, 
fmanola@mitre.org writes:
> 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:
> 

The point I disagree with above is when you say, "the blank node 
represents an address" because no where do we connect it with
the concept (or Class) "Address".  As you say below,
this could be resolved if we specify a type and then that clears up the
semantic confusion.  I would guess that a blank node then really just
means "thing" (unless we type it).

> <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?
> 

My point was that an un-typed blank node is semantically ambiguous.
I think the solution is to type the blank node.  I still am not 100% clear on 

the best practices for modeling statements about instances versus statements 
about classes of things.  I may need to work on some more examples ... if 
you know any good references that talk about this distinction please let me 
know.

Just to close the loop, then to assign the type to the blank node I 
would use rdf:type with the resource being a previously defined 
<rdfs:Class rdf:about="#Address">  right?

Thanks,

 - Mike
----------------------------------------------------
Michael C. Daconta
Director, Web & Technology Services
www.mcbrad.com
Received on Wednesday, 13 November 2002 11:16:32 GMT

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