- From: Steve Harris <S.W.Harris@ecs.soton.ac.uk>
- Date: Wed, 22 Dec 2004 18:33:45 +0000
- To: DAWG public list <public-rdf-dawg@w3.org>
On Wed, Dec 22, 2004 at 05:49:00PM +0000, Andy Seaborne wrote: > Steve Harris wrote: > >Here one of mine [sorry for the lateness] > > I'm having to catch up :-( > > > > >A user wanted to get a list of papers from our computer science research > >KB, but he only wanted ones that probably weren't processed by some > >heuristics based nataural language software, so hte query (in DAWG speak) > >was: > > > > SELECT ?id ?title > > WHERE SOURCE ?src (?id dc:title ?title) > > (?src dc:creator ?creator) > > AND ?creator !~ /^Armadillo/ > > > >assuming a direct relation between the SOURCE node and the document URI, > >and > > > > SELECT ?id ?title > > WHERE SOURCE ?src (?id dc:title ?title) > > (?src dawg:source ?doc) > > (?doc dc:creator ?creator) > > AND ?creator !~ /^Armadillo/ > > > >if not. s/dawg:source/dc:source/ if you prefer > > Both queries are legal. Just depends what you decide to put in the default > KB. You can model your provenance how you like. > > In either design, ?src is a URI (otherwise you can't put it in a graph) - > bNodes also work apart from GRAPH declarations (which 3Store wouldn't use) > but ?src as a graph does not. > > Collapsing dawg:source (i.e. design 1) is a matter of do you want to record > other information gainst ?doc that is not true of ?src. As ever, a more > detailed modelling gets inconvenient in general use. returning ?src (some > pre-read-in-doc) URI is not going to be what apps usually want. Unless > they are the data maintenance app, of course! Yes, exactly. The problem with collapsing is that it rules out that class of data-maintainance task. I agree its somewhat inconvient though, as the 2 queries show. In defense of the dawg:source style, systems that dont care about historical provenance can just assert (<uri> dawg:source <uri>) and get on with it. I could live with a collapsed form though, I will just have to provide some API mechanism to indirect at asserion time for people who need the extra level. Which is more or less what I do now, you can specify a graph URI (or request a bnode) that is distinct from the resolved URI. - Steve
Received on Wednesday, 22 December 2004 18:33:47 UTC