- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Fri, 30 Oct 2020 17:59:43 -0400
- To: public-rdf-star@w3.org
This doesn't necessarily have anything to do with blank node canonicalization. In fact, the scheme that I was toying with completely ignored anything about the blank nodes except their co-occurence (so that <<_:a :x _:a>> ended up with a different IRI than <<_:b :x _:c>>. peter On 10/30/20 5:49 PM, David Booth wrote: > 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 22:01:09 UTC