图函数

graph.names()

详细信息

语法

graph.names()

描述

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

返回

LIST<STRING>

注意事项

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

只有当用户拥有访问权限时,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

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

结果
名称 (name)

"composite.first"

"composite.second"

"composite.third"

行:3

graph.propertiesByName()

详细信息

语法

graph.propertiesByName(graphName)

描述

返回与图相关联的属性 MAP

参数

名称

类型

描述

graphName

STRING

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

返回

MAP

注意事项

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

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

只有当用户拥有访问权限时,graph.propertiesByName() 才会返回图引用的属性。

示例 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

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

结果
名称 (name) 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)

描述

返回给定名称的图引用。

参数

名称

类型

描述

名称 (name)

STRING

要解析的图的名称。

返回

GRAPH

注意事项

graph.byName() 仅在 USE 子句中、在组合数据库上受支持。

只有当用户拥有访问权限时,graph.byName() 才会返回图引用。

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

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

graph.byElementId()

详细信息

语法

graph.byElementId(elementId)

描述

返回具有给定元素 ID 的图引用。

参数

名称

类型

描述

elementId

STRING

节点或关系的元素 ID。

返回

GRAPH

注意事项

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

graph.byElementId() 仅在 USE 子句中受支持。

graph.byElementId()标准数据库和组合数据库 上均受支持。

在标准数据库上,带有 graph.byElementId()USE 子句不能与其他 USE 子句组合,除非后续的 USE 子句引用相同的元素 ID。

只有当用户拥有访问权限时,graph.byElementId() 才会返回图引用。

示例 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