2017-08-29 109 views
1

我想根据特定的关系标签找到所有连接到特定节点的节点。这是我这么远,基于NEO4j中的关系属性获取路径

Match (n:UMLSConcepts{ConceptID: 'C3254924'})-[:NDFRT {RelationLabel : "RO_may_be_treated_by"}]-> (m:UMLSConcepts) RETURN (n), (m) 

其中(n)是一个特定的节点和(m)是与该节点连接的所有其他节点。上述语句的问题是它在这种情况下依赖于特定的关系类型(NDFRT),但是我希望在此情况下包含某些关系属性的所有关系类型(“RO_may_be_treated_by”),因为在其他关系中可能存在路径/边缘类型也是如此。

回答

0

如果II完全理解你的问题,你可以简单地省略了关系型在你的Cypher查询,这种方式:

Match (n:UMLSConcepts{ConceptID: 'C3254924'})-[{RelationLabel : "RO_may_be_treated_by"}]-> (m:UMLSConcepts) 
RETURN (n), (m) 
+0

请您提供一个查询,获取这些节点之间的间接路径为好,因为上面查询得到我只有直接路径 – gaurav1207

+0

@ gaurav1207你可以简单地省略关系方向了。这样:match(n:UMLSConcepts {ConceptID:'C3254924'}) - [{RelationLabel:“RO_may_be_treated_by”}] - (m:UMLSConcepts) RETURN(n),(m)' –

+0

我做到了匹配p = (n:UMLSConcepts {ConceptID:'C3254924'}) - [r] - (m) 其中r.RelationLabel包含“may_be_treat” RETURN p,但它仍提取直接路径 – gaurav1207