我有一个关于从Neo4j中的数组值属性中提取特定元素的问题。例如,如果out数据库中的节点都具有属性'Scores',则Scores是长度为4的整数数组。有没有办法提取路径中每个节点的第一个和第四个元素,即我们可以沿着行 -
start src=node(1), end =node(7)
match path=src-[*..2]-end
return extract(n in nodes(path)| n.Scores[1], n.Scores[4]);
P.S。我正在使用Neo4j 2.0.0-RC1
答案 0 :(得分:5)
这对你有用吗?
START src=node(1), end=node(7)
MATCH path=src-[*..2]-end
RETURN extract(n in nodes(path)| [n.Scores[0], n.Scores[3]] )
基本上,为第1和第4个(索引从0开始)得分的每个节点创建一个集合。见8.2.1. Expressions in general
Cypher中的表达式可以是:
...
表达式集合:
["a", "b"], [1,2,3],["a", 2, n.property, {param}], [ ].