当前位置: 首页 > 知识库问答 >
问题:

RDF4J是否支持GeoSPARQL?

公西嘉玉
2023-03-14

我正在使用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自旋支持的内存存储”存储库上运行了这个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或其他什么?

谢谢

共有1个答案

陈龙野
2023-03-14

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

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

 类似资料:
  • 问题内容: 因此,我希望将其转换为这样的Java代码: JAXB是否可能? 曾经看到一些WebService Client存根生成器正在执行此操作,但也许不确定axis2 Webservice。 问题答案: 的 JAXB(JSR-222) 规范没有盖产生快速失败逻辑到域模型。现在,一种常见的做法是以注释(或XML)的形式表示验证规则,并对它们进行验证。 Bean验证(JSR-303) 对此进行了标

  • 问题内容: 我正在尝试执行一个简单的INSERT并返回标识(自动递增主键)。我试过了 我收到以下错误 SQLite是否支持SCOPE_IDENTITY? 如果可以,该如何使用? 如果不是,我(最好是“线程安全”)的替代方案是什么? 问题答案: 查看常见问题解答。该sqlite3_last_insert_rowid()函数将做到这一点。不过要小心触发器。

  • 问题内容: 我想知道是否有任何方法可以在Java中实现。我认为,如果没有本地对闭包的支持,这是不可能的。 问题答案: Java 8(2014年3月18日发布)不支持curring。可以将Missingfaktor在答案中发布的示例Java代码重写为: …这是非常好的。就个人而言,有了Java 8,我几乎没有理由使用替代的JVM语言(例如Scala或Clojure)。当然,它们提供了其他语言功能,但

  • Spring Cloud库伯内特斯是否支持Spring Cloud负载均衡器? 我要在库伯内特斯上部署Spring启动应用程序,并通过以下链接执行客户端负载平衡功能区客户端https://cloud.spring.io/spring-cloud-static/spring-cloud-kubernetes/2.0.0.M1/reference/html/#ribbon-discovery-in-k

  • 这里是基于workerman实现的PHP版本的socket.IO。 项目: https://github.com/walkor/phpsocket.io 手册:https://github.com/walkor/phpsocket.io/tree/master/docs/zh

  • 问题内容: 根据这些评论,JSONKit不支持ARC,甚至在ARC环境中都不使用fobjc-no- arc设置运行:https : //github.com/johnezang/JSONKit/issues/37 问题答案: 您仍然可以在ARC应用程序中使用JSONKit。 我自己用的。 在XCode 5中选择项目根目录,在“ 选择应用程序”下,然后选择“ 选项卡”。在JSONKit.m 下,双击