Dear W3C,

i've encountered a problem while reading the SPARQL 1.1 Proposed Recommendation of November 8.

The question i have is in regards to an example in section 9.2. The example deals with Inverse Path Sequences and has the following example:

{
    ?x foaf:knows/^foaf:knows ?y .
    FILTER(?x != ?y)
  }


is equivalent to

  {
    ?x foaf:knows ?gen1 .
    ?gen1 foaf:knows ?y .
    FILTER(?x != ?y)
  }

However, in my opinion it should be equivalent to

  {
    ?x foaf:knows ?gen1 .
    ?y foaf:knows ?gen1 .
    FILTER(?x != ?y)
  }

Otherwise i fail to see the difference between the orgininal query and the same query without an inversion. I would like to hear your opinion on the matter. Moreover i have a question regarding the following query:

{
    ?x ^(foaf:a/foaf:b) ?y .
  }

I would think, that the equivalent query would be the following:

{
    ?y foaf:b ?gen1 .
    ?gen1 foaf:a ?x .
  }

Am i correct there?

Thank you for answers.

Greetings,

Christopher Schramm



Reply via email to