13

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

  • 扩展性好(数百万个三元组)
  • 有一个Java接口
4

6 回答 6

10

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

有关大型三联店的概述,请参见此处。Virtuoso 绝对比 BigData 更容易设置。除此之外,我还使用了 Sesame NativeStore,它的扩展性不太好。

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

于 2011-02-07T12:46:28.067 回答
6

4store:可扩展的RDF存储

引用 4store Web ...

4store 的主要优势在于其性能、可扩展性和稳定性。除了 RDF 存储和 SPARQL 查询之外,它没有提供许多功能,但如果您正在寻找可扩展、安全、快速和高效的 RDF 存储,那么 4store 应该在您的候选名单上。

我个人用非常大的数据库(多达 20 亿个三元组)测试了 4store,结果非常好。4store 是用 C 编写的,在 Linux/Unix 64 位平台上运行,当前版本 1.1.1 已部分实现SPARQL 1.1

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

在南安普顿大学,我们选择在研究项目中使用非常大的数据集,对于我们的网站管理员团队也是如此,请参阅南安普顿数据存储和 ECS 开放数据

您还可以在此处列出所有可用于查询和管理 4store客户端库的库。此外,4store 的 IRC 频道有一个活跃的用户社区,如果您遇到任何问题,他们会提供帮助。

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

于 2011-02-07T14:04:44.000 回答
5

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

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

否则,由于在它们之间移动的努力,您最终可能会被您首先选择的任何存储卡住,这是典型的 SQL 迁移地狱。

于 2011-02-07T15:38:31.120 回答
3

我个人对GraphDB非常满意。它在具有 150 亿个三元组的中型硬件(256GB 内存服务器)上运行良好。这可以通过 sesame 和 jena 接口访问。(虽然耶拿是测试版)。

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

Virtuoso 7.1的可扩展性非常好,可以以合理的成本处理海量数据。不幸的是,它的 SPARQL 标准合规性参差不齐

于 2011-02-07T15:53:32.413 回答
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

于 2011-02-10T16:56:16.597 回答
1

除了 4Store、Virtuoso 和 Owlim,Bigdata也值得关注。

于 2011-03-09T10:03:46.453 回答