- From: William Van Woensel <William.Van.Woensel@Dal.Ca>
- Date: Mon, 29 Jun 2020 19:44:20 +0000
- To: thomas lörtsch <tl@rat.io>
- CC: "semantic-web@w3.org" <semantic-web@w3.org>
- Message-ID: <YTXPR0101MB1022362A74B636B7F95307A3D46E0@YTXPR0101MB1022.CANPRD01.PROD.OUTLOOK.>
Hi Thomas, I’m sorry but this is so frustratingly counter intuitive that I’d like to ask for an explanation: what constraints in the smenatics of RDF make it impossible to provide a tighter definition? My intuition is that two different identifiers point to two different things. I would rather translate the above to: "Bob has some x-thing. Bob has some y-thing." Re “My intuition is that two different identifiers point to two different things”, maybe the lack of a Unique Name Assumption (UNA) in OWL has something to do with it — i.e., lack of an assumption that different names refer to different things. But, this is of course in OWL and I believe this only pertains to URIs (well, based on the OWL spec at least). AFAIK, the rationale underlying the lack of UNA is that different online graphs may be oblivious of each other, and may hence refer to the same resource using different names. This rationale does not seem that apparent for blank nodes, since these are locally defined within the same graph, hopefully by someone who knows what they’re doing and appropriately re-using the same blank node ID for the same resource (so maybe that’s the snag). (AFAIK one cannot draw conclusions from the equality or difference between blank node IDs from different online graphs, i.e., one can even use an identical blank node ID in a remote online graph, and it would not imply equality.) William -----Original Message----- From: thomas lörtsch <tl@rat.io> Sent: June-29-20 3:34 PM To: Eric Prud'hommeaux <eric@w3.org> Cc: Antoine Zimmermann <antoine.zimmermann@emse.fr>; semantic-web@w3.org Subject: Re: Blank nodes semantics - existential variables? CAUTION: The Sender of this email is not from within Dalhousie. > On 23. Jun 2020, at 14:10, Eric Prud'hommeaux <eric@w3.org<mailto:eric@w3.org>> wrote: > > On Tue, Jun 23, 2020 at 01:11:32PM +0200, Antoine Zimmermann wrote: >> >> >> Le 21/06/2020 à 15:35, angin scribe a écrit : >>> Hi everyone, >>> >>> Is the standard semantics of blank nodes in RDF still the same as >>> existentially quantified variables? >> >> Yes. >> >> >>> Let "_:b1" and "_:b2" be blank nodes, In the current standard >>> semantics of RDF, is it still true that the graph below does not >>> necessarily mean that Bob has two different things? >>> >>> Bob has _:b1 >>> Bob has _:b2 >> >> Indeed. This graph would be equivalent to saying: >> >> "Bob has something. Bob has something." >> >> We can't conclude that Bob has 2 things. I’m sorry but this is so frustratingly counter intuitive that I’d like to ask for an explanation: what constraints in the smenatics of RDF make it impossible to provide a tighter definition? My intuition is that two different identifiers point to two different things. I would rather translate the above to: "Bob has some x-thing. Bob has some y-thing." Sure, we don’t know for certain that x and y are distinct until some statement to that effect is made, but per default different existentials should refer to different things. Otherwise what’s the point in having different extistentials? Why not just one "something" symbol instead of indefinitely many blank nodes? Thomas > Reducing this to "Bob has _:b3" is called "graph leaning". This is a > behavior of RDF semantics, upon which is built RDFS and OWL, but > interestingly not the SPARQL 1.1 RDFS entailment regime. > > RDF 1.1 Semantics says "Blank nodes are treated as simply indicating > the existence of a thing, without using an IRI to identify any > particular thing." It follows from there that two statements: > [] a :Barn . > [] :color :red . > might be talking about the same thing. You can't know without some > inverse functional properties or other application logic. AFAICT, > while architects may take this in mind when designing data models, no > tool uses RDF semantics on its own. There have been tool chains that > count on graph leaning, but the ones I saw were stand-alone processing > steps, not features intrinsic to generic RDF processors. > > SPARQL is really a graph query language; it doesn't do any sort of > graph leaning. `SELECT * { <s> <p> ?o }` will give you two bindings > ┌──────┐ ┌────────┐ > │ ?o │ or │ ?o │ > │ _:b1 │ │ _:abcd │ > │ _:b2 │ │ _:efgh │ > └──────┘ └────────┘ > (Those bindings may have any distinct labels; there's no assurance > that blank node labels are preserved.) > > You could argue that a carefully constructed SPARQL query could allow > you to deduce that the response you got could be leaned, but everyone > I know of who wants counting semantics treats them as distinct > individuals. I think this accounts for 95+% of the work done with RDF. > > RDFS only allows you to infer new stuff so it can't do any sort of > leaning. OWL would allow you to specifically infer that they were the > same individual but it can do that with IRIs as well so there doesn't > seem to be much of an observable difference between them other than > that some parts of OWL axioms require BNodes instead of IRIs to > eliminate the effects of coreferences. > > I guess you could characterize it this way: > > 1. Graph semantics treat BNodes as individuals. > test: insert { <s> <p> _:a , _b } and find two triples. > > 2. SPARQL (unextended) semantics likewise treat BNodes as individuals. > test: SELECT * { <s> <p> ?o } > > 3. SPARQL RDF semantics still treat BNodes as individuals. > > 4. RDF Entailment implies lean-able graphs. > > 5. OWL can unify BNodes and IRIs. > > >>> I.e., two syntactically different blank nodes do not necessarily >>> mean that they are two different entities. >>> >>> I know that there has been a lot of discussion on blank nodes in the >>> past, cf. [1, 2, 3]. I just want to make sure that there are no >>> recent changes on the semantics of blank nodes that I missed. Please >>> let me know if I miss some recent updates in this area. Many thanks! >> >> In standardising Web technologies, the W3C is extremely cautious >> about backward compatibility. If something was defined in some way in >> a version of a W3C standard, it is likely to work the same in later >> versions. Sometimes, features get deprecated, but they still work the >> same, if used. Other times, features get added, but they do not change the way prior features work. >> Obviously, there are exceptions, even in RDF. For instance, the way >> literals and datatypes work in RDF 1.1 is different from RDF 1.0, but >> the practical consequences are almost insignificant. >> >> >> --AZ >> >> >>> >>> Cheers, >>> A >>> >>> [1] M. Arenas, M. Consens. A. Mallea. Revisiting Blank Nodes in RDF >>> to Avoid the Semantic Mismatch with SPARQL. >>> https://www.w3.org/2009/12/rdf-ws/papers/ws23 >>> >>> [2] A. Hogan, M. Arenas, A. Mallea, A. Polleres. Everything You >>> Always Wanted to Know About Blank Nodes. Journal of Web Semantics. 2014. >>> >>> [3] A. Mallea, M. Arenas, A. Hogan, A. Polleres. On Blank Nodes. ISWC 2011. >>> >> >> -- >> Antoine Zimmermann >> Institut Henri Fayol >> École des Mines de Saint-Étienne >> 158 cours Fauriel >> CS 62362 >> 42023 Saint-Étienne Cedex 2 >> France >> Tél:+33(0)4 77 42 66 03 >> Fax:+33(0)4 77 42 66 66 >> http://www.emse.fr/~zimmermann/ >> Member of team Connected Intelligence, Laboratoire Hubert Curien >> >
Received on Monday, 29 June 2020 19:44:35 UTC