找到一组(n)节点,其中每对节点之间的关系权重大于值(w)

时间:2018-04-16 10:29:47

标签: neo4j

我有一个数据库,其中每个节点都连接到具有关系的所有其他节点,并且每个关系都有权重。我需要一个查询,其中给定权重w和多个节点n,我想要所有n个节点,其中每对关系的权重大于w。

对此的任何帮助都很棒

1 个答案:

答案 0 :(得分:2)

这取决于您希望结果集的外观。像这个查询一样简单的东西会返回符合您标准的所有路径:

MATCH p=()-[r:my_rel]->() WHERE r.weight > w RETURN p;

这会返回所有这些路径。

如果您只想要两个节点(而不是整个模式的结果),则只能返回这两个节点:

MATCH (n1)-[r:my_rel]->(n2) WHERE r.weight > w RETURN n1,n2;

请注意,由于Neo4J的存储内部结构,基于关系属性执行搜索的效果往往不如基于节点属性的搜索效果好。