我有一个可以正常使用的代码段:
MATCH p=(:Person)-[*]->(:Person)
WHERE 1 < REDUCE(s = 0, x IN NODES(p) | CASE WHEN x.some_var = '1' THEN s + 1 ELSE s END)
WITH p
RETURN p;
这将返回有两个或更多some_var
个实例的路径。没问题。
但是如何才能访问p
的某些属性?
例如,假设每个节点都有node_id
属性。我想为p
中的每个节点提供所有这些表格。
我需要类似上面的代码,但以:
结尾...
RETURN p.node_id;
即使我知道这是完全错误的。
答案 0 :(得分:1)
您可以使用extract
从路径中提取这些属性,例如:
MATCH p=(:Person)-[*]->(:Person)
WHERE 1 < REDUCE(s = 0, x IN NODES(p) | CASE WHEN x.some_var = '1' THEN s + 1 ELSE s END)
WITH p
RETURN p, extract(x IN nodes(p) | x.node_id) as nodeIds;
或更短的版本:
MATCH p=(:Person)-[*]->(:Person)
WHERE 1 < REDUCE(s = 0, x IN NODES(p) | CASE WHEN x.some_var = '1' THEN s + 1 ELSE s END)
WITH p
RETURN p, [x IN nodes(p) | x.node_id] as nodeIds;