apoc.nodes.connected
语法 |
|
||
描述 |
当给定 |
||
参数 |
名称 |
类型 |
描述 |
|
|
要检查其是否直接连接到第二个节点的节点。 |
|
|
|
要检查其是否直接连接到第一个节点的节点。 |
|
|
|
如果非空,则提供节点可以连接的关系类型的允许列表。关系类型使用 APOC 的关系方向模式语法表示; |
|
返回值 |
|
||
使用示例
本节示例基于以下示例图
MERGE (michael:Person {name: "Michael"})
WITH michael
CALL {
WITH michael
UNWIND range(0, 100) AS id
MERGE (p:Person {name: "Person" + id})
MERGE (michael)-[:KNOWS]-(p)
RETURN count(*) AS friends
}
CALL {
WITH michael
UNWIND range(0, 50) AS id
MERGE (p:Person {name: "Person" + id})
MERGE (michael)-[:FOLLOWS]-(p)
RETURN count(*) AS follows
}
RETURN friends, follows;
| friends | follows |
|---|---|
101 |
51 |
apoc.nodes.connected
MATCH (p1:Person {name: "Michael"})
MATCH (p2:Person {name: "Person60"})
RETURN apoc.nodes.connected(p1, p2) AS output;
使用 Cypher 的 EXISTS 子查询
RETURN EXISTS { (p1:Person {name: "Michael"})--(p2:Person {name: "Person60"}) } AS output
| 输出 |
|---|
true |
apoc.nodes.connected
MATCH (p1:Person {name: "Michael"})
MATCH (p2:Person {name: "Person60"})
RETURN apoc.nodes.connected(p1, p2, "FOLLOWS") AS output
使用 Cypher 的 EXISTS 子查询
RETURN EXISTS { (p1:Person {name: "Michael"})-[:FOLLOWS]-(p2:Person {name: "Person60"}) } AS output
| 输出 |
|---|
false |
apoc.nodes.connected
MATCH (p1:Person {name: "Michael"})
MATCH (p2:Person {name: "Person60"})
RETURN apoc.nodes.connected(p1, p2, "FOLLOWS>|KNOWS") AS output
使用 Cypher 的 EXISTS 子查询
MATCH (p1:Person {name: "Michael"})
MATCH (p2:Person {name: "Person60"})
RETURN EXISTS { (p1)-[:FOLLOWS]->(p2) } OR EXISTS { (p1)-[:KNOWS]-(p2) } AS output
| 输出 |
|---|
true |
apoc.nodes.connected
MATCH (p1:Person {name: "Michael"})
MATCH (p2:Person {name: "Person30"})
RETURN apoc.nodes.connected(p1, p2, "FOLLOWS>") AS output
使用 Cypher 的 EXISTS 子查询
MATCH (p1:Person {name: "Michael"})
MATCH (p2:Person {name: "Person30"})
RETURN EXISTS { (p1)-[:FOLLOWS]->(p2) } AS output
| 输出 |
|---|
true |