使用APOC技术从MYSQL数据库导数据到Neo4j图数据库(JDBC)
时间:2019-08-22
本文章向大家介绍使用APOC技术从MYSQL数据库导数据到Neo4j图数据库(JDBC),主要包括使用APOC技术从MYSQL数据库导数据到Neo4j图数据库(JDBC)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
-
Neo4j 数据导入
-
一、安装与部署Neo4j
直接在官网下载安装包安装,解压即可。
-
2.mysql 数据导入neo4j的jar包
apoc-3.4.0.1-all.jar mysql-connector-java-8.0.8-dmr.jar
-
3.将对应jar包放在Neo4j的安装目录plugins文件目录里,然后在Neo4j的conf目录里的neo4j.conf文件的最后面加上
dbms.security.procedures.unrestricted=apoc.*,algo.*
-
apoc.import.file.enabled=true
apoc.export.file.enabled=true -
注意:(APOC jar包要与neo4j版本对应,否则启动Neo4j有可能出现无法连接这种情况 我这里用到的Neo4j版本为3.4.6 APOC为3.4.0 本人曾经在Neo4j-3.5.0版本plugins文件目录里 添加APOC-3.4版本,出现启动Neo4j无法连接这种情况 )
-
4.程序:
-
- package com.dataexa.neo4j.test;
- import org.neo4j.driver.v1.AuthTokens;
- import org.neo4j.driver.v1.Driver;
- import org.neo4j.driver.v1.GraphDatabase;
- import org.neo4j.driver.v1.Session;
- public class Connect {
- public static void main(String[] args) {
- Driver driver = GraphDatabase.driver("bolt://localhost:7687", AuthTokens.basic("neo4j", "root"));
- Session session = driver.session();
- String cypher = "create constraint on (n:ITEM) ASSERT n.itemid is unique"; //创建唯一索引,这样可以更快的导入数据
- session.run(cypher);
- cypher = "CALL apoc.load.jdbc(\n" +
- " 'jdbc:mysql://localhost/abc(数据库名)?user=root(数据库的登录用户)&password=root(数据库登录密码)&useUnicode=true&characterEncoding=utf8',\n" +
- " 'select * from yntest(表名)'\n" +
- ") YIELD row\n" +
- "CREATE (:People { cardNo :row.cardNo,name : row.name,sex : row.sex," +
- "birthday : row.birthday,phone : row.phone})" +
- "CREATE (:People1 { cardNo1 : row.cardNo1,name1 : row.name1," +
- "sex1 : row.sex1,birthday1 : row.birthday1,phone1 : row.phone1})" +
- "CREATE (:People)-[r:relation{edge:'铁路同行',txcs:row.txcs}]->(People1)";
- ///////"CREATE (:People { cardNo :row.cardNo,name : row.name,sex : row.sex," + "birthday : row.birthday,phone : row.phone})" + "CREATE (:People1 { cardNo1 : row.cardNo1,name1 : row.name1," + "sex1 : row.sex1,birthday1 : row.birthday1,phone1 : row.phone1})" + "CREATE (:People)-[r:relation{edge:'铁路同行',txcs:row.txcs}]->(People1)";
- //////以上是mysql中的表开头字段
- session.run(cypher);
- session.close();
- driver.close();
- }
- }
原文地址:https://www.cnblogs.com/jpfss/p/11393823.html
- Windows Live Writer插入代码vs2010插件
- 分布式队列编程优化篇
- 基于机器学习方法的POI品类推荐算法
- 【Scikit-Learn 中文文档】多类和多标签算法 - 监督学习 - 用户指南 | ApacheCN
- 【Scikit-Learn 中文文档】新异类和异常值检测 - 无监督学习 - 用户指南 | ApacheCN
- Golang中使用echo框架、MongoDB、JWT搭建REST API
- 在对象的原型上添加方法?
- KMeans聚类算法思想与可视化
- 控制台断点调试
- 函数声明与表达式的区别
- 揭开身份证验证的神秘面纱
- return语句的用法
- JavaScript基础讲解 - 函数与参数
- Go实战--golang中使用RethinkDB(gorethink/gorethink.v3)
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解