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