为什么我们需要Fuseki Server?

Har*_*hid 4 semantic-web sparql jena fuseki tdb

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

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

您身边的任何回复都是有价值的.

Rob*_*obV 7

扩展您已收到的评论

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

Fuseki是一个实现SPARQL协议的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