问问题
507 次
1 回答
0
第一个问题是您正在属性图中构建属性图。这是可能的,但很尴尬,并不总是一个好的选择。
你的例子: http ://console.neo4j.org/r/evl77k
如果理解正确,您希望能够更改值节点并重新使用相同的属性节点,对吗?
问题在于,在您的第二个查询中,您要求 Cypher 查找具有与图中已有属性不同的属性的值节点。Cypher 找不到这样的节点,因此为您创建了一个。然后它会尝试从新创建的节点中找到传出的 ATTRIBUTE 关系,当然它没有找到任何关系。所以它为你创造了一个新的关系和属性。
如果您想继续使用相同的属性节点,您只需从值节点中省略属性值,如下所示:
START o=node(0)
CREATE UNIQUE o-[:VALUE]->(v)-[:ATTRIBUTE]->(a {name:'Colour'})
SET v.value = 'Green'
RETURN v
这将找到您的颜色属性节点,然后为您设置属性,而不是每次都创建新路径。
说得通?
安德烈斯
于 2012-11-28T11:25:32.413 回答