W3C home > Mailing lists > Public > www-rdf-interest@w3.org > March 2004

Re: a bnode URI scheme?!

From: Andrew Newman <andrew@tucanatech.com>
Date: Wed, 17 Mar 2004 11:13:33 +1000
Message-ID: <4057A63D.5060100@tucanatech.com>
To: RDF Interest <www-rdf-interest@w3.org>

Jeremy Carroll wrote:
> Following the RDF semantics and any legal extensions the meaning of the
> graph
> 
>>>:_a <b> <c>
>>>:_b <b> <c>
> 
> 
> is identical to
> 
> 
>>>:_b <b> <c>
> 
> 
> hence it is a sensible, useful and conformant operation to throw one of the
> triples away. (At least in some applications).
> In other application, such as an RDF editor, this would be less than useful.
> 

Okay, I'm not sure I understand.  Non-lean graphs have redundancy. 
Where, for example, :_a and :_b are used interchangeably.

In the cases that were being talked about, addresses and names, 
different blank nodes are used in different sets of statements.

When removing one blank node you would be make assertions that were not 
being made previously.  Without a schema you don't know if the two 
things being asserted were the same or different.

> 
>>With the merge example I thought you were doing just that.  So it's not
>>okay to merge:
>>
>>{[http://www.w3.org/2000/01/rdf-schema#label] #(new Resource())
>>"Intellidimension Inc."}
>>
>>with:
>>
>>{[http://www.w3.org/2000/01/rdf-schema#label]
>>[http://www.intellidimension.com] "Intellidimension Inc."}
>>
>>They're [predicate, subject, object], right?  You should get both
>>statements in the merged model.
>>
> 
> In a syntactic merge yes - but if you wish to then simplify the result using
> RDF Semantics you can discard the first triple: it is merely a
> generalization of the second. Discarding it would only be invalid in an
> application which does not conform to RDF Semantics.
> An OWL Full application does conform to RDF Semantics.
> 

Isn't discarding blank nodes in this way called a union not a merge? 
Where, in a union, you assume that you know that the blank nodes are 
coming from the same source (triple store, inferencing, etc.).  Merges, 
I thought, resulted in all blank nodes being treated separately.

In Jena or whatever, bnodes have their own internal representation and 
the program can tell, either through the same object pointer or made up 
identifier, that they are equal.  This internal representation shouldn't 
be leaked out - which seems to be what a bnode scheme would do.
Received on Tuesday, 16 March 2004 20:13:37 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 18 February 2014 13:20:07 UTC