Пространственные SPARQL-запросы в RDF4J с поддержкой Lucene - PullRequest
0 голосов
/ 31 октября 2018

Я тестирую RDF4J по пространственным запросам. Я развернул приложения RDF4J Server и Workbench в Appache Tomcat 9.0.12. Мой текущий набор данных имеет 853 строки и 88 полигонов, представленных в виде полей WKT. Но производительность запроса варьировалась в зависимости от типа хранилища, с которым я работаю. Ниже приведен запрос SPARQL.

PREFIX cpmeta1: <http://meta.icos-cp.eu/ontologies/cpmeta/>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX sf: <http://www.opengis.net/ont/sf#> 
PREFIX uom: <http://www.opengis.net/def/uom/OGC/1.0/>
PREFIX geof: <http://www.opengis.net/def/function/geosparql/>

SELECT (count(distinct ?obj1) as ?C) 
WHERE {
       ?obj1 a geo:Feature;
             geo:hasGeometry ?geom1.
       ?geom1 a sf:LineString;
              geo:asWKT ?coord1. 
       ?obj2 a geo:Feature; 
              geo:hasGeometry ?geom2. 
       ?geom2 a sf:Polygon; 
              geo:asWKT ?coord2. 
       FILTER(geof:sfWithin(?coord1,?coord2)) 
       }

Запрос выполняется нормально, и результат возвращает 567 в виде количества объектов линейных строк, находящихся в любом многоугольнике.

Проблема в том, сколько времени потребуется, чтобы вернуть результат. Если хранилище имеет тип Simple Memory или Native, то время выполнения этого запроса составляет от 10 до 40 секунд в разных итерациях. Однако, если хранилище было создано с помощью Lucene, время выполнения этого запроса превышает 30 минут.

Из документации RD4J я узнаю, что в lucene предполагается наличие пространственного индекса для полей asWKT, поэтому я ожидал, что пространственное объединение будет выполняться быстрее с Lucene. Но, наоборот, кажется, что в lucene та же производительность запросов ухудшается в геометрической прогрессии.

Я протестировал один и тот же сценарий как из рабочей среды, так и из API в проекте Eclipse. В обоих случаях производительность запросов слишком сильно снижается, когда задействован Lucene.

Может кто-нибудь посоветовать мне, что мне здесь не хватает ??

С наилучшими пожеланиями

...