1 APOC简介

APOC即Awesome Procedures on Cypher ,是 Neo4j 最大和最广泛使用的扩展库,是Neo4j过程和函数的标准实用程序库。它包括 450 多个标准程序,提供实用程序、转换、图形更新等功能。它们得到很好的支持,并且很容易作为单独的函数运行或包含在 Cypher 查询中。

2 注意事项

由于 APOC 依赖于 Neo4j 的内部 API,因此您需要为 Neo4j 安装使用匹配的 APOC 版本。确保前两个版本号在 Neo4j 和 APOC 之间匹配。以下是APOC和Neo4j版本匹配表

apoc versionneo4j version4.4.0.14.4.0 (4.3.x)4.3.0.44.3.7 (4.3.x)4.2.0.94.2.11 (4.2.x)4.1.0.104.1.11 (4.1.x)4.0.0.184.0.12 (4.0.x)3.5.0.153.5.30 (3.5.x)3.4.0.83.4.18 (3.4.x)3.3.0.43.3.9 (3.3.x)3.2.3.63.2.14 (3.2.x)3.1.3.93.1.9 (3.1.x)3.0.8.63.0.12 (3.0.x)3.5.0.03.5.0-beta013.4.0.23.4.53.3.0.33.3.53.2.3.53.2.33.1.3.83.1.5

3 安装流程

下载二进制 jar 并将其放到本地文件夹$NEO4J_HOME$/plugins下 将以下内容添加到$NEO4J_HOME$/conf/neo4j.conf文件中:

出于安全原因,默认情况下Neo4j禁用使用内部 API 。它们可以通过在$NEO4J_HOME/conf/neo4j.conf指定配置来启用) dbms.security.procedures.unrestricted=apoc.*

将apoc中一般要加载的过程和函数列入白名单 (允许运行的程序列表中) dbms.security.procedures.whitelist=apoc.coll.*,apoc.load.*

重启Neo4j,确认是否安装成功,如果返回APOC版本号,即为安装成功 RETURN apoc.version() as version

4 使用apoc样例

cypher apoc中的并集函数

在APOC库中,可以使用apoc.coll.union函数执行集合的并集操作。apoc.coll.union函数用于将两个或多个集合合并为一个包含所有元素的新集合。

以下是使用apoc.coll.union函数执行集合并集操作的示例:

cypherCopy codeMATCH (p1:Person {name: 'John'})

MATCH (p2:Person {name: 'Alice'})

RETURN apoc.coll.union(p1.hobbies, p2.hobbies) AS mergedHobbies

在上述示例中,我们使用MATCH子句分别匹配名为"John"和"Alice"的"Person"节点。然后,在RETURN子句中,我们使用apoc.coll.union函数将这两个节点的"hobbies"集合属性合并为一个新的集合,并将结果命名为"mergedHobbies"。

查询结果将返回一个包含合并后兴趣爱好的列表,即这两个"Person"节点的"hobbies"集合的并集。

cypher apoc中的交集函数

在Cypher中,可以使用INTERSECTION关键字来执行集合的交集操作。INTERSECTION关键字用于找到两个或多个集合之间的共同元素。

以下是使用INTERSECTION关键字执行集合交集操作的示例:

cypherCopy codeMATCH (p1:Person {name: 'John'})

MATCH (p2:Person {name: 'Alice'})

RETURN apoc.coll.intersection(p1.hobbies, p2.hobbies) AS commonHobbies

在上述示例中,我们使用MATCH子句分别匹配名为"John"和"Alice"的"Person"节点。然后,在RETURN子句中,我们使用apoc.coll.intersection函数找到这两个节点的"hobbies"集合属性之间的共同元素,并将结果命名为"commonHobbies"。

查询结果将返回一个包含共同兴趣爱好的列表,即这两个"Person"节点的"hobbies"集合的交集。

相关文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: