Neo4j 如何区分<-[r] ->;和-[r]-在密码查询中
我认为在Cypher关系中“表示”,而关系“-[r]-“表示”。但它们返回相同的结果Neo4j 如何区分<-[r] ->;和-[r]-在密码查询中,neo4j,cypher,Neo4j,Cypher,我认为在Cypher关系中“表示”,而关系“-[r]-“表示”。但它们返回相同的结果 start n=node(1), m=node(2) create n-[:no_direction]-m; start n=node(1), m=node(2) create n-[:left]->m; start n=node(1), m=node(2) create n<-[:both_direction]->m; start n=node(1), m=node(2) match n-
start n=node(1), m=node(2) create n-[:no_direction]-m;
start n=node(1), m=node(2) create n-[:left]->m;
start n=node(1), m=node(2) create n<-[:both_direction]->m;
start n=node(1), m=node(2) match n-[r]-m return r;
start n=node(1), m=node(2) match n<-[r]->m return r;
start n=node(1),m=node(2)创建n-[:no_方向]-m;
启动n=节点(1),m=节点(2)创建n-[:left]>m;
开始n=节点(1),m=节点(2)创建nm;
开始n=节点(1),m=节点(2)匹配n-[r]-m返回r;
开始n=节点(1),m=节点(2)匹配nm返回r;
“match n-[r]-m return r”和“match nm return r”都返回3条记录。我认为“match n-[r]-m return r”应该返回3条记录,“match nm return r”应该只返回一条记录
在Cypher查询中,如何区分和-[r]-之间的关系?不确定,但我猜您在这里对关系的概念有一些误解。Neo4j中的关系始终是定向的,这条规则没有例外 在查询方面,您可以忽略它是定向的这一事实
start n=node(1), m=node(2) create n-[:RELTYPE]-m;
start n=node(1), m=node(2) create n<-[:RELTYPE]->m;
start n=node(1),m=node(2)创建n-[:RELTYPE]-m;
开始n=节点(1),m=节点(2)创建nm;
(语法()()
在任何地方都没有记录)
MATCH n-[:RELTYPE]-m
表示“在1和2之间的任何方向(传入或传出)匹配具有类型RELTYPE的任何关系”
在上面的示例中,如果您得到3个结果,这只意味着节点1和节点2之间有3个任意类型和任意方向的关系。不确定,但我猜您在这里对关系的概念有一些误解。Neo4j中的关系始终是定向的,这条规则也不例外 在查询方面,您可以忽略它是定向的这一事实
start n=node(1), m=node(2) create n-[:RELTYPE]-m;
start n=node(1), m=node(2) create n<-[:RELTYPE]->m;
start n=node(1),m=node(2)创建n-[:RELTYPE]-m;
开始n=节点(1),m=节点(2)创建nm;
(语法()()
在任何地方都没有记录)
MATCH n-[:RELTYPE]-m
表示“在1和2之间的任何方向(传入或传出)匹配具有类型RELTYPE的任何关系”
在上面的示例中,如果得到3个结果,这意味着在节点1和节点2之间有3个任意类型和任意方向的关系。我想补充Stefan的正确答案,即您的行
start n=node(1), m=node(2) create n-[:no_direction]-m;
从第一个节点的角度创建传入关系,这可能会造成一些混乱。这只是默认设置,因为您没有提供明确的方向,而且正如Stefan已经说过的,关系必须是定向的。我要补充Stefan的正确答案,即您的线路
start n=node(1), m=node(2) create n-[:no_direction]-m;
从第一个节点的角度创建传入关系,这可能会造成一些混乱。这只是默认设置,因为您没有提供明确的方向,而且正如Stefan所说,关系必须有方向。是的,语法“()()“在任何地方都没有记录,Neo4j中的关系始终是直接的。但问题是为什么Neo4j不使用“MATCH nm”来显式表示“在1和2之间的两个方向(传入和传出)上都具有类型RELTYPE的关系”?“双向”是一种方向。匹配语句表示一条路径,
nm
因此代表2个节点和1个rel。如果您只想匹配两个具有不同方向的关系,请使用match n-[:TYPE]->m`n-[:TYPE]->mYes,语法“()()”没有记录在任何地方,并且Neo4j中的关系始终是定向的。但问题是为什么Neo4j不使用“MATCH nm”来显式表示“在1和2之间的两个方向(传入和传出)上都具有类型RELTYPE的关系”?“双向”是一种方向。匹配语句表示一条路径,nm
因此代表2个节点和1个rel。如果只想匹配两个方向不同的关系,请使用match n-[:TYPE]->m`n-[:TYPE]->m