将mysql数据导入neo4j


作者使用的是3.55的neo4j,对应的java版本为1.8.0_41。

文件下载:

链接:https://pan.baidu.com/s/15_tR7YlM0qgCd5JIbP_AEg
提取码:my4z

安装neo4j,在安装路径下..\neo4j-community-3.5.5\plugins放入两个需要的jar包apoc-3.5.0.11-all.jar,mysql-connector-java-8.0.11.jar

在配置文本..\neo4j-community-3.5.5\conf\neo4j.conf 添加

dbms.windows_service_name=neo4j
  • 设置系统变量:

    添加变量名:NEO4J_HOME,变量值:(安装路径下)..\neo4j-community-3.5.5

    path内添加:%NEO4J_HOME%\bin

  • 在cmd窗口内输入neo4j.bat console即可启动neo4j数据库
  • 访问数据库  http://localhost:7474/

如果数据库启动失败,一般都是neo4j和java版本不匹配造成的,neo4j不支持较高版本的java.

导入mysql数据:

输入CQL命令

call apoc.load.jdbc('jdbc:mysql://localhost:3306/test?user=root&password=root&serverTimezone=GMT','select * from line_lldp') yield row
create (:test{host:row.target})  #shift+回车键换行
create (:test{host:row.source})

neo4j学习网站:Neo4j 图数据库中文社区,致力于 Neo4j 的技术研究。

基本COL语句:

创建三个支点,表名为student

create (:student{name:'小明'}),(:student{name:'小红'}),(:student{name:'李雷'})

搜索student表内数据

match (n:student) return n

设置两者关系

match (n:student1 {name:"小明"}),(m:student1 {name:"小红"}) 
create (n)-[r:同学]->(m)

删除一个支点,含有关系的数据先删除关系

match (n:student1{name:'李雷'}) delete n

删除一个关系

match (n:student1)-[r:同学]->(m:student1) where n.name='小明' and m.name='小红' delete r

删除相同结点

MATCH (n:student)
WITH n.name AS name, COLLECT(n) AS nodelist, COUNT(*) AS count
WHERE count > 1
CALL apoc.refactor.mergeNodes(nodelist) YIELD node
RETURN node

删除所有数据

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r

删除一个表的数据

MATCH (n:test)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r