【发布时间】:2016-09-15 16:12:01
【问题描述】:
我正在使用 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 上的 RDF4J 存储库中看到对 GeoSPARQL 的引用,但目前似乎还没有实现。我在已清除的“支持 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 错误结果:
这似乎表明
我在设置此测试时做错了什么(如果是,那是什么?)或者
RDF4J 不支持 GeoSPARQL(至少不支持 geof:sfIntersects 函数)
1 和/或 2 还是别的什么?
谢谢。
【问题讨论】:
-
我不知道工作台是否包含所有与 GeoSPARQL 相关的 Jar 文件,但从这里我想我们可以估计(至少)支持哪些函数:github.com/eclipse/rdf4j/tree/master/testsuites/geosparql/src/…
-
是的,zero 文档是否算作“文档稀少”?无论如何,我们正在努力改进这一点,敬请期待。
-
我敢打赌,函数
geof:sfIntersects总是比魔术谓词geo:sfIntersects慢,因为该函数需要进行全面扫描