0

我正在研究一个协同过滤推荐系统。我之前在并行线程环境中构建了这样一个系统,使用 SPARQL 查询 RDF。由于 SPARQL 和 RDF 图的并行性质,这很有效。但是,我现在在标准台式 PC 中工作,我想知道在很大程度上是串行环境中使用 SPARQL 是否仍然是一种方法。当我使用 C# 时,我查看了 dotNetRDF,并且想知道它是否比简单的 SQL 更有效,尤其是现在 dotNetRDF 似乎正在远离 SQL 后端。

那么就几个线程的性能而言,SQL 还是 dotNetRDF?表格还是图表?

4

2 回答 2

2

这两件事并没有真正可比性,dotNetRDF 是一个编程 API,除了我们主要推荐用于测试和开发的纯内存解决方案之外,它还提供对各种存储后端的支持(免责声明我是主要开发人员)

不同的后端具有各种各样的性能特征,因此如果您的问题可以在 RDF 中表达,那么很可能有适合您的后端。

SQL 是一种查询语言,实际上您应该将 SQL 与 SPARQL 进行比较,最终您选择的归结为您的数据模型是什么样的。如果它是规则的,那么您可能想要使用 RDBMS 和 SQL,如果它是不规则的和/或图形,那么您可能想要使用三重存储和 SPARQL。正如您自己的答案所暗示的那样,两者各有优缺点。

于 2013-11-13T08:41:48.603 回答
1

这似乎很好地回答了它。三重存储与关系数据库

从本质上讲,RDF 更加灵活,但价格昂贵。因为我只是对非常适合表格的数据进行协同过滤,所以我认为我不需要额外的费用,就像我喜欢图表一样。

于 2013-11-12T19:43:39.743 回答