【问题标题】:Why do we need Fuseki Server?为什么我们需要 Fuseki Server?
【发布时间】:2023-04-03 23:03:01
【问题描述】:

我正在开发一个使用三重存储的应用程序 (Jena TDB)。明确提到 TDB Supports SPARQL 更新和查询。另外,我知道Fuseki 是 SPARQL 服务器,它也支持更新和查询。我没有找到答案做以下问题:

  1. 如果 TDB 支持 SPARQL 查询和更新,那我们为什么需要 Fuseki?
  2. 我能否将我的数据存储在 TDB 中,然后在我的应用程序中访问它而不使用 Fuseki?

您的任何回应都是有价值的。

【问题讨论】:

  • 1) Fuseki 是一个让您的 TDB 端点可以通过 Web 访问的应用程序。 2) 您可以将 TDB 用作本地存储,无需 Fuseki。 Fuseki 只是让远程查询可以访问它。

标签: sparql jena semantic-web fuseki tdb


【解决方案1】:

扩展您已经收到的 cmets

TDB 是由持久磁盘存储支持的内存数据库,它在 JVM 中运行并且只能在该 JVM 中访问。 TDB 存储一次只能由单个 JVM 访问(并且 TDB 将强制执行此限制),因此如果您需要在多个 JVM 之间共享数据,则不能单独使用 TDB

Fuseki 是一个实现SPARQL Protocol 的Web 服务器,这是一种公开RDF 数据库以通过HTTP 查询/更新的标准方法。 TDB 是 Fuseki 下默认使用的数据库,但如果需要,可以在其他 RDF 数据库之上配置 Fuseki。

由于 Fuseki 在单个 JVM 中运行,它可用于与多个应用程序共享对 TDB 数据库的访问,因为这些应用程序通过 HTTP 访问 Fuseki,而 Fuseki 处理其 JVM 中对 TDB 数据库的所有访问。此外,由于 SPARQL 协议是一个标准,您可以使用 Fuseki 来允许非 JVM 应用程序访问您的 TDB 数据库,因为它们只需通过该协议与 Fuseki 交互,而无需知道如何直接与 TDB 交互。

总结一下:

  • 如果您只需要让一个应用程序访问 TDB 数据库,那么您可以直接使用 TDB
  • 如果您需要让多个应用程序(或非 JVM)应用程序访问 TDB 数据库,请使用 Fuseki 而不是 TDB

【讨论】:

    猜你喜欢
    • 2019-06-09
    • 2014-06-18
    • 2017-02-26
    • 2011-04-03
    • 2017-07-27
    • 2020-09-21
    • 2020-03-09
    • 2018-12-24
    • 2012-04-08
    相关资源
    最近更新 更多