Re: Blank nodes semantics - nominal variables? [Re: Blank nodes semantics - existential variables?]

On Fri, Jul 3, 2020, at 01:19, Ross Horne wrote:
> E.g., how many SPARQL 1.1 implementations answer no to the following
> query on the following data:
> 
> Query: ASK { :Bob :has _:b2 :Bob :likes _:b3 }
> 
> Data: :Bob :has _:b1 :Bob :likes _:b1
> 
> I'd be interested to know (but am out of time).

The slightly trite answer would be that none do, because if they did, they would not be correct SPARQL 1.1 implementations. A blank node appearing in a SPARQL graph pattern is just a variable - it does not reference a particular blank node in the data, nor does it restrict the matches to only blank nodes. 

In reality/slightly more helpful: I am not aware of any SPARQL engines in common use that do this. There are various implementations that offer some helper functions or other extenions to get around the limitations of referencing blank nodes in a SPARQL query (for example GraphDB offers a way to directly reference its internal identifiers <http://graphdb.ontotext.com/documentation/free/query-behaviour.html#how-to-access-internal-identifiers-for-entities>), but I don't think any of them support this by overruling the standard interpration of blank nodes in a query pattern. 

Happy to be proven wrong of course.

Regards,

Jeen

Received on Thursday, 9 July 2020 17:50:37 UTC