RDF4J支持GeoSPARQL吗?

RDF4J支持GeoSPARQL吗?,sparql,rdf4j,geosparql,Sparql,Rdf4j,Geosparql,我正在使用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_10

我正在使用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
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 .
}
尽管我可以在github上的RDF4J存储库中看到对GeoSPARQL的引用,但目前似乎还没有实现。我在已清除的“带RDFS+SPIN支持的内存存储”存储库上运行了这个SPARQL更新查询,以在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
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 .
}
前缀geo:
前缀sf:
前缀sxxicci:
插入数据
{
sxxicci:aPolygon geo:asWKT“多边形((0.5-0.5,0.50.5,-0.50.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))
}
前缀geo:
前缀geof:
前缀sf:
选择不同的*
哪里
{
?bGeom地理位置:asWKT?bWKT。
过滤器(geof:sfIntersects(?bWKT,“多边形((10,11,01,10))”^^sf:wktLiteral))
}
此查询以HTML的形式给出了一个错误结果,我已经呈现了:

这似乎表明

  • 我在设置此测试时出错(如果是,是什么?)或

  • RDF4J不支持GeoSPARQL(至少不支持geof:sfIntersects函数)

  • 1和/或2或其他什么


    谢谢。

    我在maven应用程序中使用RDF4J API时遇到了类似的问题,问题是GeoSPARQL函数是在RDF4J queryalgebra GeoSPARQL包中定义的;默认情况下不包括。在将其添加到我的POM后,查询按预期工作


    我对应用服务器不是很熟悉,但快速查看部署在Tomcat上的rdf4j工作台,就会发现lib/目录中缺少该库。手动添加并重新加载应用程序后,我的空间查询将正确解析和执行

    我不知道工作台是否包含所有与GeoSPARQL相关的Jar文件,但从这里我想我们可以估计哪些函数(至少)受支持:是的,零文档是否算作“稀疏文档”?无论如何,我们正在努力改进这一点,请继续关注。我打赌函数
    geof:sfIntersects
    总是比神奇谓词
    geo:sfIntersects
    慢,因为函数需要进行全面扫描。您是如何设置repo的?“带RDFS+SPIN支持的内存存储”(来自最初的问题)听起来好像不包括GeoSPARQLI我不太记得我最初是如何设置存储库的,我去年刚刚做了一个快速测试,但我相信我在最初的帖子中遵循了相同的过程。我不记得看到过直接启用GeoSPARQL支持的选项,但如果lib目录中有正确的jar,我不确定配置选项如何解决这个问题。