我想添加与现有节点的关系,所以我做了这样的密码:
start n1=node:node_auto_index(id='0'),n2=node:node_auto_index(id='1') create n1-[:{quantity:1}]->n2;
start n1=node:node_auto_index(id='1'),n2=node:node_auto_index(id='2') create n1-[:USES_COMPONENT{quantity:7}]->n2;
start n1=node:node_auto_index(id='1'),n2=node:node_auto_index(id='3') create n1-[:USES_COMPONENT{quantity:11}]->n2;
start n1=node:node_auto_index(id='1'),n2=node:node_auto_index(id='4') create n1-[:USES_COMPONENT{quantity:14}]->n2;
但收到了很多错误消息(error around> {quantity
)。当我只添加其中一个时,会显示[[ Index
node_auto_index
does not exist ]]
。
答案 0 :(得分:1)
您无法创建没有类型的关系。如果您在第一个语句中添加类型,例如与其他人一样,USES_COMPONENT
应解决错误。您可以在不使用其类型的情况下匹配关系,但无法在没有类型的情况下创建关系。如果你想匹配它没有类型,那么你还需要删除:
,即
n1-[{quantity:1}]->n2
是一种有效的模式。
关于索引,您如何配置node_auto_index
?
答案 1 :(得分:1)
错误消息表示您没有该名称的索引。通常你可以通过enabling node auto-indexing解决这个问题 - 这没关系,但是有更好的方法来编写你的查询:
MATCH (n0), (n1), (n2), (n3), (n4)
WHERE id(n0)=0 AND id(n1)=1 AND id(n2)=2 AND id(n3)=3 AND id(n4)=4
CREATE (n0)-[:USES_COMPONENT { quantity: 1 }]->(n1),
(n1)-[:USES_COMPONENT { quantity: 7 }]->(n2),
(n1)-[:USES_COMPONENT { quantity: 11}]->(n3),
(n1)-[:USES_COMPONENT { quantity: 14}]->(n4)
RETURN n0, n1, n2, n3, n4;
使用MATCH
和WHERE
子句来查找特定节点(通常)会更容易。另请注意,您可以使用单个查询创建任意数量的新关系。
在使用它之前仔细检查此查询 - 您以混乱的方式重新使用n2
变量,因此您需要确保为您获得绑定到正确节点的正确ID。