Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在cassandra集群上进行SPARQL查询处理?_Cassandra_Cluster Computing_Sparql - Fatal编程技术网

如何在cassandra集群上进行SPARQL查询处理?

如何在cassandra集群上进行SPARQL查询处理?,cassandra,cluster-computing,sparql,Cassandra,Cluster Computing,Sparql,我想知道如何在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:studen

我想知道如何在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 .
}
前缀ub:
选择?X在哪里
{
学生。
?是ub:研究生课程。
X ub:TakeScorse?Y。
}

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

Cassandra本身不支持SPARQL查询语言。然而,在Cassandra之上有一个RDF数据库,它确实支持SPARQL——这可能是您所需要的

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

这里有卡桑德拉的红土舱:

另外,Redland的包装器提供SPARQL端点:

我已将SPARQL位打包为Docker容器: 容器命令行参数包括:

/usr/local/bin/sparql-cassandra


文件丢失。如果您对其中任何一项感兴趣,但无法解决如何使其工作,请PM我,或在github上提出问题,我将编写自述。

OP提供的示例查询是SPARQL查询。看见