Hi Hugh,
There was only one defined index on that table (RDF_QUAD_OGPS). I have
added the following:
create index RDF_QUAD_GSPO on DB.DBA.RDF_QUAD (G,S,P,O);
create bitmap index RDF_QUAD_POGS on DB.DBA.RDF_QUAD (P,O,G,S);
create bitmap index RDF_QUAD_PSOG on DB.DBA.RDF_QUAD (P,S,O,G);
create index RDF_QUAD_PSGO on DB.DBA.RDF_QUAD (P,S,G,O);
and the queries are still taking a lot of time although there seems to
be faster in some cases.
In http://docs.openlinksw.com/virtuoso/rdfperformancetuning.html it is
recommended to have such similar indexes. I was not able to create the
ones with partitions since it seems that the partition option only works
when one has a cluster? "...If clustering is not enabled, partitioning
can still be declared but it will have no effect..." (c.f.
http://docs.openlinksw.com/virtuoso/clusteroperationpart.html). Is
virtuoso V5 capable of dealing with that? If so, how should I do it?
I tried to follow the commands about the DBpedia benchmark
(http://docs.openlinksw.com/virtuoso/rdfperformancetuning.html) however,
after creating table r2 ( create table r2 (g iri_id, s iri_id, p
iri_id, o any, primary key (s, p, o, g)) ) then I tried to alter its
index (alter index R2 on R2 partition (s int (0hexffff00));) I got:
SQL> create table r2 (g iri_id, s iri_id, p iri_id, o any, primary key
(s, p, o, g))
Type the rest of statement, end with a semicolon (;)> ;
Done. -- 122 msec.
SQL> alter index R2 on R2 partition (s int (0hexffff00));
*** Error 37000: [Virtuoso Driver][Virtuoso Server]SQ074: Line 1: syntax
error at 'index' before 'R2'
at line 3 of Top-Level:
alter index R2 on R2 partition (s int (0hexffff00))
SQL>
Regards,
Erick
Hugh Williams wrote:
Hi Erick,
Can you confirm that the bitmap indexes are in place on your Virtuoso
RDF Quad store table "DB.DBA.RDF_QUAD", you can check this from the
Virtuoso Conductor by checking the indexes this table ?
The indexes we recommend be set on the table are:
create bitmap index rdf_quad_opgs on rdf_quad (o, p, g, s) partition
(o varchar (-1, 0hexffff));
create bitmap index rdf_quad_pogs on rdf_quad (p, o, g, s) partition
(o varchar (-1, 0hexffff));
create bitmap index rdf_quad_gpos on rdf_quad (g, p, o, s) partition
(o varchar (-1, 0hexffff));
See:
http://docs.openlinksw.com/virtuoso/rdfperformancetuning.html
If you are increasing the memory in your machine then you should be
able to increase the amount of memory available fro use by Virtuoso in
the ini file to be 2/3 to 3/5 of the available memory as detailed in
the document above which should improve performance of queries.
Regards
Hugh
/opt/Ingres/IngresII/ingres
On 10 Jun 2008, at 11:06, Erick Antezana wrote: