Re: Blank nodes semantics - existential variables?

Holger,

Le 01/07/2020 à 01:48, Holger Knublauch a écrit :
> On 30/06/2020 23:45, Antoine Zimmermann wrote:
> 
>>
>> In passing, I'd like to add a use case for existential variables that 
>> has not been mentioned and is absolutely crucial: in the RDF-based 
>> interpretation of OWL, bnodes being existential is essential. The 
>> RDF-based semantics of OWL would be completely disconnected from its 
>> direct semantics if bnodes were not interpreted as existential variables.
> 
> Pardon me, but RDF is a standard by itself. OWL is just one other 
> vocabulary with additional semantics, but it shouldn't dictate what 
> happens in RDF.

What I wanted to say is that it is fortunate for OWL that there are 
existential variables in RDF. Whether the WebOnt Working Group dictated 
this to the RDF Core Working Group, I don't know.

> There is for example also SPARQL and SHACL, where bnodes 
> are *not* existential variables but simply resources where the creator 
> didn't care about a URI.

For SPARQL, it's not exactly like that. If you do a ASK query, the 
answer exactly matches what the RDF semantics dictates. It must match 
the semantics *for every entailment regime* you use. SPARQL has a 
perculiar but useful way of dealing with blank nodes when matching them 
against the SELECT variables. It is a bit at odd with RDF semantics, 
perhaps, but not totally betraying the existential nature of bnodes.

> That's BTW exactly how objects in any 
> mainstream programming language work - they are essentially anonymous 
> resources which you can only access if you have a pointer to them.

I don't think this comparison is relevant. We are not talking about a 
programming language.

> Eric is spot on w.r.t. the mismatch between the official specs and what 
> is being implemented in practice. It would be good if the official specs 
> would be adjusted to that reality. The logicians have dominated this 
> space for way too long.

Strangely, I feel that, alas, most logicians have deserted the space 
long ago. But this does not necessarily contradicts your view.

> As a practical example, several years ago I spoke to a couple of 
> database vendors because if you uploaded an RDF file with blank nodes, 
> their implementations were returning new blank nodes for the same data 
> with each query. As a result of this, it basically wasn't possible to do 
> incremental graph traversals or even delete nodes that you had fetched 
> in previous queries. Imagine delivering such useless semantics in any 
> other object store or relational database...

Returning new blank nodes every time has nothing to do with the 
semantics of blank nodes. It has to do with the treatment of bnodes in 
SPARQL, and its implementation in query engines. Query engine do not 
*have* to deliver different bnode ids every time.


--AZ

> 
> Holger
> 
> 
> 

-- 
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 Wednesday, 1 July 2020 15:21:17 UTC