apoc.schema.relationships

详细信息

语法

apoc.schema.relationships([ config ]) :: (name, type, properties, status, relationshipType)

描述

返回数据库中所有关系类型的索引和约束信息。可以通过配置参数定义需要包含或排除的一组关系类型。

输入参数

名称

类型

描述

config

MAP

{ labels :: LIST<STRING>, excludeLabels :: LIST<STRING>, relationships :: LIST<STRING>, excludeRelationships :: LIST<STRING> }。默认值为:{}

返回参数

名称

类型

描述

名称 (name)

STRING

索引或约束生成的名称。

type

STRING

索引或约束的类型。

属性

LIST<STRING>

与约束或索引关联的属性键。

状态 (status)

STRING

约束或索引的状态。

关系类型 (relationshipType)

ANY

与约束或索引关联的关系类型。

配置参数

配置参数
名称 类型 默认 描述

relationships

LIST<STRING>

[]

需要包含的关系类型。默认为包含所有关系类型。

excludeRelationships

LIST<STRING>

[]

需要排除的关系类型。默认为包含所有关系类型。

无法同时设置 relationshipsexcludeRelationships。如果同时设置,将返回错误:Parameters relationships and excludeRelationships are both valued.(参数 relationships 和 excludeRelationships 不能同时赋值)。

使用示例

type 结果可以是以下值之一:

类型输出
名称 (name) 模式类型

"RELATIONSHIP_PROPERTY_EXISTENCE"

关系属性存在约束

"FULLTEXT"

全文索引

"TEXT"

文本索引

"RANGE"

范围索引 (Range index)

"POINT"

空间点索引 (Point index)

"LOOKUP"

查找索引 (Lookup index)

社区版示例

假设存在以下架构

CREATE FULLTEXT INDEX fullIdx FOR ()-[n:MOVIE|BOOK]-() ON EACH [n.title, n.description];

CREATE POINT INDEX pointIdx FOR ()-[n:PLACE]-() ON (n.address);

CREATE TEXT INDEX textIdx FOR ()-[n:GAME]-() ON (n.title);

CREATE RANGE INDEX rangeIdx FOR ()-[n:FOO_BAR]-() ON (n.name);

可以执行以下查询

CALL apoc.schema.relationships()
结果
名称 (name) type 属性 状态 (status) 关系类型 (relationshipType)

":PLACE(address)"

"POINT"

["address"]

"ONLINE"

"PLACE"

":GAME(title)"

"TEXT"

["title"]

"ONLINE"

"GAME"

":[BOOK, MOVIE],(title,description)"

"FULLTEXT"

["title", "description"]

"ONLINE"

["BOOK", "MOVIE"]

":FOO_BAR(name)"

"RANGE"

["name"]

"ONLINE"

"FOO_BAR"

企业版示例

假设存在以下架构

CREATE CONSTRAINT likesDay
FOR ()-[like:LIKED]-()
REQUIRE (like.day) IS NOT NULL;

可以执行以下查询

CALL apoc.schema.relationships()
结果
名称 (name) type 属性 状态 (status) 关系类型 (relationshipType)

"CONSTRAINT ON ()-[liked:LIKED]-() ASSERT liked.day IS NOT NULL"

"RELATIONSHIP_PROPERTY_EXISTENCE"

["day"]

""

["BOOK", "MOVIE"]