Re: Indicating Skolem Nodes (was Re: AW: {Disarmed} Re: blank nodes (once again))

Hm, I see.

I would have thought you could just do that with a HTTP URI, with a specific prefix - you can make it obvious to humans that it's a skolemised bNode, and machines aren't really going to distinguish anyway.

- Steve

On 2011-03-26, at 13:31, Sandro Hawke wrote:
> Steve, Pat, note that I'm not suggesting the Skolem names *have* to be
> dereferenceable, just that the Skolemizer should have the choice to make
> them so.   That is, they could generate an http URL containing the magic
> string, or generate a tag: URI containing the magic string; it's up to
> them.  (Unfortunately, the urn:uuid: grammar doesn't allow for any extra
> text.  It's hard to imagine what would break if you included some,
> though.  It also hard to imagine harm from using the unregistered uuid:
> scheme with extra text.)
> 
> My current use case for Skolemizing is a service which watches an RDF
> graph someone publishes and in turn publishes a stream of deltas as that
> graph changes.  I'd like the provider to be able to use arbitrary RDF,
> including blank nodes, because I want them to be able to author by hand,
> including using lists.  But RDF deltas are much, much simpler to apply
> without blank nodes.   So I want the change service to Skolemize, if
> necessary, before sending out the deltas.   And, of course, I want it to
> all to be good linked data, so RDF browsers can walk through it, etc.
> The rdfwatch service is perfectly happy to provide web service behind
> the URLs it mints, and when you ask about a Skolem constant, it can
> serve up the current contents of the g-box for which that constant
> minted.
> 
> Note that I'm really scoping blank nodes to g-boxes here, not g-snaps,
> saying that as the g-box changes from one g-snap to another, we consider
> certain blank nodes to remain unchanged.  For example:
> 
> At t1: { _:x foaf:name "Sandro"; foaf:mbox "mailt:sandro@w3.org"; plus
> many foaf:knows links }
> 
> At t2: { _:x foaf:name "Sandro"; foaf:mbox "mailt:sandro@hawke.org";
> plus the same foaf:knows links }
> 
> I'd like the delta here to be small -- to consider one triple as having
> changed, instead of the many triples that use that blank node.
> 
> Also, I think dereferenceability is more important for this use case
> than indicating for downstream consumers that this used to be a blank
> node.  In fact, until this discussion, I was perfectly to content to
> Skolemize without indicating this formally.  Now I'm seeing that it
> would be nice to indicate it.
> 
>   -- Sandro
> 
> On Sat, 2011-03-26 at 09:31 +0000, Steve Harris wrote:
>> On 2011-03-26, at 09:09, Steve Harris wrote:
>>> I get where you're coming from, but I suspect that not being able to dereference is a good thing in some cases.
>>> 
>>> If it's a dereferencable URI then you win a load of moral(?) obligations to make them stable and persistent, which is some of the things you're might be trying to get away from when using bNodes.
>>> 
>>> I like the UUID prefix, gets round a lot of practical issues.
>>> 
>>> <bnode:3dff1ee0-783a-42f4-8d67-4381dd4dd83e:123456> can't be resolved, but you can use it in, for e.g.
>>> 
>>> http://sparql.example.com/data?graph=bnode%3A3dff1ee0-783a-42f4-8d67-4381dd4dd83e%3A123456
>>> 
>>> Ignoring for a moment the raft of exciting scope issues that raises :)
>> 
>> A less crazy example is maybe:
>> 
>> http://sparql.example.com/?query=DESCRIBE%20%3Cbnode%3A3dff1ee0-783a-42f4-8d67-4381dd4dd83e%3A123456%3E
>> 
>> It's an exercise for the user to map UUIDs to endpoints, but that feels more practical than a global registry of every skolemised bNode.
>> 
>> - 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, 26 March 2011 18:51:07 UTC