【问题标题】:Difference between Virtuoso Native RDF Quad Store and Virtuoso SQL-Based RDF Triple StoreVirtuoso Native RDF Quad Store 和 Virtuoso SQL-Based RDF Triple Store 的区别
【发布时间】:2013-07-18 09:17:25
【问题描述】:

我目前正在研究 Virtuoso,我真的很想知道本页所示的 Native RDF Quad Store 和 SQL Based RDF Triple Store 之间的区别是什么(向下滚动查看该图): http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtJenaProvider

我知道 Native RDF Quad Store 在底层使用传统的关系数据库,但它针对 SPARQL 的更快请求进行了优化。这让我很困惑!因为我想知道基于 SQL 的 RDF Triple 存储现在是什么...

提前致谢!

【问题讨论】:

    标签: rdf triplestore virtuoso


    【解决方案1】:

    Virtuoso 实际上是一整套应用程序和服务层,构建在他们自己的 SQL 数据库之上,因此可以理解的混淆。

    Native RDF Quad Store 是 Virtuoso 自己的 Quad Store 实现,讽刺的是,正如您所指出的,它实际上是基于 SQL 的。这完全在 Virtuoso 自己的 SQL 数据库实现中存储和实现。因此,虽然它是基于 SQL 的,但它具有固定的表布局并使用自定义数据类型来存储数据。

    基于 SQL 的 RDF 三重存储是指 Virtuoso 商业版本的一项功能,它允许您定义映射规则以将任意普通关系数据库(基于 Virtuoso 和其他基于后端,例如 MySql、PostgreSQL)视为 RDF 存储。

    性能差异

    性能差异来自这样一个事实,即 Native Quad 存储具有已知的布局、自定义 RDF 数据类型以及 Virtuoso 堆栈中特定于它的大量软件优化。因此,当 Virtuoso 接收 SPARQL 并将其编译为等效的 SQL 查询时,它在他们的数据库上运行非常高效。使用自定义 RDF 数据类型允许他们将所有 SPARQL 逻辑下推到查询引擎层,这也使评估更快。

    对于基于 SQL 的三重存储,涉及到一个映射层,它们必须调用 SQL 数据库(可能是外部的)并将其内容转换为 RDF 形式,然后才能进行必要的计算来回答 SPARQL查询。映射步骤的成本可能非常高,并且使查询更难优化,因为它们访问的有关 RDF 数据的前期信息较少。

    另外,由于数据通常只是标准 SQL 类型,因此它们无法将某些逻辑下推到底层查询引擎,因为 SQL 和 SPARQL 类型语义在许多情况下不一致。因此,必须提取值,适当转换,然后在查询引擎层之上计算表达式结果,然后根据需要反馈。这会降低性能,因为引擎必须在不同的处理上下文之间切换,并且可能会进行许多 SQL 查询来回答同一个 SPARQL 查询。

    【讨论】:

    • 这是一个非常好的答案!非常感谢您为此付出的努力!我可以看到使用基于 SQL 的存储的缺点,但是,我们的客户需要一个底层的关系数据库。话虽如此,基于 SQL 的 RDF 三重存储是否始终是外部关系数据库?既然我们要使用命名图,你知道它是否可以存储四边形吗?再次提前感谢:)
    【解决方案2】:

    Virtuoso 是使用 SQL RDBMS 核心实现的混合(关系表和 RDF 属性图)数据服务器 [1]。只有当相关数据源在 Virtuoso 外部时,SQL RDBMS 关系才是外部的,例如,当使用 ODBC 或 JDBC 将外部 RDBMS 数据库中的表附加到 Virtuoso 时,作为其虚拟数据库功能 [2] 的一部分。

    [1] http://virtuoso.openlinksw.com/images/virtuoso3arch.gif -- Virtuoso 技术架构图。

    [2] http://docs.openlinksw.com/virtuoso/vdbengine.html -- 虚拟数据库引擎

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多