Rdf4j 2.4.0-m3 запрос geosparql не работает

Привет, я использую последнюю версию RDF4J 2.4.0-M3 и пытаюсь выполнить следующий запрос:

PREFIX geof: <http://www.opengis.net/def/function/geosparql/>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX lgd: <http://data.linkedeodata.eu/ontology#>
 SELECT ?s1 ?o1 WHERE {
 ?s1 geo:asWKT ?o1 .
  FILTER(geof:sfIntersects(?o1, "POINT (-3.9468805 51.618055)"^^<http://www.opengis.net/ont/geosparql#wktLiteral>)).
}

Ожидаемый результат следующий:

s1                                           o1
http://data.linkedeodata.eu/osm/wales/transport/Geometry/16202470   MULTIPOLYGON (((-3.9469452 51.6180887, -3.9467408 51.6183097, -3.9464539 51.6182493, -3.9457195 51.6174283, -3.9459201 51.617293, -3.9460423 51.6171659, -3.9462114 51.6174525, -3.9463139 51.6175729, -3.9466882 51.6179044, -3.9469452 51.6180887)))

Тот же набор данных был загружен с GraphDB v8.5 и RDF4J 2.4.0-M3, репозитории проверены.

Я получил следующую ошибку java: Ошибка Java при выполнении запроса репозитория RDF4J

Я использовал правильную зависимость для спецификации и rdf4j-queryalgebra-geosparql.

Мой набор данных содержит ТОЧКУ, ПОЛИГОН, МУЛЬТИПОЛИГОН.

Любая помощь будет оценена по достоинству.

Похоже на ошибку. Сообщите об этом на github.com/eclipse/rdf4j-storage/issues

Jeen Broekstra 15.09.2018 04:05
2
1
59
1

Ответы 1

Это ошибка в определениях зависимостей maven в RDF4J 2.4, этап 3 - по какой-то причине он захватывает неправильную версию библиотеки Space4j. Проблема была зарегистрирована на https://github.com/eclipse/rdf4j-storage/issues/108.

Обходной путь - добавить явную зависимость для правильной версии в ваш проект pom:

  <dependency>
    <groupId>org.locationtech.spatial4j</groupId>
    <artifactId>spatial4j</artifactId>
    <version>0.7</version>
  </dependency>

Другие вопросы по теме