- From: thomas lörtsch <tl@rat.io>
- Date: Mon, 29 Jun 2020 20:33:30 +0200
- To: Eric Prud'hommeaux <eric@w3.org>
- Cc: Antoine Zimmermann <antoine.zimmermann@emse.fr>, semantic-web@w3.org
> On 23. Jun 2020, at 14:10, Eric Prud'hommeaux <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 18:33:54 UTC