如何在Neo4j中找到具有多个节点和多个关系的最短路径

丹妮拉·卡诺·卡勒

我不是 Cypher 的专家,但我在一个项目中,我有几个具有以下属性的节点:

['COGAB11', 'COGAB7', 'COGAB30', 'COGAB32', 'COGAB94', 'COGAB70',
'COGAB01', 'COGAB04', 'COGAB91', 'COG1AB77', 'COGAB46', 'COGAB40',
'COGAB31', 'COGAB14']

它们之间有几种关系:

[rel:coexpression|cooccurence|database|experimental|
fusion|neighborhood|score|textmining]

它也有一个属性,例如score0-1000 的整数值,我想找到所有这些节点之间的最短路径,并获得它们之间得分大于等于 500 的关系。因此,我想返回具有这些关系和路径的图形。但是,我只找到了最短路径的查询,而是在两个节点之间,而不是在多个节点和多个关系之间。此外,我不确定是否应该为此使用 APOC。

MATCH (start:Loc{name:'A'}), (end:Loc{name:'F'})
CALL algo.shortestPath.stream(start, end, 'cost')
YIELD nodeId, cost
RETURN algo.asNode(nodeId).name AS name, cost
网络诈骗

如果您的意思是希望每个关系都具有score>= 500,那么这应该返回最短路径:

MATCH (start:Loc {name: 'A'}), (end:Loc {name: 'F'}),
  p = SHORTESTPATH((start)-[:coexpression|cooccurence|database|experimental|fusion|neighborhood|score|textmining]-(end))
WHERE ALL(r IN RELATIONSHIPS(p) WHERE r.score >= 500)
RETURN p

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在neo4j中的有向图上找到节点之间的最短路径?

如何在Neo4j中找到跳数最少的最短路径?

如何在2D数组中找到具有多个端点的最短路径?

Neo4J - Cypher:多个节点之间的最短路径

Neo4j最短路径具有最高聚合关系属性

具有公共关系属性的neo4j最短路径

Neo4j中没有超节点的最短路径

Neo4j最短路径

如何在Neo4j中找到关键节点?

如何在Neo4j中找到特定的节点

如何在neo4j中找到节点的邻居?

Neo4j查询最短路径卡住(不工作),如果我在图节点中有2way关系并且节点相互关联

使用NEO4j显示具有多个关系的节点

使用cypherquery在neo4j中仅查找具有多个传入关系的节点

Neo4j和json创建具有多个参数的多个节点

neo4j:如何返回带有节点和关系标签的路径?

如何从 Neo4j 路径中按顺序显示所有节点和关系的名称

Neo4j最短路径,用于路径之间的特定节点标签

如何找到neo4j中两个节点之间最短的关系?

Neo4j 连接多个节点之间的多个关系

如何在neo4j中返回具有多个匹配项的单个节点以获取不同的标签?

如何在具有许多关系的节点上优化Neo4j MERGE查询?

Neo4j/Cypher:如何排除/包含具有多个属性的节点?

Neo4j双向的最短路径

如何在带有多个关系的neo4j中创建树结构?

如何在networkx python中找到最短路径长度等于某个数字的节点?

neo4j计算多个节点的关系

neo4j关系创建多个节点

如何在neo4j中创建具有相同节点名称的两个节点之间的关系