我们说我们有这个密码
match (n:Person{pid:322})-[k*1..2]->(s) return k
k
将是来自最多2个跃点的特定节点Collection
的所有关系的n
。
如何Node-Relation-Node
Relation
中k
所有match (a)-[b]->(c) foreach b in k return a,b,c
?它类似foreach
,但我知道此查询无效,因为在这种情况下,Neo4J中的return a,b,c
关键字无法使用。
编辑: 我想我应该添加一些插图来使事情更清楚。这里我使用Neo4J文档中的一个例子:
当我从Charlie Sheen开始并使用1..2范围时,查询必须返回(假设查询以S = S[:1] + S[2:]
结尾)
a | b | ç
查理辛| ACTED_IN |华尔街
查理辛|父亲|马丁辛
马丁辛| ACTED_IN |美国总统
马丁辛| ACTED_IN |华尔街
答案 0 :(得分:0)
我不确定为什么不会这样:
match (n:Person{pid:322})-[k*1..2]->(s) return n,k,s
除非我误解你的问题。
答案 1 :(得分:0)
路径将通过n
s
到k
的节点和关系切片序列
MATCH p=(n:Person{pid:322})-[k*1..2]->(s) return p
您还可以使用nodes(p)
或rels(p)
答案 2 :(得分:0)
此查询应生成您编辑的问题所要求的a
,b
和c
值(假设您始终需要name
属性值):
MATCH (n:Person{pid:322})-[k*1..2]->(s)
WITH LAST(k) AS lk
RETURN STARTNODE(lk).name AS a, TYPE(lk) AS b, ENDNODE(lk).name AS c;