You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "Rob Vesse (JIRA)" <ji...@apache.org> on 2012/11/09 19:08:12 UTC

[jira] [Resolved] (JENA-345) execConstructTriples() does not eliminate malformed triples from it's output

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

Rob Vesse resolved JENA-345.
----------------------------

       Resolution: Fixed
    Fix Version/s: Jena 2.10.0
    
> execConstructTriples() does not eliminate malformed triples from it's output
> ----------------------------------------------------------------------------
>
>                 Key: JENA-345
>                 URL: https://issues.apache.org/jira/browse/JENA-345
>             Project: Apache Jena
>          Issue Type: Bug
>          Components: ARQ
>    Affects Versions: ARQ 2.9.4
>            Reporter: Rob Vesse
>            Assignee: Rob Vesse
>              Labels: construct, sparql
>             Fix For: Jena 2.10.0
>
>
> Start from any model which has triples containing only literals as their subjects, then try the following:
>     @Test public void testConstructRejectsBadTriples1()
>     {
>         String queryString = "CONSTRUCT { ?s ?p ?o } WHERE { ?o ?p ?s }";
>         Query q = QueryFactory.create(queryString);
>         
>         QueryExecution qExec = QueryExecutionFactory.create(q, m);
>         
>         Model resultModel = qExec.execConstruct();
>         assertEquals(0, resultModel.size());
>     }
>     
>     @Test public void testConstructRejectsBadTriples2()
>     {
>         String queryString = "CONSTRUCT { ?s ?p ?o } WHERE { ?o ?p ?s }";
>         Query q = QueryFactory.create(queryString);
>         
>         QueryExecution qExec = QueryExecutionFactory.create(q, m);
>         
>         Iterator<Triple> ts = qExec.execConstructTriples();
>         long count = 0;
>         while (ts.hasNext()) {
>             count++;
>             ts.next();
>         }
>         assertEquals(0, count);
>     }
> The first test passes because execConstruct() correctly rejects triples with literal subjects as invalid, the second test fails because execConstructTriples() does not follow this behavior.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira