Thanks Nathan,
the tip you gave me worked.
Nevertheless, there were  some drawbacks.
Reasoning is not complete any more, if you limit the t_max.
Also it still needed quite some time.
I solved it the dirty way for now, because I wanted to have it solved quickly. I just computed the transitive closure, which blew up the size of triples three times. Virtuoso can handle large amounts of data very good, so this is probably the golden choice, if you do not want to waste time when doing a lot of transitive queries, which need to go fast.
RDFS reasoning is still quite fast, so I kept that.
Maybe speed for transitivity can be improved by giving it more memory? (not sure)

Regards,
Sebastian

Nathan schrieb:
Sebastian Hellmann wrote:
Hello,
I get the the following error for this OWL Concept:
Sentence and hasToken some VVPP and hasToken some (APPR and nextToken some VVPP))
nextToken is transitive.

*** Error 42000: [Virtuoso Driver][Virtuoso Server]TN...: Exceeded 100.000.000 bytes in transitive temp memory. use t_distinct, t_max or more T_MAX_memory options to limit the search or increase the pool
at line 28 of Top-Level:
sparql define input:inference "http://nlp2rdf.org/schema/rules1";
SELECT DISTINCT ?subject  {
?subject a <http://nlp2rdf.org/ontology/Sentence> .
?subject <http://nlp2rdf.org/ontology/hasToken> ?object0.
?object0 a <http://nlp2rdf.org/ontology/VVPP> .
?subject <http://nlp2rdf.org/ontology/hasToken> ?object1.
?object1 a <http://nlp2rdf.org/ontology/APPR> .
?object1 <http://nlp2rdf.org/ontology/nextToken> ?object2.
?object2 a <http://nlp2rdf.org/ontology/VVPP>  } ;

I've read about option(transitive, t_in() and I tried this:
object1 <http://nlp2rdf.org/ontology/nextToken> ?object2
OPTION (TRANSITIVE , t_in(?object1), t_out(?object2), T_DIRECTION 1 , T_NO_CYCLES) .
unsuccessfully...

How is it possible to just increase  T_MAX_memory ?

Personally I don't know; but I'd like to :)

in the meantime; I found that in recent times I've not hit the max
memory limit - I'd suggest trying the following options in the meantime:

object1 <http://nlp2rdf.org/ontology/nextToken> ?object2
OPTION (TRANSITIVE , T_DISTINCT, t_in(?object1), t_out(?object2),
t_max(6), T_DIRECTION 1 , T_NO_CYCLES) .

feel free to use either / or T_DISTINCT / t_max and swap out the values
to something that runs quickly yet gives you the results you want.

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Virtuoso-users mailing list
Virtuoso-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/virtuoso-users



--
Dipl. Inf. Sebastian Hellmann
Department of Computer Science, University of Leipzig
Homepage: http://bis.informatik.uni-leipzig.de/SebastianHellmann
Research Group: http://aksw.org


Reply via email to