Ticket #120 (closed defect: fixed)

Opened 7 months ago

Last modified 6 months ago

Repeated variables are not handled correctly

Reported by: pag Assigned to: pag
Priority: blocker Milestone: SPARQL Query Engine
Component: Mulgara Version: 2.0-beta
Keywords: Cc:

Description (Last modified by pag)

Basic graph patterns with repeated variables are not available in graphs defined with a variable.

Use the following mapping patterns (actual positions are variable):
($x $x * *) -> ($x $x1 * *) AND ($x1 $x * *)
($x $x $x *) -> ($x $x1 $x2 *) AND ($x2 $x $x1 *) AND ($x1 $x2 $x *)
($x $x $x $x) -> ($x $x1 $x2 $x3) AND ($x3 $x $x1 $x2) AND ($x2 $x3 $x $x1)

Change History

05/17/08 16:14:42 changed by pag

  • description changed.

05/30/08 18:54:40 changed by pag

  • status changed from new to closed.
  • resolution set to fixed.

Turned out that this approach does NOT work, though it does come close. The reason why it doesn't work is apparent in the following data set:

  @prefix : <http://example.org/data/> .
  :y :y :x .
  :x :y :y .
  :y :x :y .

Instead, the transformation is now performed by changing the constraint to just one other form, but then wrapping it in a filter constraint set for SameTerm on the various forms of the repeated variable.