5

我想用 Rails 编写一个 Web 应用程序,它使用 RDF 来表示链接数据。但我真的不知道在数据库中存储 RDF 图以进行持久存储的最佳方法是什么。此外,我想使用类似 paper_trail 的东西来提供版本控制数据库对象。

我阅读了有关 RDF.rb 和 activeRDF 的信息。但是 RDF.rb 不包括在数据库中存储数据的层。那么activeRDF呢?

我是 RDF 的新手。使用 rails 处理大型 RDF 图的最佳方法是什么?

编辑:

我发现4StoreAllegroGraph适合 Ruby on Rails。我读到 4Store 是完全免费的,而 AllegroGraph 在免费版本中限制为 5000 万个三元组。它们各自的优点是什么?

谢谢。

4

1 回答 1

4

您的数据库调查非常不完整。还有由Jena提供的BigDataOWLIMStardogVirtuosoSesameMulgara和 TDB 或 SDB 。

澄清一下,Fuseki 只是一个支持 Jena API 的后端服务器组件,以提供对 SPARQL 协议的支持。通常,由于您使用的是 Ruby,这就是您与数据库交互的方式——通过 HTTP 使用 SPARQL 协议。可能每个单独的数据库都支持 SPARQL HTTP 协议进行查询,并且许多数据库将支持 SPARQL 更新协议、图形存储协议或类似的自定义 HTTP 协议来处理更新。

因此,如果您打算使用 Rails,那么最好的选择是选择一个数据库,为 HTTP 协议设计一个简单的包装器,如果现有的 Ruby 库存在,也许可以在它的支持中分叉,并基于该支持构建您的应用程序.

版本控制是很多系统都不容易支持的东西。我认为对于如何在 RDF 数据库中正确执行此操作仍有很多想法。很可能,如果您想在应用程序中进行版本控制,您将不得不做一些自定义的事情。

于 2012-10-22T12:04:02.837 回答