实用函数
数值函数
从 Neo4j 5 开始,此功能也可以使用 `Inf`、`Infinity` 和 `NaN` 字面量以及 `isNaN()` 函数直接在 Cypher 中表达。 |
名称 | 参数 | 描述 |
---|---|---|
|
- |
返回 `NaN` 作为 Cypher 值。 |
|
- |
返回 `Infinity` 作为 Cypher 值。 |
|
要检查其是否有限的值。 |
如果给定的参数是 ±Infinity、NaN 或 null,则返回 false。 |
|
要检查其是否无限的值。 |
如果给定的参数是 `±Infinity`、`NaN` 或 `null`,则返回 `true`。 |
示例
gds.util.isFinite
gds.util.isFinite() 的示例
UNWIND [1.0, gds.util.NaN(), gds.util.infinity()] AS value
RETURN gds.util.isFinite(value) AS isFinite
isFinite |
---|
true |
false |
false |
gds.util.isInfinite
gds.util.isInfinite() 的示例
UNWIND [1.0, gds.util.NaN(), gds.util.infinity()] AS value
RETURN gds.util.isInfinite(value) AS isInfinite
isInfinite |
---|
false |
true |
true |
gds.util.IsFinite
和 gds.util.IsInfinite
的常见用法是用于过滤流式结果,例如在 gds.allShortestPaths
的示例中所示。
节点 ID 函数
GDS 中的结果通常包含节点 ID。您可以使用以下函数将 ID 连接到图中的节点。
名称 | 参数 | 描述 |
---|---|---|
|
neo4j-graph 中节点的 nodeId |
返回给定节点 ID 的节点对象,如果不存在则返回 null。 |
|
neo4j-graph 中节点的 nodeIds 列表 |
返回给定节点 ID 的节点对象,如果不存在则返回空列表。 |
示例
以下所有示例都应在空数据库中运行。 这些示例使用 Cypher 投影 作为规范。原生投影将在未来版本中弃用。 |
考虑以下 Cypher 语句创建的图
示例图
CREATE (nAlice:User {name: 'Alice'})
CREATE (nBridget:User {name: 'Bridget'})
CREATE (nCharles:User {name: 'Charles'})
CREATE (nAlice)-[:LINK]->(nBridget)
CREATE (nBridget)-[:LINK]->(nCharles)
将图投影到 GDS 中
MATCH (n:User)-[r:LINK]->(m:User)
RETURN gds.graph.project('socialGraph', n, m)