[ 
https://issues.apache.org/jira/browse/JENA-1254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andy Seaborne closed JENA-1254.
-------------------------------
    Resolution: Fixed

Closed after a week.

> GROUP_CONCAT returns nothing when concatenating unbound and bound values.
> -------------------------------------------------------------------------
>
>                 Key: JENA-1254
>                 URL: https://issues.apache.org/jira/browse/JENA-1254
>             Project: Apache Jena
>          Issue Type: Bug
>          Components: ARQ
>    Affects Versions: Jena 3.1.0
>            Reporter: Yev Bronshteyn
>         Attachments: c_spdxtest_5530.rdf
>
>
> The following two queries have the same triples in their {{where}} clauses in 
> different order. While it is expected that the first query will return only 
> one solution and the second query - multiple (per 
> https://wiki.blazegraph.com/wiki/index.php/SPARQL_Order_Matters), it is *not* 
> expected that the optional {{copyrightTexts}} value will appear in the result 
> of the first query, but not in the corresponding solution in the result of 
> the second query.
> {code}
> prefix spdx: <http://spdx.org/rdf/terms#>
> prefix rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
> prefix doap:<http://usefulinc.com/ns/doap#>
>  
> select
>       (group_concat(distinct(?licText);separator="\n\n") as ?licTexts)
>     (group_concat(?copyrightText;separator="\n\n") as ?copyrightTexts)
>       ?name
> where {
>         optional  {
>             ?elem spdx:copyrightText ?copyrightText .
>             filter (isLiteral(?copyrightText))
>         } .
>         {
>             # And the name
>             {?elem spdx:name ?name}
>             union
>             {
>                 ?elem spdx:artifactOf ?artifact .
>                 ?artifact doap:name ?name
>             }
>         }.
> }
> group by ?name
> {code}
> And
> {code}
> prefix spdx: <http://spdx.org/rdf/terms#>
> prefix rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
> prefix doap:<http://usefulinc.com/ns/doap#>
>  
> select
>       (group_concat(distinct(?licText);separator="\n\n") as ?licTexts)
>         (group_concat(?copyrightText;separator="\n\n") as ?copyrightTexts)
>       ?name
> where {
>         {
>             # And the name
>             {?elem spdx:name ?name}
>             union
>             {
>                 ?elem spdx:artifactOf ?artifact .
>                 ?artifact doap:name ?name
>             }
>         }.
>         optional  {
>             ?elem spdx:copyrightText ?copyrightText .
>             filter (isLiteral(?copyrightText))
>         } .
> }
> group by ?name
> {code}
> The issue seems to be that with the second query, GROUP_CONCAT has to 
> concatenate the bound value of ?copyrightText with unbound values. Changing 
> the second query to unconditionally bind a value to ?copyrightText eliminates 
> the behavior.



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

Reply via email to