- From: Steve Harris <steve.harris@garlik.com>
- Date: Sat, 26 Mar 2011 18:50:31 +0000
- To: Sandro Hawke <sandro@w3.org>
- Cc: semantic-web@w3.org
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