apoc.schema.relationships
|
此过程不被认为是多线程安全运行的。因此,并行运行时不支持此过程。欲了解更多信息,请参阅Cypher 手册 → 并行运行时。 |
语法 |
|
||
描述 |
返回数据库中所有关系类型的索引和约束信息。可以在配置参数中定义要包含或排除的关系类型集。 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
|
|
返回参数 |
名称 |
类型 |
描述 |
|
|
索引或约束的生成名称。 |
|
|
|
索引或约束的类型。 |
|
|
|
与约束或索引关联的属性键。 |
|
|
|
约束或索引的状态。 |
|
|
|
与约束或索引关联的关系类型。 |
|
配置参数
| 名称 | 类型 | 默认 | 描述 |
|---|---|---|---|
|
|
[] |
要包含的关系类型。默认包含所有关系类型。 |
|
|
[] |
要排除的关系类型。默认包含所有关系类型。 |
不能同时为relationships和excludeRelationships赋值。在这种情况下,将返回错误Parameters relationships and excludeRelationships are both valued.。
使用示例
type结果可以具有以下值之一
| name | 模式类型 |
|---|---|
"RELATIONSHIP_PROPERTY_EXISTENCE" |
关系属性存在约束 |
"FULLTEXT" |
全文索引 |
"TEXT" |
文本索引 |
"RANGE" |
范围索引 |
"POINT" |
点索引 |
"LOOKUP" |
查找索引 |
给定以下模式
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 | properties | 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 | properties | status | relationshipType |
|---|---|---|---|---|
"CONSTRAINT ON ()-[liked:LIKED]-() ASSERT liked.day IS NOT NULL" |
"RELATIONSHIP_PROPERTY_EXISTENCE" |
["day"] |
"" |
["BOOK", "MOVIE"] |