Hi Nikolaos,

The query pattern generator isn't very sophisticated and more skewed to use execution where the data in "close" (i.e. there is a cache or local database).

Normally, SDB would send a single SQL query for the two triple patterns and have the SQL database engine worry about how best to do this.

But in the log it seems that this isn't happening:

either the query is going through some additional layers that means the SDb execution engine isn't getting the whole pattern, or how the Hive adapter works is onl yon a per Graph.find basis.

So you have a link to you extended jena-sdb?>

    Andy


On 09/05/17 11:20, Nikolaos Karalis wrote:
Dear Jena developers,

I have extended jena-sdb in order to support Hive Database and also
started implementing some user-defined GeoSPARQL functions using jena-arq.
I ran the following query:

        PREFIX geof: <http://example.org/function#>
        SELECT ?s1 ?s2
        WHERE {
                ?s1 <http://linkedgeodata.org/ontology/asWKT> ?o1 .
            ?s2 <http://geo.linkedopendata.gr/gag/ontology/asWKT> ?o2 .
            FILTER(geof:sfWithin(?o1, ?o2)) .
        }

and observed that for each iteration of the resultsSet, for each result
for ?s1, ?s2 is computed from scratch. I've attached the logs of the
hiveserver2 as well.
Is there a way to make this query more efficient?

Best regards,
Nikolaos Karalis

Reply via email to