- From: Fred Zemke <fred.zemke@oracle.com>
- Date: Fri, 09 Jun 2006 22:53:05 +0000
- To: public-rdf-dawg@w3.org
4.1 Group graph patterns The formal semantics of group graph patterns does not work in conjunction with the definiton of basic graph pattern matching (section 2.5.1 "General framework"). For example, let G be the graph <s> <v1> <o1> . <s> <v2> <o2> . Consider the pattern { ?x <v1> _:a } { ?x <v2> _:a } The pattern is a group graph pattern consisting of two triple patterns. According to the definition, we are looking for a solution S that is a solution of { ?x <v1> _:a } and a solution of { ?x <v2> _:a }. As a trial solution, consider the function S that maps ?x to <s>. I claim that S is a solution of both subpatterns. For the first pattern, according to the definition of basic graph pattern E-matching the question is whether the following graph <s> <v1> <o1> . <s> <v2> <o2> . <s> <v1> _:a . is entailed by G. The answer is yes. Similarly, s is a solution of the second pattern as well. The problem in logical terms is that "for all x there exists y such that P(x, y)" is not as strong an assertion as "there exists y such that for all x, P(x, y)". The current definition only supports the weaker assertion "for all there exist" rather than the desired assertion "there exists for all". Mathematicians generally use the term "uniform" to describe "for all there exists" situations (for example, the definition of uniform continuity). On the other hand, if one uses the alternative definition of triple matching in section 2.5.2 "SPARQL basic graph pattern matching", the uniform treatment of blank node identifiers in graph patterns is assured. This definition says that a solution is found by mapping variables and blank node identifiers to RDF terms. In that case the trial solution S must specify which node in G the blank node identifier _:a is bound to. Since there is no single choice that works, there is no solution to the pattern. Fred
Received on Friday, 9 June 2006 23:09:39 UTC