Hi Sebastian,
Indeed, I am only using the default indexes. Thanks a lot for the hint.
I suppose I need indexes like gsop and gspo?
OK, this is obviously BS. I think I need some private lessons in index
design... anyway, I suppose something like
SPOG
POSG
OPSG
GSPO
GPOS
makes more sense?
I will use many queries over multiple graphs, i.e. graph not defined.
I will also have many queries where the subject is not defined.
I suggest you read the following document:
http://docs.openlinksw.com/virtuoso/rdfperformancetuning.html
For virtuoso 5.0.12 you should probably create the following extra indexes:
create bitmap index RDF_QUAD_OPGS on DB.DBA.RDF_QUAD (O, P, G, S);
create bitmap index RDF_QUAD_POGS on DB.DBA.RDF_QUAD (P, O, G, S);
create bitmap index RDF_QUAD_GPOS on DB.DBA.RDF_QUAD (G, P, O, S);
Note that the documentation also mentions the partition option but this
is not used with V5.
For V6 i suggest you change to the facet browser layout, which is a bit
more complicated:
log_enable (2);
drop index RDF_QUAD_OGPS;
checkpoint;
create table R2 (G iri_id_8, S iri_id_8, P iri_id_8, O any,
primary key (S, P, O, G));
alter index R2 on R2 partition (S int (0hexffff00));
insert into r2 (g, s, p, o) SELECT g, s, p, o from rdf_quad;
drop table RDF_QUAD;
checkpoint;
alter table r2 rename RDF_QUAD;
create bitmap index RDF_QUAD_OPGS on DB.DBA.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));
checkpoint;
log_enable (1);
Patrick