Re: The semantics of blank nodes

MDaconta@aol.com wrote:
> In a message dated 11/13/2002 12:00:17 PM US Mountain Standard Time, 
> jon@spin.ie writes:
> 
>> No, the best way to say "I don't know" is to say you don't know.
>> The best response to "I don't care" is to say nothing.
> 
> 
> 
> While I agree with those maxims, I don't think the example
> in the primer is saying either of those.  Clearly the author
> knows that the object is an Address because the predicate
> is "address" (thought I would prefer something more specific).

Hope you don't mind me butting in here.

It appears to me that what you are saying is that you know that the 
range of the "address" predicate is the class "Address". Isn't it easier 
just to assert this fact rather than explicitly typing the _:johnaddress 
node? E.g.:
<address> <rdfs:range> <Address>

Now any time you use the address predicate:

<staffid/85740>
<address>
_:johnaddress .

then the following triple is entailed:

_:johnaddress <rdf:type> <Address>

see http://www.w3.org/TR/rdf-mt/#rdfs_entail rdfs3

Isn't the question of a nodes identity orthogonal to what type it is?

> So, I agree that if you "don't know" -- a blank node is warranted.
> But if you know and "don't care" -- I would say that is bad practice.

If you don't know the identity of a node - use a bnode
If you don't know the type of a node - don't type it
If you know that all subjects of a particular predicate are of a known 
type - then declare this using rdf:range

-- 
Murray Spork
Centre for Information Technology Innovation (CITI)
The Redcone Project
Queensland University of Technology, Brisbane, Australia
Phone: +61-7-3864-9488
Email: m.spork@qut.edu.au
Web: http://redcone.gbst.com/

Received on Wednesday, 13 November 2002 21:03:36 UTC