0
我遇到了一个问题,我有我的图形构造是这样的:继承财产 - 的Neo4j
A
/ \
B C
/\ /\
D E F G
我的所有节点都是Object类型:即匹配( N:对象) 我创造了这个图形只有一个关系(父母和子女) 即(A)-[:child]->(B)
,(A)-[:child]->(C)
,(B)-[r:child]->D
,等等,直到节点G
我在每个节点上定义的属性称为:levelID
一些的节点可能没有这个levelID。没有levelID的节点应该从其父节点继承。
现在,当我运行暗号(假设C和G不具有levelID):
MATCH (n1:Object)-[:child]->(n2:Object)
return n2.id as id,
CASE
WHEN n2.levelId is null
THEN n1.levelId //I am stuck here. (what if node C has levelID as null)
ELSE n2.levelId
END AS level
这不是得到所需的输出。
预期:(考虑C和G具有levelId = NULL)
id node level
1 A 1
2 B 2
3 C 1
4 D 4
5 E 5
6 F 6
7 G 1
但是,这是我的实际:(
id node level
1 A 1
2 B 2
3 C 1
4 D 4
5 E 5
6 F 6
7 G null
,感谢您的解决方案 如何修改,如果我想要从多个父母继承, 我发布了类似的要求 http://stackoverflow.com/questions/42523140/inherit-properties-of-a-node-which-relationship-to-another-node-to-its柴尔德,在 –