在 Cypher 中,查询节点是否具有类型 A 的边。如何显示它们具有的其他边类型?
In Cypher, nodes are queried if they have edges type A. How to display other edge type they have?
在我的图中,边有两种类型:A
和 B
。我想查询边类型为 A
的所有节点。在这些节点中,如果它们有边 B
那么它们也应该被显示。因此,例如,如果我们有 (node1)-[A]-(node2)
、(node3)-[A]-(node4)
,并且如果这 4 个节点之间有 B
条边,则只应显示它们,而不是所有其他 B
条.
我都试了:
match (n)-[r:A]-(m)
match (n)-[s:B]-(m)
return n,r,s,m
和
match (n)-[r:A]-(m),
(n)-[s:B]-(m)
return n,r,s,m
但其中 none 有效。
我没有使用 Neo4j 浏览器,因此需要显式查询边缘。 MATCH
的手册没有帮助。
试试这个,因为您似乎在寻找三角形
MATCH (n)-[r1:A]-(m)-[r2:A]-(k)
OPTIONAL MATCH (k)-[r3:B]-(n)
在我的图中,边有两种类型:A
和 B
。我想查询边类型为 A
的所有节点。在这些节点中,如果它们有边 B
那么它们也应该被显示。因此,例如,如果我们有 (node1)-[A]-(node2)
、(node3)-[A]-(node4)
,并且如果这 4 个节点之间有 B
条边,则只应显示它们,而不是所有其他 B
条.
我都试了:
match (n)-[r:A]-(m)
match (n)-[s:B]-(m)
return n,r,s,m
和
match (n)-[r:A]-(m),
(n)-[s:B]-(m)
return n,r,s,m
但其中 none 有效。
我没有使用 Neo4j 浏览器,因此需要显式查询边缘。 MATCH
的手册没有帮助。
试试这个,因为您似乎在寻找三角形
MATCH (n)-[r1:A]-(m)-[r2:A]-(k)
OPTIONAL MATCH (k)-[r3:B]-(n)