- 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