[
https://issues.apache.org/jira/browse/JENA-2107?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17346874#comment-17346874
]
Andy Seaborne commented on JENA-2107:
-------------------------------------
Indexing: certainly it can be added. I've kept away from changes that
change-of-disk-layout. Disk changes are a more permanent commitment. Adding is
a data reload; withdrawing/changing the feature is a reload and disruption.
The first {{RDF*}} Jena implementation was a bit PG mode and a bit SA mode (PG
mode - the triple is always also an asserted triple like annotation syntax). It
exploited the existing indexes to look up {{<<...>>}} patterns up.
The current \{{RDF-star} compliant is code, no disk-changes. With the fix for
this JIRA, use of annotation syntax should be reasonable (the asserted triple
will come first)
>From the current state (4.1.0 onwards), functionally correct and complete, we
>can see what the user-uptake is.
One thing to avoid is making a change, then needing to make another change, ...
and another ... for a feature that not everyone is going to use.
The index setup is currently fixed - we can change it to look for additional
indexes and have a tool to adding indexes.
The bulk loaders need adjusting - TDB2 bulk loaders do work incrementally and
make a difference adding a lot of data (comparable to the size of the existing
data - if smaller, little point using them).
> RDF Star performance issue with non-concrete node triples
> ---------------------------------------------------------
>
> Key: JENA-2107
> URL: https://issues.apache.org/jira/browse/JENA-2107
> Project: Apache Jena
> Issue Type: Improvement
> Components: ARQ
> Affects Versions: Jena 3.17.0, Jena 4.0.0
> Reporter: Lorenz Bühmann
> Priority: Critical
> Fix For: Jena 4.1.0
>
>
> the following graph pattern is not evaluated efficiently (results in
> full-scan per binding) because the second triple pattern doesn't take
> advantage of the bindings generated by evaluation of the first one:
> {code:java}
> ?s <p> ?o .
> << ?s <p> ?o >> <p2> ?v .
> {code}
> A possible fix would be to adapt the method {{rdfStarTripleSub()}} in class
>
> [SolverRX3.java|https://github.com/apache/jena/blob/2efff8a00b4ffa82751cf46c8a3fed84b6ff3090/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/solver/SolverRX3.java#L63-L71]
> by changing the beginning to
> {code:java}
> private static Iterator<Binding> rdfStarTripleSub(Binding input, Triple
> xPattern, ExecutionContext execCxt) {
> Triple tPattern = Substitute.substitute(xPattern, input);
> {code}
> We went from 75s for a very small dataset (50k triples) to near instant
> response times.
> If this fix is correct and doesn't break anything, it might be the same way
> to fix for its quads counterpart in {{SolverRX4}} class.
>
> Note, for tdbquery, this seems to be evaluated at a different place? At
> least, we couldn't find any performance improvement, it's still horribly slow.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)