Neo4j 当两个不同类型的节点对某个属性具有相同的值时,如何创建与cypher的关系?
这两种类型的节点分别是地址和钱包。要匹配的属性称为primWallAddr 我不确定这是否有效:Neo4j 当两个不同类型的节点对某个属性具有相同的值时,如何创建与cypher的关系?,neo4j,cypher,Neo4j,Cypher,这两种类型的节点分别是地址和钱包。要匹配的属性称为primWallAddr 我不确定这是否有效: MATCH (addr:Address {primWallAddr}), (wa:Wallet {primWallAddr}) CREATE (addr)-[:belongsTo]->(wa) 还是我必须使用“where”?(如果是,最好举个例子) 很抱歉问了这么一个基本的问题。我想确定一下,但在网上找不到类似的东西(我认为)。您需要稍微修改一下您的查询以使其正常工作: MATCH (add
MATCH (addr:Address {primWallAddr}), (wa:Wallet {primWallAddr})
CREATE (addr)-[:belongsTo]->(wa)
还是我必须使用“where”?(如果是,最好举个例子)
很抱歉问了这么一个基本的问题。我想确定一下,但在网上找不到类似的东西(我认为)。您需要稍微修改一下您的查询以使其正常工作:
MATCH (addr:Address), (wa:Wallet) WHERE addr.primWallAddr=wa.primWallAddr
CREATE (addr)-[:belongsTo]->(wa)
要使查询正常工作,您需要稍微修改查询:
MATCH (addr:Address), (wa:Wallet) WHERE addr.primWallAddr=wa.primWallAddr
CREATE (addr)-[:belongsTo]->(wa)
所以我假设“在哪里”是必要的?但是,当我从csv导入关系时,命令的匹配部分是,例如“匹配(inp:Input{AddId:row[0]}),(ta:Transaction{TranId:row[1]})”有什么原因吗?您可以通过精确的属性值进行匹配,否则需要WHERE语句。所以精确匹配(n:Node{Id:246})是有效的,但是。。。匹配(p:Person),其中p.name以“an”开头需要一个where语句,所以我假设“where”是必需的?但是,当我从csv导入关系时,命令的匹配部分是,例如“匹配(inp:Input{AddId:row[0]}),(ta:Transaction{TranId:row[1]})”有什么原因吗?您可以通过精确的属性值进行匹配,否则需要WHERE语句。所以精确匹配(n:Node{Id:246})是有效的,但是。。。匹配(p:Person),其中p.name以“an”开头需要where语句