Re: Skolemization and RDF Semantics

On 2011-04-15, at 20:35, Dan Brickley wrote:

> On 15 April 2011 21:29, David Wood <dpw@talis.com> wrote:
>> Hi all,
>> 
>> Ivan and IIRC Steve or Richard tried to convince me that Skolemization is already mentioned and allowed in the 2004 version of the RDF Semantics.  I can't find it.  Can someone please enlighten me?  Thanks.
> 
> http://www.w3.org/TR/rdf-mt/#prf

This section also contains the text which means it's not currently OK (by my reading) to expose skolem constants to the outside world:

“Intuitively, this lemma shows that asserting a Skolemization expresses a similar content to asserting the original graph, in many respects. However, a graph should not be thought of as being equivalent to its Skolemization, since these 'arbitrary' names would have the same status as any other URI references once published. Also, Skolemization would not be an appropriate operation when applied to anything other than the antecendent of an entailment.”

There's some more context too.

Interestingly it also touches on the issue of being able to identify URIs that are skolem constants, here's a quick summary of the issues in that area:

SPARQL stores which skolemise on export need to be able to identify their own skolemised bNodes so they can correctly handle SPARQL Query/Update operations which use them.

Based on previous experience, a genid: URI scheme or similar will be extremely slow to register, and would hold up any recs. which reference it, probably beyond the life of the WG. It may be possible to register a URN NID, but I don't know how practical that is either. 

There's an IETF spec for /.well-known/$id URI prefixes, but some people who want to make their skolem constants resolvable, don't want to be forced to use this prefix for their resolvable bNodes, and it makes even non-resolvable skolem constants quite verbose.

My suspicion is that the only way forward would be some text along the lines of: [with apologies for any abuse of terminology]

Systems wishing to skolemise bNodes, and expose those skolem constants to external systems (e.g. in query results) SHOULD mint fresh a "fresh" (globally unique) URI for each bNode.

All systems performing skolemisation SHOULD do so in a way that they can recognise the constants once skolemised, and map back to the source bNodes where possible.

Systems which want their skolem constants to be identifiable by other systems SHOULD use the .well-known URI prefix.

- 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 Saturday, 16 April 2011 14:47:06 UTC