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

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

Dave Reynolds created JENA-710:
----------------------------------

             Summary: 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: Minor


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:

    CONSTRUCT {
        ?s ?p ?o 
    } WHERE {
        GRAPH ?g {?s ?p ?o} 
         FILTER ( strStarts(str(?g), 'http://localhost/graph/2013') ) 
    }

Filters involving `GRAPH ?g {}` work so a work-around is to use a sub-query:

    CONSTRUCT {
        ?s ?p ?o .
    } WHERE {
        {
            SELECT ?g WHERE {
                GRAPH ?g {}
                FILTER ( strStarts(str(?g), 'http://localhost/graph/2013') ) 
            }
        }
        GRAPH ?g {
            ?s ?p ?o .
        }
    }

Test case attached (or will be when I figure out how to do that).



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