2013-10-29 33 views
2

我想知道如何在Cassandra集群上完成SPARQL查询处理。例如,我已将由LUBM生成的大学数据存储在Cassandra群集中。现在我想在Cassandra节点A,B,C,D和I上执行下面的查询,把这个查询交给节点A,因为这个节点是我的主客户节点,它将与其他使用Gossip协议的节点同步。如何在cassandra集群上完成SPARQL查询处理?

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是否将完整查询传递给所有节点并从其他节点获取结果?或者将一部分查询分配给所有节点并获得中间结果,并再次发送第二部分等。

+0

你的意思是CQL? –

+1

示例查询OP给出的是一个SPARQL查询。见http://www.w3.org/TR/sparql11-query/ –

回答

2

Cassandra本身不支持SPARQL查询语言。但是,CumulusRDF是一个支持SPARQL的Cassandra之上的RDF数据库 - 它可能是您需要的。