适用于大型数据集的Triplestore

时间:2011-02-07 12:43:19

标签: java rdf triplestore

我想询问一个用于大型数据集的好三元组,它应该:

  • 规模很好(数百万三倍)
  • 拥有Java界面

6 个答案:

答案 0 :(得分:10)

您应该考虑使用OpenLink Virtuoso商店。它可以通过OpenSource许可证获得,并可扩展到数十亿的三元组。您可以通过Sesame和Jena API使用它。

有关大型三重商店的概述,请参阅here。 Virtuoso绝对比BigData更容易设置。除此之外,我使用了Sesame NativeStore,它不能很好地扩展。

4Store也是一个不错的选择,虽然我没有使用它。 Virtuoso超过4Store的一个好处是,您可以轻松地将标准关系模型与RDF混合,因为Virtuoso是一个关系数据库。

答案 1 :(得分:6)

4store: Scalable RDF storage

引用4store Web ...

  

4store的主要优势在于它   性能,可扩展性和   稳定性。它没有提供很多   超出RDF存储的功能   和SPARQL查询,但如果你是   寻找可扩展,安全,快速   高效的RDF商店,然后4store   应该在你的候选名单上。

就我个人而言,我已经测试了具有非常大的数据库(最多20亿个三元组)的4store,并且效果非常好。 4store用C语言编写,在Linux / Unix 64位平台上运行,当前版本1.1.1已部分实现SPARQL 1.1

4store可以部署在商用服务器集群上,这可以提高查询性能,并且断言吞吐量最高可达100 KTriples /秒。但即使您在单个服务器中使用它,您也会获得相当不错的性能。

在南安普顿大学,我们可以选择研究项目中的大型数据集,也可以选择我们的网站管理员团队,请参阅Data Stores for Southampton and ECS Open Data

此处还有一个列表,列出了可用于查询和管理4store Client Libraries的所有库。此外,4store's IRC channel还有一个活跃的用户社区,如果您遇到任何问题,将会有所帮助。

如果您是Linux / Unix用户4store绝对是个不错的选择。

答案 2 :(得分:5)

我也会推荐4store,但本着完全披露的精神,我是首席架构师:)

如果您想利用RDF存储的标准化,那么您应该使用实现SPARQL的Java库,而不是使用本机公开JAVA API的Java库。

否则你可能最终会被你最先选择的商店所困,因为他们之间的移动努力,这是典型的SQL迁移地狱。

答案 3 :(得分:3)

我个人对GraphDB非常满意。它在中型硬件(256GB ram服务器)上运行得非常好,拥有150亿个三元组。哪个都可以通过芝麻和jena接口访问。 (虽然jena是beta'ish)。

如果你负担得起,Oracle 12c实例也不错。并且可能适合现有的oracle基础设施(备份等)。

Virtuoso 7.1可以很好地扩展,并且可以以合理的成本处理大量数据。不幸的是,它的SPARQL标准合规性不稳定

答案 4 :(得分:1)

@Steve - 不知道如何发表评论,所以我想我一次会回答2个问题。

下面的SPARQL JDBC驱动程序:

http://code.google.com/p/jdbc4sparql/

支持SPARQL协议和SPARUL(通过SPARQL协议作为更新,而不是SPARUL协议)。

@myahya

4Store是强烈推荐的,所以值得评价作为候选人。

Virtuoso还具有原生JDBC驱动程序并支持大型数据集(最多可达120亿个三元组)

www.openlinksw.com/wiki/main/Main /

此外,甲骨文有一些东西,但要准备支付大笔钱:

http://www.oracle.com/technetwork/database/options/semantic-tech/index.html

答案 5 :(得分:1)

除了4Store,Virtuoso和Owlim之外,Bigdata也值得一看。