Neo4j Cypher中出现意外行为

时间:2013-11-23 22:10:26

标签: neo4j cypher

在使用neo4j-shell的Neo4j Cypher中,我可以基于如下属性与单个节点建立关系:

match (p:Taxon{taxId:'9605'}),(t:Taxon{parentTaxId:p.taxId}) 
create unique (p)-[:PARENT_OF]->(t);

在p中设置taxId时,它按预期运行,并根据需要创建关系。但是,当我尝试通过将查询更改为:

将其应用于所有节点时
match (p:Taxon),(t:Taxon{parentTaxId:p.taxId}) 
create unique (p)-[:PARENT_OF]->(t);

我收到错误:

  

NotFoundException:未知标识符t

我不明白为什么现在无效。我错过了一些明显的东西吗?

1 个答案:

答案 0 :(得分:1)

我认为您需要将其分解为WHERE子句:

MATCH (p:Taxon),(t:Taxon)
WHERE t.parentTaxId=p.taxId 
CREATE UNIQUE (p)-[:PARENT_OF]->(t);