首页 > 解决方案 > Neo4j 通过用户定义的变量匹配

问题描述

我匹配,基于身份:

create (lpam:Isbn{ident:"La physique avec Maple",name:"La physique avec Maple",type:"isbn",isbnValue:"2-7298-7948-X",isbnCanonique:"",sumUp:" Physique, Chimie, Fractales et Chaos"});
create (p138:Page{ident:"La physique avec Maplep138",name:"p138",,type:"page"});
MATCH (a), (b) WHERE a.ident = "La physique avec Maple" AND b.ident = "La physique avec Maplep138" 创建 (a)-[r:CONTAINS]->(b) 返回 r。

ident 字符串太长,而 lpam p138 更短,最适合我。1)我不能根据节点变量 lpam 进行匹配吗?就像是

MATCH (a), (b) WHERE var(a) = "lpam" AND b.ident = "La physique avec Maplep138" 创建 (a)-[r:CONTAINS]->(b) 返回 r

创建(p138:页面.....

如果我无法匹配,变量 (p138) 的作用是什么?

标签: databasegraphneo4j

解决方案


您无需match再次创建关系。您可以直接使用变量来创建关系,例如:

CREATE (lpam:Isbn{ident:"La physique avec Maple",name:"La physique avec Maple",type:"isbn",isbnValue:"2-7298-7948-X",isbnCanonique:"",sumUp:"Physique, Chimie, Fractales et Chaos"});
CREATE (p138:Page{ident:"La physique avec Maplep138",name:"p138",,type:"page"});
CREATE (lpam)-[r:CONTAINS]->(p138) RETURN r;

推荐阅读