Re: SOURCE test case sketches from users, please?

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