- From: Andrew Newman <andrew@tucanatech.com>
- Date: Wed, 17 Mar 2004 11:13:33 +1000
- 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