更改neo4j中的节点标签
我用错误的标签创建了一个节点。更改neo4j中的节点标签,neo4j,cypher,Neo4j,Cypher,我用错误的标签创建了一个节点。 有没有办法在不重新创建的情况下更改节点标签或关系类型? 我试过类似的东西 匹配n,其中Id(n)=14组n.标签='Person' 但这是错误的 MATCH (n:OLD_LABEL {id:14}) REMOVE n:OLD_LABEL SET n:NEW_LABEL 我猜这个问题可以解释 可以更改与标签关联的节点,但不能更改关系的类型。从概念上讲,如果你把你的鸡从一个鸡笼里拿出来放到另一个鸡笼里,你并没有改变鸡的物质。但是当你把鸡从烤箱里拿出来放进嘴里的时候
有没有办法在不重新创建的情况下更改节点标签或关系类型? 我试过类似的东西 匹配n,其中Id(n)=14组n.标签='Person' 但这是错误的
MATCH (n:OLD_LABEL {id:14})
REMOVE n:OLD_LABEL
SET n:NEW_LABEL
我猜这个问题可以解释 可以更改与标签关联的节点,但不能更改关系的类型。从概念上讲,如果你把你的鸡从一个鸡笼里拿出来放到另一个鸡笼里,你并没有改变鸡的物质。但是当你把鸡从烤箱里拿出来放进嘴里的时候,它已经不再是鸡了(除非模棱两可)。你可以决定叫你的猫胡子而不是查理,但是如果你决定要养一条巨蟒而不是猫,给猫起个新名字是没有帮助的。类似地,节点可以是不同标签的成员并保持相同的节点,但关系的类型是构成的。所以:你可以随意添加和删除标签,但是如果你想要一种不同的关系类型,那么你真正想要的是一种不同的关系。这也是为什么一个关系只有一种类型,而一个节点可以有许多标签 标签是任意的节点集或节点包。已经给出了更换行李的语法,但为了完整性:
MATCH (n)
WHERE ID(n) = 14
REMOVE n:Whiskers
SET n:Charlie
MATCH (petless_and_unhappy)-[whiskers:CAT]->(petful_and_unhappy)
DELETE whiskers
CREATE (petless_and_unhappy-[sir_hiss:ANACONDA]->(peftul_and_happy)
这适用于同时更改多个节点上的标签:
MATCH (n:OLD_LABEL)
WHERE ID(n) IN [7, 8]
REMOVE n:OLD_LABEL
SET n:NEW_LABEL
试试这个:
Match (n:person{name:'John Jjones'}) Set n.name = 'John Jones'
我不明白为什么要删除关系。在我的例子中,它与id有点不同:
MATCH(n:Node),其中id(n)=14删除n:Node集n:Person
{id:14}
不正确,使用id(n)=14
。(neo4j 3)如果有一个用于鸡/猫/蟒蛇的例子的类比,我不会遵循它。所有这些东西都是名词,也许你想用动词来表示关系或其他什么?“如果你把尾巴叫做腿,那么狗有多少条腿?”-阿贝·林肯这与问题有什么关系?@Dominique It试图通过使用带有打字错误的名称来查找节点。不努力解释自己……)