我想询问一个用于大型数据集的好三元组,它应该:
答案 0 :(得分:10)
您应该考虑使用OpenLink Virtuoso商店。它可以通过OpenSource许可证获得,并可扩展到数十亿的三元组。您可以通过Sesame和Jena API使用它。
有关大型三重商店的概述,请参阅here。 Virtuoso绝对比BigData更容易设置。除此之外,我使用了Sesame NativeStore,它不能很好地扩展。
4Store也是一个不错的选择,虽然我没有使用它。 Virtuoso超过4Store的一个好处是,您可以轻松地将标准关系模型与RDF混合,因为Virtuoso是一个关系数据库。
答案 1 :(得分:6)
引用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也值得一看。