Neo4j 如何使用cypher查询获得图形数据库中两个节点之间的关系?

Neo4j 如何使用cypher查询获得图形数据库中两个节点之间的关系?,neo4j,cypher,graph-databases,Neo4j,Cypher,Graph Databases,我想得到两个节点之间的关系 如果存在关系node1[:知道]node2 如何使用cypher查询获取关系 START r=node(196), s=node(198) MATCH r-[rel:knows]->s RETURN TYPE(rel) 这就是我想要的 但由于两个节点之间可能存在不同的关系,例如 node1 -[:knows]->node2 node1 -[:friendrequest]->node 12 基本上,我希望将节点发送到查询并返回关系是knows还

我想得到两个节点之间的关系

如果存在关系node1[:知道]node2 如何使用cypher查询获取关系

START r=node(196), s=node(198) MATCH r-[rel:knows]->s RETURN TYPE(rel)
这就是我想要的

但由于两个节点之间可能存在不同的关系,例如

node1 -[:knows]->node2 
node1 -[:friendrequest]->node 12 
基本上,我希望将节点发送到查询并返回关系是knows还是friendrequest。谢谢

谢谢

试试看

start n1=node(1) , n2=node(2)  match n1-[r]->n2 return r
试一试


除了@ Joeg的回答,考虑到你只想要知道的关系,所以你会做这样的事情,否则你最终会返回N1和N2之间的多个关系节点:


除了@ Joeg的回答,考虑到你只想要知道的关系,所以你会做这样的事情,否则你最终会返回N1和N2之间的多个关系节点:


嗨,我更喜欢通过查询了解关系。我想从查询中得到已知的结果。有两个节点node1和node2,它们之间可能有各种关系,比如knows、friendsrequest。我基本上想得到它们之间存在的关系。谢谢,教授,但我不知道你还问了什么,因为我给你的答案让你明白了他们之间存在的关系,就像你问的那样。关系类型是knows,我提供的查询返回包含n1和n2之间关系节点的变量r。HI,START r=node196,s=node198 MATCH r-[rel:knows]->s RETURN TYPErel这给出了我想要的。但由于两个节点之间可能存在不同的关系,例如node1-[:knows]->node2 node1-[:friendrequest]->node 12,基本上,我想将节点发送到查询并返回关系是knows还是friendrequest。谢谢您最初的问题专门询问如何检索关系。如果你想知道这两个节点之间的关系,那么看看Joerg给你的答案。请参考Neo4j以了解有关Cypher的更多信息。您也可以使用r-[rel:knows | friendrequest]>s进行多个rel,但如果您不想限制类型,请使用Joergs答案。您好,我更想通过查询了解关系。我想从查询中得到已知的结果。有两个节点node1和node2,它们之间可能有各种关系,比如knows、friendsrequest。我基本上想得到它们之间存在的关系。谢谢,教授,但我不知道你还问了什么,因为我给你的答案让你明白了他们之间存在的关系,就像你问的那样。关系类型是knows,我提供的查询返回包含n1和n2之间关系节点的变量r。HI,START r=node196,s=node198 MATCH r-[rel:knows]->s RETURN TYPErel这给出了我想要的。但由于两个节点之间可能存在不同的关系,例如node1-[:knows]->node2 node1-[:friendrequest]->node 12,基本上,我想将节点发送到查询并返回关系是knows还是friendrequest。谢谢您最初的问题专门询问如何检索关系。如果你想知道这两个节点之间的关系,那么看看Joerg给你的答案。有关Cypher的更多信息,请参考Neo4j。您也可以使用r-[rel:knows | friendrequest]->s进行多个rel,但如果您不想限制类型,请使用Joergs answer。如果您只对类型感兴趣,请返回typer。如果您只对类型感兴趣,请返回typer。
start n1 = node(1), n2 = node(2)
match n1-[r:knows]->n2
return r;