11

我(非常)喜欢它支持 SPARQL/Update 和它附带的 SPARQL 端点,但是

  • 我有点担心供应商锁定
  • 我认为这对我的要求来说太过分了(我想要一个有十亿个三元组的图形存储)
  • 我很想改用开源和免费的产品

到目前为止,我找不到任何血统和可比产品(商业或其他)。在我看来,它们看起来很不成熟或具有实验性。想法?

4

5 回答 5

10

您可能正在寻找的是http://4store.org/,您也可以尝试在http://www.semanticoverflow.com/上搜索类似这样的问题(链接已失效)

于 2011-02-14T08:02:51.733 回答
7

@dajobe 已经提到的除了 4store 之外的另外两个是DydraTalis 平台。如果您坚持 SPARQL 标准中指定的语言特性,供应商锁定通常不会成为问题。

于 2011-02-14T10:32:09.323 回答
4

在我的研究项目中使用了许多不同的 Triple Store 作为存储层后,我推荐以下两个:

  • 4store - dajobe 已经提到并且非常好,并且随着 SPARQL 1.1 继续标准化,它经常发布修复错误并添加新功能。也有完全免费的好处
  • AllegroGraph - 免费提供多达 5000 万个 Triples,尽管即使在 Triples 数量相对较少的情况下(例如,当我有大约 150 万个 Triples 时使用了大约 4GB 的 RAM 中的 3 个),它也往往会占用大量内存。实际内存使用量会因使用情况而异——在我的情况下,我正在运行一个应用程序,这意味着我的整个数据集必须加载到内存中。我没有使用版本 4,所以我不能说他们是否改进了这个

虽然 Virtuoso 在某些事情上非常擅长,但它有一个非常糟糕的特性蠕变案例,并且有很多非标准/专有特性,就像你暗示的那样,这可能会导致供应商锁定。

正如 Ian 所说,坚持使用 SPARQL 标准中的核心语言功能,然后您可以随着需求的变化轻松迁移到不同的 Triple Store。在开发您的应用程序时,请尝试将其设计为与存储无关,以便您可以根据需要插入不同的存储层。这样做的难易程度取决于您的编程环境/语言/API,但从长远来看,这样做将是有益的。

于 2011-02-15T09:08:39.453 回答
4

我们对大数据有积极的经验。4Store(如上所述)也不错,但不支持事务。

于 2011-03-09T09:54:42.287 回答
4
  • 我有点担心供应商锁定

OpenLink Software(我的雇主)非常努力地在存在且足够的情况下实施开放标准和规范。我们添加扩展,并在必要时记录我们已经这样做了 - 与聚合和其他分析功能一样,这些功能不是 SPARQL 1.0 的一部分,而是 SPARQL 1.1 的一部分和/或将成为 SPARQL 2.0 的一部分。

如果您坚持已发布的标准,您将不会被锁定。如果您需要扩展,我们认为我们并没有将您锁定为启用和授权您......但您的里程可能会有所不同。

  • 我认为这对我的要求来说太过分了(我想要一个有十亿个三元组的图形存储)

无论如何,在做出决定时考虑您需要的所有功能。但在我看来,您可能会做的不仅仅是存储三元组。查询、推理、查询优化、Federated SPARQL(与其他远程 SPARQL 端点的连接,以前称为 SPARQL-FED)和其他功能可能并不过分,因为根本不需要。

值得注意的是,Virtuoso 可以以最小化形式LiteMode=1(当 Lite 模式开启时:

  • Web 服务未初始化,即没有 Web 服务器、DAV、SOAP、POP3 等。
  • 复制已停止
  • PL调试被禁用
  • 插件被禁用
  • Bonjour/Rendezvous 已禁用
  • 未创建与上述相关的表
  • 如果没有给出其他设置,则索引树映射设置为 8
  • 未分配内存保留
  • 无论 INI 文件中的值如何,DisableTcpSocket 设置都被视为 1
  • 我很想改用开源和免费的产品

Virtuoso 有两种风格——商业 (VCE)开源 (VOS)。商业包括无共享的弹性集群,它带来线性可扩展性、SPARQL GEO 索引和查询、结果转换为 CXML 以使用 PivotViewer 进行探索,以及VOS 缺乏的其他功能......但使用对您有意义的功能。

于 2011-04-05T21:07:17.973 回答