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