gpt4 book ai didi

java - 如何使用 OpenRDF Sesame 以及 Sesame Server 和 Workbench 来实现 Web 服务应用程序

转载 作者:行者123 更新时间:2023-11-30 11:32:08 26 4
gpt4 key购买 nike

我想使用 Jersey 实现一些 RESTful Web 服务,这些服务通过 Sesame Java API 使用 SPARQL 从 RDF 三重存储访问数据。同时,我想使用 Sesame Server 和 Workbench Web 应用程序在同一个三层存储上运行 SPARQL 端点。我对如何最好地将它们放在一起感到有点困惑。

具体来说,我的 Jersey 应用程序应该使用 Sesame API“直接”连接到三层存储(而 Sesame 服务器应用正在做同样的事情),还是应该通过 Sesame 服务器的 HTTP 接口(interface)(也使用芝麻原料药)。这似乎效率较低,因为它们在同一台机器上,但我不知道两个 Web 应用程序是否应该同时使用三重存储。

最佳答案

不建议直接从两个不同的 java 应用程序访问同一个芝麻商店。 Sesame 的 SAIL(数据库访问层)假定它可以单独控制磁盘上的资源,让两个不同的 JVM 将两个不同的 SAIL 对象应用于相同的资源可能会导致不一致或死锁。所以您应该通过 HTTP 进行设置。虽然这效率较低,但 Sesame 有相当多的优化(自定义二进制序列化等)来加速 HTTP 通信,所以它应该是非常可行的。

另一种方法是扩展 Jersey 应用程序,使其公开您正在使用的(本地)Sesame 存储库以及您自己的 Sesame's REST protocol 实现。 ,包括 SPARQL 端点。如果这样做,您可以从 Workbench 连接到您的 Sesame 商店,而无需在 Sesame 服务器上运行它。

这当然需要更多工作,但如果您自己的应用程序的性能是一个大问题,那么这可能是一个不错的方法。这可能并不像听起来那么难,因为所有功能性的东西(SPARQL 引擎、根据 mime 类型确定正确的格式等)都是由 Sesame 提供的,您“只”需要将它们结合在一起。

但如果我是你的话,我会先尝试第一个选项(与 Jersey 应用程序中的 HTTP 存储库对话):)

关于java - 如何使用 OpenRDF Sesame 以及 Sesame Server 和 Workbench 来实现 Web 服务应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16842204/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com