rdf_db and regular JIT indexing

Haitao Zhang <[email protected]>
Newsgroups gmane.comp.ai.prolog.swi
Message-ID <CAFUyvho9HBxSFHpeWfS7u8bPzm0N0KoUV5J9MX9w-_i8omsBwg@mail.gmail.com>
How does rdf_db pick the index to use when there are multiples available? I
use G a lot to track different versions of data. So if PO and G are all
instantiated will rdf lookup just pick one index and do linear scan on the
rest or will it somehow take advantage of both indices? If it is just
picking one index then presumably with a suitably large number of Gs it may
be more efficient to construct a new P (atom_concat(G, P, NewP)) and use
the NewP instead of using G to track the versions?

How does rdf_db compare to the regular dynamic clauses performance wise,
suppose no sub-string searching is needed and only one argument is
instantiated?

For high fan-out trees encoded in dynamic predicates, it makes sense
sometimes to instantiate only the child even if parent is also known? For
example:
parent(node1, node2) may be slower than parent(P, node2), P=node1
since the first query may pick the first argument for indexing?

Haitao
-------------- next part --------------
HTML attachment scrubbed and removed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.