我使用的是RDF4J工作台:
System Information
Application Information
Application Name RDF4J Workbench
Version 2.0.1
Runtime Information
Operating System Windows 8.1 6.3 (amd64)
Java Runtime Oracle Corporation Java HotSpot(TM) 64-Bit Server VM (1.8.0_101)
Process User Greg
Memory
Used 203 MB
Maximum 3463 MB虽然我可以在github上的GeoSPARQL存储库中看到对RDF4J的引用,但目前似乎还没有实现它。我在清除的“具有RDFS+SPIN支持的内存存储库”存储库上运行了这个SPARQL更新查询,以便在RDF4J工作台上设置一个测试:
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX sf: <http://www.opengis.net/ont/sf#>
PREFIX sxxicci: <http://www.disa.mil/dso/a2i/ontologies/PBSM/Interface/SXXIComplianceCheckIndividuals#>
INSERT DATA
{
sxxicci:aPolygon geo:asWKT "Polygon((0.5 -0.5, 0.5 0.5, -0.5 0.5, 0.5 -0.5))"^^sf:wktLiteral .
}这将导致存储库中有一个事实。
现在,我尝试使用以下查询查找与文字多边形的重叠,该查询应该找到我在上面设置的一个事实:
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX geof: <http://www.opengis.net/def/function/geosparql/>
PREFIX sf: <http://www.opengis.net/ont/sf#>
SELECT DISTINCT *
WHERE
{
?bGeom geo:asWKT ?bWKT .
FILTER (geof:sfIntersects(?bWKT, "Polygon((1 0, 1 1, 0 1, 1 0))"^^sf:wktLiteral))
}此查询以HTML形式给出一个错误结果,我已经呈现了该结果:

这似乎表明
1和/或2或其他什么?
谢谢。
发布于 2017-01-12 21:59:59
我在maven应用程序中使用RDF4J API也遇到了类似的问题,问题是GeoSPARQL函数是在rdf4j-query代数-geosparql包中定义的;默认情况下不包括这个包。将其添加到POM之后,查询将按预期工作。
我不太熟悉应用程序服务器,但是快速查看一下部署在Tomcat上的rdf4j工作台,就会发现lib/目录中缺少的库。一旦我手动添加并重新加载应用程序,空间查询就会正确地解析和执行。
https://stackoverflow.com/questions/39515776
复制相似问题