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


Reply via email to