- From: Steve Harris <S.W.Harris@ecs.soton.ac.uk>
- Date: Tue, 19 Apr 2005 12:43:36 +0100
- To: DAWG public list <public-rdf-dawg@w3.org>
On Tue, Apr 19, 2005 at 12:23:14 +0100, Andy Seaborne wrote:
> >SELECT ?cdr
> >WHERE GRAPH <http://example.com/data.rdf> { :foo rdf:first ?car . }
> > ?car rdf:rest ?cdr .
> >
> >(with appologies if I've forgotten the rdf list syntax)
>
> [[Oddly, I have an experimental grammar that loosens some restrictions and
> would parse that!]]
Oh, whoops, was the syntax wrong? I thought that was legal.
> >>>I would be possible to subidentify the triples in the background graph in
> >>>som way, but that identification can't be discovered from SPARQL which
> >>>would make extending it to be INSERT/UPDATE in the future painful, and
> >>>would complicate the data storge.
> >>
> >>Seems to me that data management and presented information aren't
> >>necessary identifical so using the same information is likely to lead to
> >>trouble somewhere. This makes INSERT/UPDATE orthogonal to query.
> >
> >
> >The're not neccesarily identical, sure, but I would find it mighty
> >supprising if thier not.
>
> Since there are all sorts of issues about the management of merged graphs,
> then anything to do with data management must necessarily be outside SPARQL.
OK, I will have to consider that. I dont want to do anything here that
will rule out things like
INSERT INTO <http://example.com>
{ :a :b ?c . }
WHERE { :c :d ?c }
in the future.
> >All there is a set of named
> >graphs, of which a sub-set are used to match triple patterns that dont
> >use the GRAPH keyword.
>
> But what happens to bNodes? 3Store alloctaes global Ids to them (outside
> URI space but they are system-wide unique). If you want unambiguous
> handling of BNodes, you have to say what happens before I can really answer
What 3store does is irrelevant.
Without OWL level inference you cant end up with the same bNode existing
in multiple graphs, if I understand correctly.
> e.g. a weird case:
>
> SELECT ?name
> WHERE { GRAPH <g1> { ?x foaf:mbox <mailto:alice@example.org> }
> GRAPH <g2> { ?x foaf:name ?name }
> }
>
> Can smushing make that legal?
That depends on the inferential capablities of the engine. In 3store (for
eg) it can't match, as any statements inferred from <g1> exist in another
graph, so the GRAPH keyword precludes it, but I dont think that rq23 says
what to do about that, and rightly so.
- Steve
Received on Tuesday, 19 April 2005 11:43:44 UTC