Two things:

1. Rya will reject a blanket ?s ?p ?o query in order to avoid a full table
scan (even if the G is set).

2. Here's the code where the specific graph is set [1].  Rya sets the
"ColumnFamily" value on the Accumulo scanner.  This filtering/seeking is
all performed on the Accumulo Tablet server.

--Aaron


[1]
https://github.com/apache/incubator-rya/blob/develop/dao/accumulo.rya/src/main/java/mvm/rya/accumulo/query/AccumuloRyaQueryEngine.java#L370

On Sat, Mar 26, 2016 at 8:19 AM Brian McBride <[email protected]> wrote:

> Aaron replied:
> [[
>
> No... it does not.
>
> We've run into extreme use cases where a graph is created for each
> statement (as means of providing properties for a statement).  In that
> case, Accumulo would not be happy if Rya created a locality group for each
> graph.
>
> --Aaron
>
> ]]
>
> Again, thanks Aaron.  I can see that Accumulo would not be happy in
> those circumstances.
>
> I've been trying to understand how Rya handles named graphs.   To me it
> looks like it treats them as a filter on the results of matching S P O
> patterns.  Since there is no index that includes the G component of a
> quad, and locality groups are not used, I don't see how Rya can limit
> its scans to a specific graph.  To scan a specific graph, it would have
> to scan all the matching triples and filter out the ones from the
> specific graph.  Is that right?  Or is there some Accumulo magic I've
> missed.
>
> Queries like
>
> SELECT * { graph <http://example.org/foo> { ?s ?p ?o } }
>
> fail with an exception.
>
> A query like
>
> SELECT DISTINCT ?c { graph <http://example.org/foo> { ?s a ?c } }
>
> will scan all the rdf:type quads in the store, not just those in the
> specified graph.  (Is that right?)
>
> Is this by design, or does it just reflect the current state of
> development?
>
> Brian
>
>
> --
> Epimorphics Ltd, http://www.epimorphics.com
> Registered address: Court Lodge, 105 High Street, Portishead, Bristol BS20
> 6PT
> Epimorphics Ltd. is a limited company registered in England (number
> 7016688)
>
>

Reply via email to