Sorry I forgot to include the full exception

Caused by: org.apache.jena.tdb.transaction.TDBTransactionException: Not in a 
transaction
        at 
org.apache.jena.tdb.transaction.DatasetGraphTransaction.get(DatasetGraphTransaction.java:117)
        at 
org.apache.jena.tdb.transaction.DatasetGraphTransaction.get(DatasetGraphTransaction.java:50)
        at 
org.apache.jena.sparql.core.DatasetGraphWrapper.getR(DatasetGraphWrapper.java:61)
        at 
org.apache.jena.sparql.core.DatasetGraphWrapper.find(DatasetGraphWrapper.java:146)
        at 
org.apache.jena.sparql.core.GraphView.graphBaseFind(GraphView.java:121)
        at org.apache.jena.graph.impl.GraphBase.find(GraphBase.java:255)
        at 
org.apache.jena.sparql.path.eval.PathEngine.graphFind2(PathEngine.java:205)
        at 
org.apache.jena.sparql.path.eval.PathEngine.graphFind(PathEngine.java:189)
        at 
org.apache.jena.sparql.path.eval.PathEngine.graphFind(PathEngine.java:171)
        at org.apache.jena.sparql.path.eval.PathEngine.doOne(PathEngine.java:92)
        at 
org.apache.jena.sparql.path.eval.PathEvaluator.visit(PathEvaluator.java:57)
        at org.apache.jena.sparql.path.P_Link.visit(P_Link.java:37)
        at org.apache.jena.sparql.path.eval.PathEval.eval$(PathEval.java:68)
        at org.apache.jena.sparql.path.eval.PathEval.eval$(PathEval.java:74)
        at org.apache.jena.sparql.path.eval.PathEngine.eval(PathEngine.java:75)
        at 
org.apache.jena.sparql.path.eval.PathEngineSPARQL.ALP_1(PathEngineSPARQL.java:119)
        at 
org.apache.jena.sparql.path.eval.PathEngineSPARQL.doZeroOrMore(PathEngineSPARQL.java:92)
        at 
org.apache.jena.sparql.path.eval.PathEvaluator.visit(PathEvaluator.java:115)
        at 
org.apache.jena.sparql.path.P_ZeroOrMore1.visit(P_ZeroOrMore1.java:43)
        at org.apache.jena.sparql.path.eval.PathEval.eval$(PathEval.java:68)
        at org.apache.jena.sparql.path.eval.PathEval.eval$(PathEval.java:74)
        at org.apache.jena.sparql.path.eval.PathEval.eval(PathEval.java:37)
        at 
org.apache.jena.sparql.path.PathLib.evalGroundedPath(PathLib.java:166)
        at org.apache.jena.sparql.path.PathLib.execTriplePath(PathLib.java:133)
        at org.apache.jena.sparql.path.PathLib.execTriplePath(PathLib.java:108)
        at 
org.apache.jena.sparql.engine.iterator.QueryIterPath.nextStage(QueryIterPath.java:47)
        at 
org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage(QueryIterRepeatApply.java:108)
        at 
org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:65)
        at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
        at org.apache.jena.atlas.iterator.Iter$2.hasNext(Iter.java:265)
        at 
org.apache.jena.atlas.iterator.RepeatApplyIterator.hasNext(RepeatApplyIterator.java:45)
        at 
org.apache.jena.tdb.solver.SolverLib$IterAbortable.hasNext(SolverLib.java:195)
        at org.apache.jena.atlas.iterator.Iter$2.hasNext(Iter.java:265)
        at 
org.apache.jena.sparql.engine.iterator.QueryIterPlainWrapper.hasNextBinding(QueryIterPlainWrapper.java:53)
        at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
        at 
org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage(QueryIterRepeatApply.java:101)
        at 
org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:65)
        at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
        at 
org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage(QueryIterRepeatApply.java:101)
        at 
org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:65)
        at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
        at 
org.apache.jena.sparql.engine.iterator.QueryIterGroup$1.initializeIterator(QueryIterGroup.java:86)
        at 
org.apache.jena.atlas.iterator.IteratorDelayedInitialization.init(IteratorDelayedInitialization.java:40)
        at 
org.apache.jena.atlas.iterator.IteratorDelayedInitialization.hasNext(IteratorDelayedInitialization.java:50)
        at 
org.apache.jena.sparql.engine.iterator.QueryIterPlainWrapper.hasNextBinding(QueryIterPlainWrapper.java:53)
        at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
        at 
org.apache.jena.sparql.engine.iterator.QueryIterProcessBinding.hasNextBinding(QueryIterProcessBinding.java:66)
        at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
        at 
org.apache.jena.sparql.engine.iterator.QueryIterConvert.hasNextBinding(QueryIterConvert.java:58)
        at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
        at 
org.apache.jena.sparql.engine.iterator.QueryIterDistinct.getInputNextUnseen(QueryIterDistinct.java:104)
        at 
org.apache.jena.sparql.engine.iterator.QueryIterDistinct.hasNextBinding(QueryIterDistinct.java:70)
        at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
        at java.util.Iterator.forEachRemaining(Iterator.java:115)
        at org.apache.jena.atlas.data.DataBag.addAll(DataBag.java:94)
        at 
org.apache.jena.sparql.engine.iterator.QueryIterSort$SortedBindingIterator.initializeIterator(QueryIterSort.java:84)
        at 
org.apache.jena.atlas.iterator.IteratorDelayedInitialization.init(IteratorDelayedInitialization.java:40)
        at 
org.apache.jena.atlas.iterator.IteratorDelayedInitialization.hasNext(IteratorDelayedInitialization.java:50)
        at 
org.apache.jena.sparql.engine.iterator.QueryIterPlainWrapper.hasNextBinding(QueryIterPlainWrapper.java:53)
        at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
        at 
org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:39)
        at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
        at 
org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:39)
        at 
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
        at 
org.apache.jena.sparql.engine.ResultSetStream.hasNext(ResultSetStream.java:74)
        at 
org.apache.jena.sparql.engine.ResultSetCheckCondition.hasNext(ResultSetCheckCondition.java:55)




On 27/02/2017 19:18, George News wrote:
> Hi,
> 
> I have a SELECT SPARQL query similar to the one below:
> 
> |PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs:
> <http://www.w3.org/2000/01/rdf-schema#> SELECT (count(distinct ?o) as
> ?count_o) (count(distinct ?device) as ?count_devices) WHERE { {?o
> rdf:type/rdfs:subClassOf CLASS1 .} UNION {?device
> rdf:type/rdfs:subClassOf CLASS2 .} } |
> 
> If I execute it as it is, I get
> 
> |org.apache.jena.tdb.transaction.TDBTransactionException: Not in a
> transaction |
> 
> However if I execute it like
> 
> |PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs:
> <http://www.w3.org/2000/01/rdf-schema#> SELECT (count(distinct ?o) as
> ?count_observations) WHERE { {?o rdf:type/rdfs:subClassOf CLASS1 .} } |
> 
> everything is working ok. It doesn’t matter if I use one or the other
> part of the union, as it works ok independently but not together.
> 
> Any idea? Any help is more than welcome.
> 
> Find below part of the code:
> 
> |public SparqlResult executeSparql(String sparql) throws
> SparqlExecutionException { String queryString = sparql; Query query =
> QueryFactory.create(queryString); dataset.begin(ReadWrite.READ); try {
> QueryExecution qExec = QueryExecutionFactory.create(query, getModel());
> // System.out.println(qExec.getQuery().serialize()); //
> System.out.println(qExec.getQuery().toString()); SparqlResult result; if
> (query.isSelectType()) { result = new SparqlResult(qExec.execSelect(),
> qExec); } else if (query.isDescribeType()) { result = new
> SparqlResult(qExec.execDescribe(), qExec); } else if (query.isAskType())
> { result = new SparqlResult(qExec.execAsk(), qExec); } else if
> (query.isConstructType()) { result = new
> SparqlResult(qExec.execConstruct(), qExec); } else { throw new
> SparqlExecutionException("Unsupported query type: " +
> query.getQueryType()); } return result; } finally { dataset.end(); }
> private Map<String, Integer> getSummaryStatistics() { String queryString
> = "THE_ONE"; Map<String, Integer> statistics = new HashMap<>();
> GlobalTripleStore gts = new GlobalTripleStore(); try (SparqlResult
> result = gts.executeSparql(queryString)) { ResultSet resultSet =
> (ResultSet) result.getResult(); while (resultSet.hasNext()) {
> QuerySolution sol = resultSet.next(); int devices =
> sol.get("count_devices").asLiteral().getInt(); int observations
> =sol.get("count_o").asLiteral().getInt(); statistics.put("devices",
> resources); statistics.put("o", observations); } } catch
> (SparqlExecutionException e) { // TODO Auto-generated catch block
> e.printStackTrace(); } return statistics; } |
> 
> ​
> 
> 

Reply via email to