Davide,

See https://issues.apache.org/jira/browse/JENA-1376

In that ticket, the interaction of long chains and then later restriction, enabled a workaround.

What is your query?

    Andy

On 06/07/18 13:06, ajs6f wrote:
Is it possible that you have cycles in your subgraphs, in the prop:next 
predicate?

Cycles are fine.


ajs6f

On Jul 6, 2018, at 3:29 AM, Davide <kasted...@gmail.com> wrote:

In the dataset I've many not connected subgraphs. And each subgraph has
many chained data. So, when I've to retrieve a subgraph, I execute a query,
where "?a" is the root, and I visit the graph with prop:next+. Am I doing
wrong to handle the problem?

Thanks

2018-07-05 18:07 GMT+02:00 Andy Seaborne <a...@apache.org>:



On 05/07/18 10:52, Davide wrote:

Hi,
I've a question. First I created a TDB dataset with Fuseki, I loaded data,
and I make a query adding in the where construct a condition like this:

?a prop:next+ ?next


What does the data look link?

There seems to be an extreme chain of prop:next.

    Andy



with LIMIT 100

And it worked.
Now I create a new TDB2 dataset with Fuseki, I loaded more data than the
other time, and I make the same query. But after 2 seconds I obtained this
error:

"Fuseki     WARN  [15] RC = 500 : null
java.lang.StackOverflowError
at
org.apache.jena.dboe.base.file.BlockAccessMapped.getByteBuff
er(BlockAccessMapped.java:146)
at
org.apache.jena.dboe.base.file.BlockAccessMapped.read(BlockA
ccessMapped.java:91)
at
org.apache.jena.dboe.base.block.BlockMgrFileAccess.getBlock(
BlockMgrFileAccess.java:71)
at
org.apache.jena.dboe.base.block.BlockMgrFileAccess.getRead(
BlockMgrFileAccess.java:61)
at
org.apache.jena.dboe.base.block.BlockMgrWrapper.getRead(Bloc
kMgrWrapper.java:47)
at
org.apache.jena.dboe.base.page.PageBlockMgr.getRead$(PageBlo
ckMgr.java:104)
at org.apache.jena.dboe.base.page.PageBlockMgr.getRead(PageBloc
kMgr.java:77)
at org.apache.jena.dboe.trans.bplustree.BPTreeNode.get(BPTreeNo
de.java:159)
at
org.apache.jena.dboe.trans.bplustree.BPTreeNode.findHere(BPT
reeNode.java:476)
at
org.apache.jena.dboe.trans.bplustree.BPTreeNode.internalSear
ch(BPTreeNode.java:462)
at
org.apache.jena.dboe.trans.bplustree.BPTreeNode.internalSear
ch(BPTreeNode.java:463)
at
org.apache.jena.dboe.trans.bplustree.BPTreeNode.internalSear
ch(BPTreeNode.java:463)
at
org.apache.jena.dboe.trans.bplustree.BPTreeRangeIteratorMapp
er.loadStack(BPTreeRangeIteratorMapper.java:122)
at
org.apache.jena.dboe.trans.bplustree.BPTreeRangeIteratorMapp
er.<init>(BPTreeRangeIteratorMapper.java:62)
at
org.apache.jena.dboe.trans.bplustree.BPTreeRangeIteratorMapp
er.create(BPTreeRangeIteratorMapper.java:43)
at
org.apache.jena.dboe.trans.bplustree.BPlusTree.iterator(BPlu
sTree.java:356)
at
org.apache.jena.dboe.trans.bplustree.BPlusTree.iterator(BPlu
sTree.java:351)
at
org.apache.jena.tdb2.store.tupletable.TupleIndexRecord.findW
orker(TupleIndexRecord.java:202)
at
org.apache.jena.tdb2.store.tupletable.TupleIndexRecord.findO
rScan(TupleIndexRecord.java:129)
at
org.apache.jena.tdb2.store.tupletable.TupleIndexRecord.perfo
rmFind(TupleIndexRecord.java:124)
at
org.apache.jena.tdb2.store.tupletable.TupleIndexBase.find(
TupleIndexBase.java:91)
at
org.apache.jena.tdb2.store.tupletable.TupleTable.find(TupleT
able.java:165)
at
org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConc
rete.find(NodeTupleTableConcrete.java:161)
at
org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConc
rete.find(NodeTupleTableConcrete.java:150)
at
org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConc
rete.findAsNodeIds(NodeTupleTableConcrete.java:141)
at org.apache.jena.tdb2.store.TripleTable.find(TripleTable.java:64)
at
org.apache.jena.tdb2.store.DatasetGraphTDB.findInDftGraph(Da
tasetGraphTDB.java:104)
at
org.apache.jena.sparql.core.DatasetGraphBaseFind.find(Datase
tGraphBaseFind.java:47)
at org.apache.jena.sparql.core.GraphView.graphBaseFind(GraphVie
w.java:124)
at org.apache.jena.graph.impl.GraphBase.find(GraphBase.java:255)
at
org.apache.jena.sparql.path.eval.PathEngine.graphFind2(PathE
ngine.java:205)
at
org.apache.jena.sparql.path.eval.PathEngine.graphFind(PathEn
gine.java:189)
at
org.apache.jena.sparql.path.eval.PathEngine.graphFind(PathEn
gine.java:171)
at org.apache.jena.sparql.path.eval.PathEngine.doOne(PathEngine.java:92)
at
org.apache.jena.sparql.path.eval.PathEvaluator.visit(PathEva
luator.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(Path
EngineSPARQL.java:129)
at
org.apache.jena.sparql.path.eval.PathEngineSPARQL.ALP_1(Path
EngineSPARQL.java:133)
at
org.apache.jena.sparql.path.eval.PathEngineSPARQL.ALP_1(Path
EngineSPARQL.java:133)
at
org.apache.jena.sparql.path.eval.PathEngineSPARQL.ALP_1(Path
EngineSPARQL.java:133)
at
org.apache.jena.sparql.path.eval.PathEngineSPARQL.ALP_1(Path
EngineSPARQL.java:133)
at
org.apache.jena.sparql.path.eval.PathEngineSPARQL.ALP_1(Path
EngineSPARQL.java:133)"

What could be the problem?
Thanks a lot

Regards,

Davide



Reply via email to