|| apoc.nodes.relationships.exist - APOC 核心文档 - Neo4j 文档

apoc.nodes.relationships.exist

详情

语法

apoc.nodes.relationships.exist(nodes [, types ])

描述

根据给定的 NODE 值是否具有给定的 RELATIONSHIP 值,返回一个 BOOLEAN 类型的结果。

参数

名称

类型

描述

nodes

ANY

要检查指定关系类型的节点。

types

STRING

要在给定节点上检查的关系类型。关系类型使用 APOC 的关系方向模式语法表示;[<]RELATIONSHIP_TYPE1[>]|[<]RELATIONSHIP_TYPE2[>]|…。默认值为空。

返回

LIST<ANY>

输出参数

名称 类型 描述

value

LIST<MAP>

一个 LIST<MAP>,其中包含 MAP 值,键为;"node" → NODE 和 "exists" → MAP,其中包含每个类型的 STRING 值 → 指示其存在性的 BOOLEAN 值。

使用示例

本节中的示例基于以下示例图

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;
结果
朋友 关注

101

51

MATCH (p1:Person)
WHERE p1.name IN ["Michael", "Person30", "Person60"]
WITH collect(p1) AS people
UNWIND apoc.nodes.relationships.exist(people, "KNOWS>|FOLLOWS") AS output
RETURN output;
结果
输出

{node: (:Person {name: "Michael"}), exists: {`KNOWS>`: TRUE, FOLLOWS: TRUE}}

{node: (:Person {name: "Person30"}), exists: {`KNOWS>`: FALSE, FOLLOWS: TRUE}}

{node: (:Person {name: "Person60"}), exists: {`KNOWS>`: FALSE, FOLLOWS: FALSE}}

© . This site is unofficial and not affiliated with Neo4j, Inc.