新增、弃用、移除和兼容性

本章列出了 APOC 最新版本中已移除、弃用、新增或扩展的所有功能。

版本 2025.01

更新的过程和函数

功能 详情

过程 已更新

apoc.cypher.runTimeboxed(statement, params, timeout, config)

apoc.cypher.runTimeboxed 新增了一个 config 参数。更多信息请参见 apoc.cypher.runTimeboxed → 配置参数

过程 已更新

apoc.refactor.from(rel, endNode, config),
apoc.refactor.invert(rel, config),
apoc.refactor.to(rel, endNode, config)

apoc.refactor.fromapoc.refactor.invertapoc.refactor.to 新增了一个 config 参数,用于设置在发生错误时是否应失败。

过程 已更新

apoc.create.virtual.fromNode(node, propertyNames, config)

apoc.create.virtual.fromNode 新增了一个 config 参数。更多信息请参见 apoc.create.virtual.fromNode → 节点封装

版本 5.26

已弃用的过程和函数

功能 详情

过程 已弃用

apoc.export.arrow.all(file [, config ])
apoc.export.arrow.graph(file, graph [, config ])
apoc.export.arrow.query(file, query [, config ])
apoc.export.arrow.stream.all([ config ])
apoc.export.arrow.stream.graph(graph [, config ])
apoc.export.arrow.stream.query(query [, config ])
apoc.load.arrow(file [, config ])
apoc.load.arrow.stream(source [, config ])
apoc.load.jsonParams(urlOrKeyOrBinary, headers, payload [, path, config ])
apoc.log.stream(path [, config ])

所有这些过程将在即将到来的主要版本中迁移到 APOC 扩展库

函数 已弃用

apoc.map.setEntry

此函数是 apoc.map.setKey 的重复功能,将在即将到来的主要版本中移除。

函数 已弃用

apoc.text.regreplace

此函数是 apoc.text.replace 的重复功能,将在即将到来的主要版本中移除。

函数 已弃用

apoc.text.levenshteinDistance

此函数是 apoc.text.distance 的重复功能,将在即将到来的主要版本中移除。

更新的过程和函数

功能 详情

函数 已更新

apoc.coll.collections([null], null)

apoc.coll.contains 现在使用 Cypher 的值匹配器。这意味着在匹配 null 值时,它将始终返回 false。要检查集合是否包含 null 值,建议使用 Cypher 的 any() 函数。

版本 5.24

新增的过程和函数

功能 详情

函数 新增

RETURN apoc.text.regexGroupsByName(text, regex)

返回给定文本中与正则表达式匹配的所有组及其组名。

版本 5.20

已弃用的过程和函数

功能 详情

过程 已弃用

CALL apoc.convert.toTree(paths LIST<PATH>, lowerCaseRels BOOLEAN, config MAP<STRING, ANY>)

请改用以下方式

CALL apoc.paths.toJsonTree(paths LIST<PATH>, lowerCaseRels BOOLEAN, config MAP<STRING, ANY>)

新增的过程和函数

功能 详情

过程 新增

CALL apoc.paths.toJsonTree(paths LIST<PATH>, lowerCaseRels BOOLEAN, config MAP<STRING, ANY>)

修复了已弃用的 apoc.convert.toTree 中的几个问题。

版本 5.4

已弃用的过程和函数

功能 详情

过程 已弃用

CALL apoc.trigger.add(name STRING, statement STRING, selector MAP<STRING, ANY>, config MAP<STRING, ANY>)

请改用以下方式

CALL apoc.trigger.install(databaseName STRING, name STRING, statement STRING, selector MAP<STRING, ANY>, config MAP<STRING, ANY>)

过程 已弃用

CALL apoc.trigger.remove(name STRING)

请改用以下方式

CALL apoc.trigger.drop(databaseName STRING, name STRING)

过程 已弃用

CALL apoc.trigger.removeAll()

请改用以下方式

CALL apoc.trigger.dropAll(databaseName STRING)

过程 已弃用

CALL apoc.trigger.pause(name STRING)

请改用以下方式

CALL apoc.trigger.stop(databaseName STRING, name STRING)

过程 已弃用

CALL apoc.trigger.resume(name STRING)

请改用以下方式

CALL apoc.trigger.start(databaseName STRING, name STRING)

更新的过程和函数

功能 详情

过程 已更新

apoc.path.expandConfig(startNode ANY, config MAP<STRING, ANY>)
apoc.path.spanningTree(startNode ANY, config MAP<STRING, ANY>)
apoc.path.subgraphAll(startNode ANY, config MAP<STRING, ANY>)
apoc.path.subgraphNodes(startNode ANY, config MAP<STRING, ANY>)

已弃用的配置字段

Config {
  whitelistNodes: LIST<NODE>,
  blacklistNodes: LIST<NODE>
}

请改用以下方式

Config {
  allowlistNodes: LIST<NODE>,
  denylistNodes: LIST<NODE>
}

新增的过程和函数

功能 详情

过程 新增

CALL apoc.trigger.drop(databaseName STRING, name STRING)

最终移除给定的触发器。

过程 新增

CALL apoc.trigger.dropAll(databaseName STRING)

最终移除给定数据库中的所有触发器。

过程 新增

CALL apoc.trigger.install(databaseName STRING, name STRING, statement STRING, selector MAP<STRING, ANY>, config MAP<STRING, ANY>)

最终为给定数据库创建一个触发器,当事务成功时会被调用。

过程 新增

CALL apoc.trigger.show(databaseName STRING)

列出数据库中最终安装的所有触发器。

过程 新增

CALL apoc.trigger.stop(databaseName STRING, name STRING)

最终停止给定的触发器。

过程 新增

CALL apoc.trigger.start(databaseName STRING, name STRING)

最终重新启动给定的已暂停触发器。

版本 5.1

已移除的过程和函数

功能 详情

函数 已移除

apoc.convert.toBoolean(value)

请改用以下方式

toBoolean(value)

toBooleanOrNull(value)

函数 已移除

apoc.convert.toBooleanList(value)

请改用以下方式

toBooleanList(value)

函数 已移除

apoc.convert.toFloat(value)

请改用以下方式

toFloat(value)

toFloatOrNull(value)

函数 已移除

apoc.convert.toIntList(value)

请改用以下方式

toIntegerList(value)

函数 已移除

apoc.convert.toInteger(value)

请改用以下方式

toInteger(value)

toIntegerOrNull(value)

函数 已移除

apoc.convert.toString(value)

请改用以下方式

toString(value)

toStringOrNull(value)

函数 已移除

apoc.convert.toStringList(value)

请改用以下方式

toStringList(value)

版本 5.0

配置更新

功能 详情

配置 已更新

neo4j.conf 中不再支持 APOC 配置设置。

所有 apoc.* 设置现在应通过环境变量或添加到 apoc.conf 中进行设置。

更多信息请参见此处

已弃用的过程和函数

功能 详情

函数 已弃用

RETURN apoc.create.uuid()

已被 Neo4j 函数 randomUUID() 替换

RETURN randomUUID()

过程 已弃用

CALL apoc.create.uuids($count)

已被 Neo4j 函数 randomUUID() 替换

UNWIND range(0,$count) AS row RETURN row, randomUUID() AS uuid

过程 已弃用

apoc.warmup.run(loadProperties=false,loadDynamicProperties=false,loadIndexes=false)

此过程复制了作为 DBMS 一部分的页面缓存预热功能。

已移除的过程和函数

功能 详情

过程 已移除

apoc.algo.dijkstraWithDefaultWeight(startNode, endNode, 'KNOWS', 'distance', 10) YIELD path, weight

请改用以下方式

apoc.algo.dijkstra(startNode, endNode, 'KNOWS', 'distance', defaultValue, numberOfWantedResults) YIELD path, weight

函数 已移除

apoc.date.parseAsZonedDateTime('2012-12-23 23:59:59','yyyy-MM-dd HH:mm:ss', 'UTC-hour-offset')

已被以下内容替换

apoc.temporal.toZonedTemporal('2012-12-23 23:59:59','yyyy-MM-dd HH:mm:ss', 'UTC-hour-offset')

函数 已移除

apoc.coll.reverse(coll)

在 Cypher 中已被以下内容替换

WITH [4923,'abc',521, null, 487] AS ids
RETURN reverse(ids)

过程 已移除

apoc.export.cypherAll(file,config)

已被以下内容替换

apoc.export.cypher.all(file,config)

过程 已移除

apoc.export.cypherData(nodes,rels,file,config)

已被以下内容替换

apoc.export.cypher.data(nodes,rels,file,config)

过程 已移除

apoc.export.cypherGraph(graph,file,config)

已被以下内容替换

apoc.export.cypher.graph(graph,file,config)

过程 已移除

apoc.export.cypherQuery(query,file,config)

已被以下内容替换

apoc.export.cypher.query(query,file,config)

函数 已移除

apoc.meta.type(value)

已被以下内容替换

apoc.meta.cypher.type(value)

函数 已移除

apoc.meta.types(node-relationship-map)

已被以下内容替换

apoc.meta.cypher.types(node-relationship-map)

函数 已移除

apoc.meta.isType(value,type)

已被以下内容替换

apoc.meta.cypher.isType(value,type)

函数 已移除

apoc.meta.typeName(value)

已被以下内容替换

apoc.meta.cypher.type(value)

过程 已移除

apoc.periodic.rock_n_roll_while('some cypher for knowing when to stop', 'some cypher for iteration', 'some cypher as action on each iteration', 10000) YIELD batches, total

在 Cypher 中已被部分替换为

CALL {} IN TRANSACTIONS OF n ROWS

过程 已移除

apoc.periodic.rock_n_roll('some cypher for iteration', 'some cypher as action on each iteration', 10000) YIELD batches, total

在 Cypher 中已被以下内容替换

CALL {} IN TRANSACTIONS OF n ROWS

过程 已移除

apoc.create.vPattern({_labels:['LabelA'],key:value},'KNOWS',{key:value,...}, {_labels:['LabelB'],key:value}) returns a virtual pattern

已被以下内容替换

apoc.create.virtualPath(['LabelA'],{key:value},'KNOWS',{key:value,...},['LabelB'],{key:value})

过程 已移除

apoc.create.vPatternFull(['LabelA'],{key:value},'KNOWS',{key:value,...},['LabelB'],{key:value}) returns a virtual pattern

已被以下内容替换

apoc.create.virtualPath(['LabelA'],{key:value},'KNOWS',{key:value,...},['LabelB'],{key:value})

过程 已移除

apoc.xml.import(url, config)

已被以下内容替换

apoc.import.xml(file,config)

过程 已移除

apoc.refactor.cloneNodesWithRelationships([node1,node2,...])

请改用以下内容,并将 withRelationships 设置为 true

apoc.refactor.cloneNodes(nodes, withRelationships, skipProperties)

过程 已移除

CALL apoc.text.phonetic(value) yield value

已被该函数替换

RETURN apoc.text.phonetic(text) yield value

过程 已移除

CALL apoc.text.doubleMetaphone(value) yield value

已被该函数替换

RETURN apoc.text.doubleMetaphone(text) yield value

函数 已移除

apoc.math.round(value,[prec],mode=[CEILING,FLOOR,UP,DOWN,HALF_EVEN,HALF_DOWN,HALF_UP,DOWN,UNNECESSARY])

已被 Neo4j 的 round() 函数替换

RETURN round(3.141592, 3)

函数 已移除

apoc.cypher.runFirstColumn(statement, params, expectMultipleValues)

已被以下内容替换

apoc.cypher.runFirstColumnMany(statement, params)
apoc.cypher.runFirstColumnSingle(statement, params)

已移除的配置设置

设置 详情

设置 已移除 apoc.initializer.cypher - 数据库启动时执行的 Cypher 语句

这已被特定于数据库的初始化器替换。请改用 apoc.initializer.<database name>。

© . All rights reserved.