You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "Andy Seaborne (JIRA)" <ji...@apache.org> on 2014/06/10 14:31:02 UTC

[jira] [Commented] (JENA-710) Filter on graphname in TDB differs from memory dataset

    [ https://issues.apache.org/jira/browse/JENA-710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14026386#comment-14026386 ] 

Andy Seaborne commented on JENA-710:
------------------------------------

Filter placement is going wrong for some quad patterns.

> Filter on graphname in TDB differs from memory dataset
> ------------------------------------------------------
>
>                 Key: JENA-710
>                 URL: https://issues.apache.org/jira/browse/JENA-710
>             Project: Apache Jena
>          Issue Type: Bug
>          Components: TDB
>    Affects Versions: Jena 2.11.2
>         Environment: Ubuntu, OpenJDK 1.7
>            Reporter: Dave Reynolds
>            Priority: Critical
>         Attachments: TestGraphFilter.java
>
>
> Attempting to create union of a set of graphs in a dataset whose graph name matches some pattern.
> A construct query which works for a memory dataset fails (empty result) for a TDB dataset:
> {noformat}
>     CONSTRUCT {
>         ?s ?p ?o 
>     } WHERE {
>         GRAPH ?g {?s ?p ?o} 
>          FILTER ( strStarts(str(?g), 'http://localhost/graph/2013') ) 
>     }
> {noformat}
> Filters involving `GRAPH ?g {}` work so a work-around is to use a sub-query:
> {noformat}
>     CONSTRUCT {
>         ?s ?p ?o .
>     } WHERE {
>         {
>             SELECT ?g WHERE {
>                 GRAPH ?g {}
>                 FILTER ( strStarts(str(?g), 'http://localhost/graph/2013') ) 
>             }
>         }
>         GRAPH ?g {
>             ?s ?p ?o .
>         }
>     }
> {noformat}
> Test case attached (or will be when I figure out how to do that).



--
This message was sent by Atlassian JIRA
(v6.2#6252)