Re: owl:sameAs/referential opacity Re: Can RDFstar be defined as only syntactic sugar on top of RDF (Re: weakness of embedded triples)

On 10/30/20 2:53 PM, Peter F. Patel-Schneider wrote:
> I had thought that it might be possible to produce something useful by
> employing non-injective mappings when determining the IRI for an embedded
> triple.   But this approach has potential problems because embedded statements
> with different subjects, predicates, or objects will end up being the same.
> Even if the the only thing that mapping is insensitive to is the actual
> identity of blank nodes then you end up with situations like:
> 
> :Mary :said s:Johnsaw_ .
> s:Johnsaw_ rdf:type rdf:statement .
> s:Johnsaw_ rdf:subject :John .
> s:Johnsaw_ rdf.predicate :saw .
> s:Johnsaw_ rdf:object _:b1 .
> 
> :Mary :said s:Johnsaw_ .
> s:Johnsaw_ rdf:type rdf:statement .
> s:Johnsaw_ rdf:subject :John .
> s:Johnsaw_ rdf.predicate :saw .
> s:Johnsaw_ rdf:object _:b2 .
> 
> Here the statement s:Johnsaw_ has two objects, which appears to have
> unintended consequences.  I have not yet convinced myself that there is no way
> to make this work, although I do believe that there are unintended consequences.

Yes, presumably those should have been two different URIs, instead of 
using s:Johnsaw in both places.

This is essentially the blank node canonicalization problem, i.e., the 
problem of relabeling or skolemizing blank nodes in a predictable 
repeatable way when doing RDF canonicalization.   Aiden Hogan (copied) 
has done a lot of work on this, and -- if I'm remembering correctly -- 
one basic result is that, when renaming each blank node, you need to 
consider the whole blank-node-connected subgraph in which it appears. 
In other words, you need to consider the whole subgraph that is 
reachable via blank node connections.   (Hopefully Aiden will correct me 
if I got this wrong or did not express it correctly!)

David Booth

Received on Friday, 30 October 2020 21:50:08 UTC