【问题标题】:How SPARQL query processing to be done on cassandra cluster?如何在 cassandra 集群上进行 SPARQL 查询处理?
【发布时间】:2018-06-13 04:59:46
【问题描述】:

我想知道如何在 Cassandra 集群上完成 SPARQL 查询处理。例如,我将 LUBM 生成的大学数据存储在 Cassandra 集群上。现在我想在 Cassandra 节点 A、B、C、D 上执行以下查询,我将此查询交给节点 A,因为该节点是我的主要客户端节点,它将使用 Gossip 协议与其他节点同步。

PREFIX ub: <http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#> 
SELECT ?X WHERE
{
  ?X a ub:student .
  ?Y a ub:graduateCourse .
  ?X ub:takesCourse ?Y .
}

我的问题是如何在分布式 Cassandra 节点上执行查询的子部分?节点 A 是否将完整查询传递给所有节点并从每个其他节点获取结果?或者查询的一部分被分发到所有节点并返回中间结果,然后再次发送第二部分等等..?

【问题讨论】:

标签: cassandra cluster-computing sparql


【解决方案1】:

Cassandra 本身不支持 SPARQL 查询语言。然而,CumulusRDF 是一个基于 Cassandra 的 RDF 数据库,它支持 SPARQL——它可能正是您所需要的。

【讨论】:

    【解决方案2】:

    我使用 Redland 为 Cassandra 创建了一个 SPARQL 端点。

    这里有一个用于 Cassandra 的 Redland 模块:https://github.com/cybermaggedon/cassandra-redland

    此外,Redland 的包装器提供了一个 SPARQL 端点:https://github.com/cybermaggedon/sparql-service

    我已将 SPARQL 位打包为 Docker 容器: https://hub.docker.com/r/cybermaggedon/sparql-cassandra/ 容器命令行参数为:

    /usr/local/bin/sparql &lt;PORT&gt; cassandra &lt;CASSANDRAHOSTNAME&gt;

    文档丢失。如果您对此感兴趣并且不知道如何使其工作,请 PM 我,或在 github 上提出问题,我将编写自述文件。

    【讨论】:

      猜你喜欢
      • 2015-08-09
      • 2016-08-02
      • 2021-12-29
      • 2012-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-25
      • 2017-12-05
      相关资源
      最近更新 更多