- From: Birte Glimm <birte.glimm@comlab.ox.ac.uk>
- Date: Tue, 6 Oct 2009 13:51:12 +0100
- To: "Seaborne, Andy" <andy.seaborne@hp.com>
- Cc: SPARQL WG <public-rdf-dawg@w3.org>
see below... 2009/10/6 Seaborne, Andy <andy.seaborne@hp.com>: > More general enquiry: (this is something that came up in the last WG and my recollection may be partial so forgive an ignorant question): > > Suppose > > G is _:x :p :z , > > SG is _:a :p _:b > > BGP is ?x :p [] . It is not clear why :z is replaced by a blank node in the scoping graph. The SG should be equivalent and only blank nodes are replaced by blank nodes with fresh names as I understand it. The problem you describe below of course still exists (even if I misunderstand the def of SG) because you could have _:b1 :p :z. _:b2 :q :y. and SG _:sg1 :p :z. _:sg2 :q :y. > Does that mean there are two solutions > > ?x = _:a > ?x = _:b Even for the changed G/SG that I gave, you would have ?x=_:sg1 and ?x=_:sg2 I think. > Because > > P(BGP) are well-formed RDF triples that are RDFS entailed by G > (C1) each subject is in the set of terms used by the scoping graph > (C2) μ(?x) is a blank node occurring in SG. It occured to me that this is not nice and most likely not what we want, but I haven't yet come round to think about a nice solution. > What I'm not clear about is that C1 and C2 only talk about the use in SG so is symmetric in _:a and _:b. I see no asymmetry to produce one solution over another as it's not the use in triples in SG. Any SG with more than one bNode will generate alternatives, increasing with the number of bNodes. Yes :-( > Under simple entailment matching there is one because "P(BGP) is a subgraph of G" and not an entailment relationship, and ?x=_:x. (DAWG did try for an entailment relationship but the cardinality issues were a problem.) > Yes, we need a similar condition for entailment regimes but not based on pure subgraph matching. For now we have this as an open problem and how queries over different named graphs should behave (do we take entailments into account that depend on triples from different named graphs). I'll try and add notes for these two issues in the ent. regimes doc. Just to see whether I get simple entailment right. If you have :s :p :o and query with BGP ?x :p :o you would only get ?x=:s and not ?x=_:x for some blank node _:x, right? I mean you have the RDF simple entailment rules se1 and se2 (http://www.w3.org/TR/rdf-mt/#simpleRules), which could be used to add _:x :p :o with se2, but you do not use that, right? For simple entailment one just has to check sub-graphs of the queried graph. Birte > Andy > > -- Dr. Birte Glimm, Room 306 Computing Laboratory Parks Road Oxford OX1 3QD United Kingdom +44 (0)1865 283529
Received on Tuesday, 6 October 2009 12:51:47 UTC