You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "Eetu Mäkelä (JIRA)" <ji...@apache.org> on 2016/05/31 02:43:12 UTC

[jira] [Created] (JENA-1187) Wrong results/performance regression when using BIND and graph pattern groups

Eetu Mäkelä created JENA-1187:
---------------------------------

             Summary: Wrong results/performance regression when using BIND and graph pattern groups
                 Key: JENA-1187
                 URL: https://issues.apache.org/jira/browse/JENA-1187
             Project: Apache Jena
          Issue Type: Bug
          Components: ARQ
    Affects Versions: Fuseki 2.4.0, Jena 3.1.0
            Reporter: Eetu Mäkelä


I've been using SPARQL queries with BINDs and/or VALUESs that precede UNION blocks. These used to work efficiently (at least in Jena 2 times) with the bound value being bound also in the subpattern, but no longer do. In addition, at certain times, they produce nonsensical results. For example, the below returns {{rdf:type}} statements in the dataset without any regard to ?cl:
{code}
SELECT * {
  {
    BIND("nonexistant" AS ?cl)
    {
      BIND(?cl AS ?cl2)
      ?c a ?cl2 .
    } UNION {
      BIND(?cl AS ?cl2)
      ?c a ?cl2 .
    }
  }
}
LIMIT 10
{code}
while if you change _just one_ of the subpatterns in the union to directly refer to ?cl, it returns an empty result set:
{code}
SELECT * {
  {
    BIND("nonexistant" AS ?cl)
    {
      BIND(?cl AS ?cl2)
      ?c a ?cl .
    } UNION {
      BIND(?cl AS ?cl2)
      ?c a ?cl2 .
    }
  }
}
LIMIT 10
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)