Re: C14N use case: version control

On 2011-06-30, at 12:54, Jeremy Carroll wrote:
> 
> Andy wrote:
>> 
>> 
>> If a parser processes skolemization URIs as if they were bNode labels in whatever the syntax is the document is in, then it's possible to reproduce a graph which is bNode-isomorphic to the original.
>> 
>> Now that's relying on being able to spot skolemization URIs, but we went and made them .well-known.
>> 
>>> That question is meaningless. What do you mean by 'the same ... blank
>>> node'? And what do you mean by a 'skolemized blank node', for that
>>> matter? (Once skolemized, it is no longer a blank node, right? Which
>>> is the whole point....)
>> 
>> If the skolem URI is passed back to the originator, the creator/discoverer of the bNode in the first place, the skolemization URI could contain enough information to reconstruct the original data object representing the bnode.
>> 
>> It's a mapping between concrete syntax spaces - assuming the special nature of skolem URIs, the spaces are isomorphic and the URIs are .well-known.  Absent owl:sameAs, or using that URI pattern for an NIR/IR/Literal.
>> 
>> 
> I think this could be made to work, some issues - thinking out loud:
> 
> Using Skolem IDs for this use case requires that the triple store has support for Skolem IDs (i.e. can present Skolemized nodes as blank, while preserving the skolem ID)
> Some support for a triple store preserving non-native Skolem IDs

Or a stable non-native -> native mapping would work too I think.

> Some support for avoiding collisions in Skolem IDs (my understanding is that while the Skolem IDs are likely not to collide this is not guaranteed?)

The quote is “Systems wishing to do this SHOULD mint a new, globally unique IRI for each blank node.” (http://www.w3.org/2011/rdf-wg/wiki/Skolemisation)

I don't think it's possible to ensure global uniqueness without a central authority, by you can make it vanishingly unlikely using UUIDs etc.

If the skolem URI doesn't contain .well-known/genid, then it's just a URI.

- Steve

> A difference, for the version control use case, is that if two users make the same change involving adding a blank node, Skolemization will have these as definitely incompatible, whereas C14N would almost certainly have them as identical (i.e. unless the blank node is hard-to-label)
> 
> ===
> 
> So, if this were the only use case, I would be inclined to say we have two possible, and quite different, solutions and we would need to do some evaluation process to work out the pros and cons
> 
> Jeremy
> 
> 
> 

-- 
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 Thursday, 30 June 2011 12:19:13 UTC