Prefix-based Source Selector ignores triple patterns for complex queries
antru6 opened this issue · comments
The Prefix-based Source Selector ignores triple patterns in queries that have subqueries.
Examples of such queries:
PREFIX ex: <http://example.org/>
SELECT * WHERE {
{
SELECT * WHERE {
ex:1 ex:p ?u1 .
?u1 ex:q ?o1 .
}
ORDER BY ASC(?o1)
LIMIT 1
}
?s2 ex:p ?u2 .
?u2 ex:r ?o1 .
}
and
PREFIX ex: <http://example.org/>
SELECT * WHERE {
ex:1 ex:p ?u1 .
FILTER NOT EXISTS {
?s2 ex:p ?u1 .
?u2 ex:r ?o2 .
}
}
The problem possibly originates in https://github.com/semagrow/semagrow/blob/devel-xearth/core/src/main/java/org/semagrow/selector/PrefixQueryAwareSourceSelector.java#L35