您好,我正在使用最新版本的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 error executing query of RDF4J repo
我已经为BOM和rdf4j-queryalgebra geosparql使用了正确的依赖项。
我的数据集包含POINT、POLYGON、MULTIPOLYGON。
任何帮助都将不胜感激。
发布于 2018-09-18 08:42:30
这是RDF4J 2.4里程碑3中maven依赖定义中的一个错误--由于某种原因,它抓取了错误版本的spatial4j库。已在https://github.com/eclipse/rdf4j-storage/issues/108上记录问题。
解决方法是在您的项目pom中为正确版本添加显式依赖:
<dependency>
<groupId>org.locationtech.spatial4j</groupId>
<artifactId>spatial4j</artifactId>
<version>0.7</version>
</dependency>https://stackoverflow.com/questions/52319195
复制相似问题