为什么我们需要Fuseki Server?

时间:2015-05-25 05:41:08

标签: sparql jena semantic-web fuseki tdb

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

  1. 如果TDB支持SPARQL查询和更新,那么为什么我们需要Fuseki?
  2. 我可以将数据存储在TDB中,然后在不使用Fuseki的情况下在我的应用程序中访问它吗?
  3. 您身边的任何回复都很有价值。

1 个答案:

答案 0 :(得分:6)

扩展您已收到的评论

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