Re: Skolemization and RDF Semantics

On 2011-04-17, at 14:44, Pat Hayes wrote:

> 
> On Apr 17, 2011, at 6:09 AM, Steve Harris wrote:
> 
>> On 2011-04-17, at 08:06, Pat Hayes wrote:
>>>> 
>>>> I believe what Steve meant, by 'export', simply the SPARQL query return results. 
>>>> 
>>>> <a> <b> _:x .
>>>> 
>>>> query:
>>>> 
>>>> SELECT ?z WHERE { <a> <b> ?z }
>>>> 
>>>> if the store decides to skolemize on return the blank node _:x, it is good if the skolemization is such the the store can recognize its own, so it can make sense of a subsequent
>>>> 
>>>> INSERT { <WHATEVERCAMEBACKFOR?z> <p> <q> . }
>>>> 
>>>> I guess, at least, that is what he meant:-)
>>> 
>>> Ah, OK. That makes sense, thanks. I think this would be covered by the 'who owns the URI' rule I suggested, BTW; In this case, the SPARQL engine owns the URIs, so it has the responsibility of making sense of them in the future. 
>>> 
>>> FWIW, I would suggest that it would be bad design to send back skolemised results without first skolemising the actual data the results were derived from. But that is only a suggestion :-)
>> 
>> What actually happens is a little complex, typically the bNode is skolemised, but to a value space that's disjoint from both URIs and Literals, so it can be unambiguously identified as a bNode, but has been given an identifier.
> 
> Um..how then is the resulting RDF legal? That is, if you substitute this into the variables in the query pattern, the result will not be RDF. Doesn't that directly violate the SPARQL specs?

They can be mapped back into bNodes at export/results time, so it's OK.

- Steve

-- 
Steve Harris, CTO, Garlik Limited
1-3 Halford Road, Richmond, TW10 6AW, UK
+44 20 8439 8203  http://www.garlik.com/
Registered in England and Wales 535 7233 VAT # 849 0517 11
Registered office: Thames House, Portsmouth Road, Esher, Surrey, KT10 9AD

Received on Sunday, 17 April 2011 17:53:30 UTC