neo4j APOC插件安装以及Yelp示例数据导入

本文介绍如何使用APOC插件在Neo4j中批量导入数据,包括插件安装步骤和使用APOC过程导入Yelp数据集的详细Cypher命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用APOC插件可以Neo4j中导入批量数据。

Neo4j 3.x引入了过程和函数的概念。可以通过APOC来方便的操作

APOC库包含许多(约450个)程序和函数,可帮助处理数据集成,图算法或数据转换等

本文环境:win10,neo4j-community-3.5.8

neo4j APOC插件安装

1、下载地址https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/

2、拷贝apoc-<version>-all.jar 到$NEO4J_HOME/plugins/

3、修改$NEO4J_HOME/conf/neo4j.conf,添加

dbms.security.procedures.unrestricted=apoc.*

 如果直接添加过其他,则可以通过逗号隔开:

dbms.security.procedures.unrestricted=algo.*,apoc.*

4、$NEO4J_HOME/bin/neo4j restart

5、通过以下命令验证安装是否成功

​RETURN apoc.version();

Yelp示例数据导入

定义图模式(约束/索引)

CALL apoc.schema.assert(
{Category:['name']},
{Business:['id'],User:['id'],Review:['id']});

下载business.json数据https://www.yelp.com/dataset/download 或者 https://www.kaggle.com/yelp-dataset/yelp-dataset/version/9#yelp_academic_dataset_business.json

注意!!!!!!:以下加载数据命令需要yelp第10轮的数据才可以正常运行

下载business.json到$NEO4J_HOME/import(neo4j数据导入位置)

配置conf,添加

apoc.import.file.enabled=true

加载数据

CALL apoc.periodic.iterate("
CALL apoc.load.json('file:///business.json') YIELD value RETURN value
","
MERGE (b:Business{id:value.business_id})
SET b += apoc.map.clean(value, ['attributes','hours','business_id','categories','address','postal_code'],[])
WITH b,value.categories as categories
UNWIND categories as category
MERGE (c:Category{id:category})
MERGE (b)-[:IN_CATEGORY]->(c)
",{batchSize: 10000, iterateList: true});

 其他数据类似,下载完放到$NEO4J_HOME/import

 

CALL apoc.periodic.iterate("
CALL apoc.load.json('file:///tip.json') YIELD value RETURN value
","
MATCH (b:Business{id:value.business_id})
MERGE (u:User{id:value.user_id})
MERGE (u)-[:TIP{date:value.date,likes:value.likes}]->(b)
",{batchSize: 20000, iterateList: true});

 

 评论数据

CALL apoc.periodic.iterate("
CALL apoc.load.json('file:///review.json')
YIELD value RETURN value
","
MERGE (b:Business{id:value.business_id})
MERGE (u:User{id:value.user_id})
MERGE (r:Review{id:value.review_id})
MERGE (u)-[:WROTE]->(r)
MERGE (r)-[:REVIEWS]->(b)
SET r += apoc.map.clean(value, ['business_id','user_id','review_id','text'],[0])
",{batchSize: 10000, iterateList: true});

用户数据

CALL apoc.periodic.iterate("
CALL apoc.load.json('file:///user.json')
YIELD value RETURN value
","
MERGE (u:User{id:value.user_id})
SET u += apoc.map.clean(value, ['friends','user_id'],[0])
WITH u,value.friends as friends
UNWIND friends as friend
MERGE (u1:User{id:friend})
MERGE (u)-[:FRIEND]-(u1)
",{batchSize: 100, iterateList: true});

 

### 关于Neo4j APOC插件 #### 安装过程 对于希望在Windows 11上安装Neo4j APOC插件的用户而言,首先需要确保已正确下载适用于所使用的Neo4j版本(如neo4j-community-4.4.23)对应的APOC版本(例如apoc-4.4.0.3-all.jar)。完成下载之后,应当将此JAR文件放置于Neo4j安装路径中的`plugins`目录之下[^1]。 为了使新添加的APOC插件生效,在完成了上述操作后需重启Neo4j服务。通过执行这一系列步骤可以验证APOC插件是否被成功加载并准备就绪用于后续的数据处理工作流中[^2]。 #### 配置详情 除了简单的复制粘贴外,还需要对Neo4j配置文件做出相应调整来启用APOC特性。这通常涉及到编辑位于`conf/neo4j.conf`内的设置项,以激活特定的功能模块或者设定安全策略等参数。具体修改内容取决于想要解锁哪些APOC能力以及环境的安全需求[^3]。 #### 功能概述 APOC提供了广泛而强大的图数据库扩展功能,涵盖了诸如复杂查询优化、批量节点创建更新删除、与其他存储系统的交互桥接等功能点。借助这些工具集,开发者能够更加高效便捷地管理和分析大规模关联型数据结构,从而极大提升了基于Neo4j平台构建应用的可能性与灵活性。 ```python # 示例:使用Python连接至带有APOC支持的Neo4j实例 from neo4j import GraphDatabase driver = GraphDatabase.driver("bolt://localhost", auth=("neo4j", "password")) with driver.session() as session: result = session.run( """ CALL apoc.help('graph') YIELD name, description RETURN name, description LIMIT 5; """) for record in result: print(f"{record['name']}: {record['description']}") ```
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程小泓哥

你的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值