Rob Vesse created JENA-345:
------------------------------
Summary: 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
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