- From: Sandro Hawke <sandro@w3.org>
- Date: Sat, 26 Mar 2011 09:31:19 -0400
- To: semantic-web@w3.org
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 >
Received on Saturday, 26 March 2011 13:31:30 UTC