neo4j与mysql数据库_Neo4j: 迁移MySQL的数据到Neo4j

目的: 用于社交关系的管理和维护. 社交关系是一种网状的关系图, RDBMS难于维护这样的数据.

安装和配置

需要满足下面几个条件

安装 neo4j-apoc-procedures插件

安装 APOC插件

5dfa9fe17d11fc81381c93c568c8c61e.png

设置一下环境变量

NEO4J_INSTALL_PATH=/path/to/neo4j

安装插件和JDBC驱动

把mysql-connector-java-8.0.11.jar复制到Neo4j安装目录中的plugins子目录下.

cp mysql-connector-java-8.0.11.jar $NEO4J_INSTALL_PATH/plugins

重启Neo4j

如何使用

使用 apoc.load.driver 存储过程加载驱动

call apoc.load.driver('com.mysql.jdbc.Driver')

63975897bf054f8144cc0eac417e7247.png

执行MySQL查询, 并在Neo4j创建节点(顶点)和关系(边)

CALL apoc.load.jdbc(

'jdbc:mysql://localhost/db?user=root&password=root&useUnicode=true&characterEncoding=utf8',

'select * from users_copy'

) YIELD row

CREATE (n:User {uuid: row.uuid, user_id: row.user_id, name: row.name})

14ea55675e58dc9de6fb19d35e351039.png

说明: 调用 apoc.load.jdbc 存储过程连接到MySQL服务器, 数据库名称为 db, 用户名和密码都为 root, 连接到数据库后执行查询 select * from users, 针对结果集的每一行, 产生一个 user 变量. 针对每个 user 变量, 执行 Cypher 语句: CREATE (n:User {name: user.name}) 把 User 节点插入到 Neo4j 中

错误处理

如果出现如下错误:

No suitable driver found for jdbc:mysql://localhost:3306/db?user=root&password=root

需要检查:

是否正确安装了APOC插件

JDBC驱动是否安装到了正确的位置

是不是没有重启Neo4j服务器.

参考资料

Neo4j 支持各种类型的数据源, 包括数据库, JSON, ElasticSearch, XML等. 参考APOC User Guide 的 Data Integration 章节.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/422634.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASP.NET中TextBox控件的AutoCompleteType属性(不保存历史输入记录)

ASP.NET AutoCompleteType 属性 返回 ASP.NET TextBox 控件参考手册 定义和用法 AutoCompleteType 属性用于设置或返回 TextBox 控件的 AutoComplete 种类。 为了协助用户的数据输入,Microsoft Internet Explorer 5 及更高版本和 Netscape 都支持名为自动完成的功能…

前端学习(360):svn操作前期连接工作

把地址发送给所有人 checkout 单击ok 得到账号密码

MySQL赋权navicat_mysql 的root 用户无法授权及解决navicat 远程授权提示1044问题

先看解决方案#------------mysql root 用户无法赋权问题解决 --------1,登录 mysql -u root -p2,use mysql; 选择mysql数据库3,执行以下操作(查询用户的赋权权限,更改赋权权限 ,刷新生效)mysql> select user,host,g…

Linux文件系统中的链接

inode在讨论Linux系统的链接之前,不得不先说下inode。Linux文件系统中的每一个对象都有唯一的inode索引,每一个inode号和文件系统的一个对象一一对应,要查看文件或目录的inode号可在ls命令中使用-i选项,每个目录下的.(…

前端学习(361):svn操作后续

work下面新建文件夹 commit上传 上传 组员update 出现文件夹 新建文件夹 右键上传 点击小乌龟show-log 记录问题 版本操作 再次输入 bbb 先更新 更新之后再次上传 添加了bbb 单击右键 回滚

mysql 组复制 不一致_使用MySQL组复制的限制和局限性

本节列出和解释了组复制相关的要求和限制。1.组复制的要求要使用组复制,每个MySQL节点必须满足以下条件:1.1 基本要求InnoDB存储引擎:数据必须存储在事务型的InnoDB存储引擎中。事务以乐观形式执行,然后在提交前会检测冲突问题。如…

摘记

◇马云说:今天很残酷,明天更残酷,后天很美好,但是大多数人死在明天晚上,看不到后天的太阳!!! ◇晚上想想千条路,早上醒来走原路!!! ◇人要成功一定…

mysql 慢sql分析_如何分析Mysql慢SQL

内容摘要:开启慢查询日志捕获慢SQL使用explain分析慢SQL使用show profile查询SQL执行细节常见的SQL语句优化一、开启慢查询日志捕获慢SQL① 查询mysql是否开启慢日志捕获:SHOW VARIABLES LIKE %slow_query_log%;如果还没开启的话,开启&#x…

x264编码参数大测试:03 subme与crf(c)

一、测试内容 测试方法—— x264编码参数大测试:索引贴 http://www.cnblogs.com/zyl910/archive/2011/12/14/x264_encode_param.html 测试参数—— subme:9、10、11。设定子像素(subpixel)运动估计(motion estimation&…

mysql host %s_python mysql:虽然%s和列匹配,但并非SQL语句中使用的所有参数

PythonMySQL.connector一直给我错误不是SQL语句中使用的所有参数。这是我的代码:import mysql.connectorcon mysql.connector.Connect(userroot, passwordpassword, databaseDB, hostlocalhost)cur con.cursor()#data inserteradd_data "INSERT INTO DB.ver…

如何处理Global symbol * requires explicit package name编译错误,以及use strict用法

编写下面的简单示例来说明如何处理如下类型的错误提示: Global symbol "$c" requires explicit package name at *.pl line 8. Execution of *.pl aborted due to compilation errors. #############Code Starts############### #!/usr/bin/perl -w use s…

mysql error 1201_ERROR 1201 (HY000): Could not initialize master info structure; .....

配置mysql主从复制,start slave是报错:ERROR 1201 (HY000): Could not initialize master info structure; more error messages can be found in the MySQL error log原因:之前做过主从复制解决办法:mysql> stop slave;Query …

如何将函数的实际参数转换成数组

转自:http://www.planabc.net/2010/01/06/arguments_to_array/ 实际参数在函数中我们可以使用 arguments 对象获得 (注:形参可通过 arguments.callee 获得),虽然 arguments 对象与数组形似,但仍不是真正意义…

mysql 执行查询_MySQL查询的执行过程

我们总是希望MySQL能够获得更高的查询性能,最好的办法是弄清楚MySQL是如何优化和执行查询的。一旦理解了这一点,就会发现:很多的查询优化工作实际上就是遵循一些原则让MySQL的优化器能够按照预想的合理方式运行而已。当向MySQL发送一个请求的…

膨胀

转载于:https://www.cnblogs.com/carekee/articles/2296335.html

超酷的爬虫可视化界面

大家好,本文主要介绍使用tkinter获取本地文件夹、设置文本、创建按钮下拉框和对界面进行布局。 1.导入tkinter库 导入tkinter的库,可以使用ttkbootstrap美化生成的界面 ttkbootstrap官网地址:https://ttkbootstrap.readthedocs.io/en/late…

mysql5.6定时备份_Mysql自动备份

新建一个bat文件,比如db_back.bat,写入一下内容echo offset "Ymd%date:~,4%%date:~5,2%%date:~8,2%""C:/Program Files/MySQL/MySQL Server 5.6/bin/mysqldump.exe" --opt -u fate --password145829 logging > D:\db_backup\logging_%Ymd%.s…

项目管理沙龙第十次聚会纪要-AOM项目的敏捷实践

项目管理沙龙第十次聚会纪要会议一开始,就有人跟我们分享了一个名词,“分析瘫痪”,意思是不断地追求完美,结果始终在设计状态,无法到下一步去。详细可参考这个 http://hi.baidu.com/parad1se/blog/item/8724472a71b87e…

python安装依赖失败_python执行安装第三方依赖numpy失败:error: Unable to find vcvarsall.bat...

一台计算机上同时安装了python2.7和python3.7。现在为python2.7安装numpy包。失败:error: Unable to find vcvarsall.bat下载安装 Microsoft Visual C Compiler for Python 2.7user installations are disabled via policy on the machine.安装之后:C:\U…

什么是Ext(ExtJs)【转载】

Ext发展史   1、第一只“出海”的YUI-Ext只是作者Jack打算对基于BSD协议的Yahoo!UI库进行自定义的扩展,但后来一度风头盖过其父辈YUI,足以说明 大家对它的热情,很多人把它投入项目人并不十分了解它。分析人士打了一比喻:就好比尚…