图函数

graph.names()

详细信息

语法

graph.names()

描述

列出当前数据库中图的名称。

返回

LIST<STRING>

注意事项

graph.names() 仅在 复合数据库 上受支持。

示例 1. graph.names()
设置
CREATE DATABASE dba;
CREATE DATABASE dbb;
CREATE DATABASE dbc;
CREATE COMPOSITE DATABASE composite;
CREATE ALIAS composite.first FOR DATABASE dba;
CREATE ALIAS composite.second FOR DATABASE dbb;
CREATE ALIAS composite.third FOR DATABASE dbc;
查询
RETURN graph.names() AS name

返回当前复合数据库上的所有图的名称。

结果
名称

"composite.first"

"composite.second"

"composite.third"

行数:3

graph.propertiesByName()

详细信息

语法

graph.propertiesByName(graphName)

描述

返回与图关联的 MAP 属性。

参数

名称

类型

描述

graphName

STRING

将返回所有关联属性的图的名称。

返回

MAP

注意事项

graph.propertiesByName() 仅在 复合数据库 上受支持。

返回的 MAP 中的属性设置在将图作为复合数据库的组成部分添加的 别名 上。

示例 2. graph.propertiesByName()
设置
CREATE DATABASE dba;
CREATE DATABASE dbb;
CREATE DATABASE dbc;
CREATE COMPOSITE DATABASE composite;
CREATE ALIAS composite.first FOR DATABASE dba
  PROPERTIES {number: 1, tags: ['A', 'B']};
CREATE ALIAS composite.second FOR DATABASE dbb
  PROPERTIES {number: 0, tags: ['A']};
CREATE ALIAS composite.third FOR DATABASE dbc
  PROPERTIES {number: 2, tags: ['B', 'C']};
查询
UNWIND graph.names() AS name
RETURN name, graph.propertiesByName(name) AS props

返回当前复合数据库上所有图的属性。

结果
名称 道具

"composite.first"

{number: 1, tags: ["A", "B"]}

"composite.second"

{number: 0, tags: ["A"]}

"composite.third"

{number: 2, tags: ["B", "C"]}

行数:3

查询
UNWIND graph.names() AS name
WITH name, graph.propertiesByName(name) AS props
WHERE "A" IN props.tags
CALL () {
  USE graph.byName(name)
  MATCH (n)
  RETURN n
}
RETURN n

返回所有来自具有包含 "A"tags 属性的图子集的节点。

上述查询使用空的 变量范围子句CALL () { …​ }(在 Neo4j 5.23 中引入)。如果您使用的是旧版本的 Neo4j,请改用 CALL { …​ }。有关更多信息,请参见 CALL 子查询 → 导入变量

graph.byName()

详细信息

语法

graph.byName(name)

描述

返回给定名称的图引用。它仅在 USE 子句中、在复合数据库上受支持。

参数

名称

类型

描述

名称

STRING

要解析的图的名称。

返回

GRAPH

示例 3. graph.byName()
查询
UNWIND graph.names() AS graphName
CALL () {
  USE graph.byName(graphName)
  MATCH (n)
  RETURN n
}
RETURN n

返回当前复合数据库上所有图的所有节点。

上述查询使用空的 变量范围子句CALL () { …​ }(在 Neo4j 5.23 中引入)。如果您使用的是旧版本的 Neo4j,请改用 CALL { …​ }。有关更多信息,请参见 CALL 子查询 → 导入变量

graph.byElementId()

详细信息

语法

graph.byElementId(elementId)

描述

返回具有给定元素 ID 的图引用。它仅在 USE 子句中、在复合数据库上受支持。

参数

名称

类型

描述

elementId

STRING

节点或关系的元素 ID。

返回

GRAPH

注意事项

如果组成数据库不是 DBMS 中的标准数据库,则会抛出错误。

示例 4. graph.byElementId()

在此示例中,假设 DBMS 包含一个复合数据库组成部分,其中包含元素 ID 4:c0a65d96-4993-4b0c-b036-e7ebd9174905:0

查询
USE graph.byElementId("4:c0a65d96-4993-4b0c-b036-e7ebd9174905:0")
MATCH (n) RETURN n