Hi Roberto, Can you please provide the content of the [SPARQL] section of the “virtuoso.ini” file so we can see what setting are in place.
Is your ontology and data available for public download ? If so please provide the location they can be downloaded from, which datasets to load and we can attempt a recreation in-house. Best Regards Hugh Williams Professional Services OpenLink Software Web: http://www.openlinksw.com Support: http://support.openlinksw.com Forums: http://boards.openlinksw.com/support Twitter: http://twitter.com/OpenLink On 9 May 2011, at 23:56, Roberto García wrote: >> Please provide the command used for creating the rule sets and confirm they >> exist in the “sys_rdf_schema” table ? > > Yes, I used > rdfs_rule_set('http://semantic.eurobau.com/data/schema/rules/','http://semantic.eurobau.com/data/schema/'); > > And they exist in that table. > >> Based on the details below is would appear you have about 100000 triples >> loaded in total and the status output indicates that only abt 160000 of the >> 500000 buffers are allocated with no locks etc so the system seems pretty >> much idle and thus should be performant. To see how performant the system >> is can you try counting all the triples in the store with the command >> “select * from where {?s ?p ?o}” and see how long it takes. How long do >> these queries below take to run if the inference rule is removed ? It would >> also be interesting to see the compiler execution plan for these queries >> using the Virtuoso explain() function as detailed at: > > I counted all triples in virtuoso with "select count(*) where {?s ?p > ?o}". The result is 117550498 and it took more or less 15 seconds. > For the Eurobau data graph (http://semantic.eurobau.com/data/) the > count is 89911 and 1 or 2 secs. > For the Eurobau schema graph > (http://semantic.eurobau.com/data/schema/) 79544 triples and also 1 or > 2 seconds. > > If there is no inference, the query is almost instantaneous and > correctly responds 0: > SELECT count(*) > FROM <http://semantic.eurobau.com/data/> > WHERE > { ?x a <http://purl.org/goodrelations/v1#ProductOrService> } > > And here is what I get with fn_explain (inference enabled): > > explain('sparql define input:inference > "http://semantic.eurobau.com/data/schema/rules/" SELECT count(?x) > FROM <http://semantic.eurobau.com/data/> FROM > <http://semantic.eurobau.com/data/schema/> WHERE { ?x a > <http://purl.org/goodrelations/v1#ProductOrService> }'); > > { > Fork 34 > { > RDF Inference subproperty iterates $28 "inferred" > o= <none> p= #type > RDF Inference subclass iterates $31 "inferred" > o= #ProductOrService p= <none> > from DB.DBA.RDF_QUAD by RDF_QUAD 1.2 rows > Key RDF_QUAD ASC ($22 "s-1-1-t0.S", $21 "s-1-1-t0.G") > inlined <col=551 P = $28 "inferred"> > 0 > Local Test > 0: $25 "one_of_these" := Call one_of_these ($21 "s-1-1-t0.G", #data/ > , #data/schema/ ) > 5: if ( 0 2(<) $25 "one_of_these") then 8 else 9 unkn 9 > 8: BReturn 1 > 9: BReturn 0 > Local Code > 0: if ($22 "s-1-1-t0.S" 16( IS NULL ) 0 ) then 3 else 8 unkn 8 > 3: $32 "callretSearchedCASE" := := artm 0 > 7: Jump 12 (level=0) > 8: $32 "callretSearchedCASE" := := artm 1 > 12: $33 "one_of_these" := Call one_of_these ($21 "s-1-1-t0.G", > #data/ , #data/schema/ ) > 17: if ($32 "callretSearchedCASE" 16( IS NULL ) <none> ) then 32 > else 20 unkn 32 > 20: if ($36 "callret-0" 16( IS NULL ) <none> ) then 23 else 28 unkn 32 > 23: $36 "callret-0" := := artm $32 "callretSearchedCASE" > 27: Jump 32 (level=0) > 28: $36 "callret-0" := artm $36 "callret-0" + $32 "callretSearchedCASE" > 32: BReturn 0 > > } > Select ($36 "callret-0", <$24 "<DB.DBA.RDF_QUAD s-1-1-t0>" spec 5>) > } > > > Best, > > Roberto > > ------------------------------------------------------------------------------ > Achieve unprecedented app performance and reliability > What every C/C++ and Fortran developer should know. > Learn how Intel has extended the reach of its next-generation tools > to help boost performance applications - inlcuding clusters. > http://p.sf.net/sfu/intel-dev2devmay > _______________________________________________ > Virtuoso-users mailing list > Virtuoso-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/virtuoso-users