cardinality of solutions to a BGP

I have read Perez et.al "Semantics of SPARQL"
and on the whole agree with it.  In particular, it handles
the domain issues that are fuzzy in the SPARQL working draft,
and section 5.2 "Bag/multisets semantics cand cardinality"
defines the cardinality semantics that I have been advocating.

However, I wonder whether Definition 5.6 "Cardinality of
basic graph pattern solutions" is desirable.  The problem is
that this definition does not appear to extend to entailment
regimes, where blank nodes are treated as existential variables.

For example, given graph

{ <x> <v> <y1> . <x> <v> <y2> }

and pattern

?x <v> _:y

what are the solutions and their cardinalities?  The only
solution must be ?x -> <x>.  With Definition 5.6, this
solution has cardinality 2.  However, with entailment,
I think it would have cardinality 1.

Experts on entailment should look at this.  If my suspicion
is correct, I think it is readily fixed: just change Definition 5.6
to say that the cardinality of a solution of a BGP is always 1.

Fred

Received on Friday, 10 November 2006 18:53:42 UTC