Neo4j 数据导入

一、安装与部署

直接在官网下载安装包安装,解压即可。

二、下载相应的jar包

apoc 包下载链接: https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases

1.sqlserver 数据导入neo4j的jar包

apoc-3.4.0.1-all.jar     mssql-jdbc-6.2.2.jre8.jar     sqljdbc4-4.0.jar

2.mysql 数据导入neo4j的jar包

apoc-3.3.0.1-all.jar    mysql-connector-java-8.0.8-dmr.jar

3.将对应jar包放在安装目录plugins文件目录里,然后conf目录里的neo4j.conf的后面加上


  1. dbms.security.procedures.unrestricted=apoc.*
  2. apoc.import.file.enabled=true
apoc.export.file.enabled=true

4.restart neo4j,运行return apoc.version(),若有版本号,则成功。

三、导数据


  1. import org.neo4j.driver.v1.*;
  2. public class Connect{
  3. public static void main(String[] args){
  4. Driver driver = GraphDatabase.driver("bolt://localhost:7687",AuthTokens.basic("neo4j","neo4j"));
  5. Session session = driver.session();
  6. String cypher="create constraint on (n:ITEM) ASSERT n.itemid is unique"; //创建唯一索引,这样可以更快的导入数据
  7. Session.run(cypher);
  8. cypher="CALL apoc.periodic.iterate(\"CALL apoc.load.jdbc('jdbc:sqlserver://localhost;username=name;password=word;database=db;characterEncoding=utf-8',\\\"SELECT * FROM TABLE1\\\")\",\"MERGE(n:ITEM{itemid:row.mitemid}) with * MERGE(m:ITEM{itemid:row.itemid}) with * create p=(n)-[r:rel{rels:row.rels}]->(m)\",{batchSize:10000,iterateList:true})"; //连接sqlserve数据库和设计创建neo4j图数据库数据模型
  9. Session.run(cypher);
  10. session.close();
  11. driver.close();
  12. }
  13. }

mysql数据库类似,不再赘述。

补充:1.使用neo4j-import导入数据的命令

neo4j-admin import --nodes:item  "nodes.csv"  --relationships:rel "rel_header.csv,rel.csv" --ignore-missing-nodes

2.apoc 导出命令


  1. call apoc.export.cypher.query(
  2. "MATCH (p1:Person)-[r:KNOWS]->(p2:Person) RETURN p1,r,p2",
  3. "/tmp/friendships.cypher",
  4. {format:'plain',cypherFormat:'updateStructure'})`

参考: http://neo4j-contrib.github.io/neo4j-apoc-procedures/#_export_import

call apoc.export.cypher.query("match (n:lable) where not (n)--() and n.properties = '400' return distinct(n)","C://User/Desktop/test",{format:'plain',cypherFormat:'create'})

3.不用解压也能导数据load csv

load csv from "file:/twitter-2010.txt.gz" as line fieldterminator ' ' with toInt(line[0]) as id,toInt(line[1]) as id1 return id,id1 limit 10

  1. using periodic commit 1000
  2. load csv from "file:/twitter-2010.txt.gz" as line fieldterminator ' ' create (item:ITEM{id:line[0],item:line[1]})

原文地址:https://blog.csdn.net/FFFSSSFFF6/article/details/80711202

NEO4J 图数据库使用APOC数据导入的更多相关文章

  1. 使用neo4j图数据库的import工具导入数据 -方法和注意事项

    背景 最近我在尝试存储知识图谱的过程中,接触到了Neo4j图数据库,这里我摘取了一段Neo4j的简介: Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中.它是一个嵌 ...

  2. Neo4j图数据库管理系统开发笔记之一:Neo4j Java 工具包

    1 应用开发概述 基于数据传输效率以及接口自定义等特殊性需求,我们暂时放弃使用Neo4j服务器版本,而是在Neo4j嵌入式版本的基础上进行一些封装性的开发.封装的重点,是解决Neo4j嵌入式版本Emb ...

  3. Neo4j资料 Neo4j教程 Neo4j视频教程 Neo4j 图数据库视频教程

    课程发布地址 地址: 腾讯课堂<Neo4j 图数据库视频教程> https://ke.qq.com/course/327374?tuin=442d3e14 作者 庞国明,<Neo4j ...

  4. Neo4j视频教程 Neo4j 图数据库视频教程

    课程名称 课程发布地址 地址: 腾讯课堂<Neo4j 图数据库视频教程> https://ke.qq.com/course/327374?tuin=442d3e14 作者 庞国明,< ...

  5. Neo4j教程 Neo4j视频教程 Neo4j 图数据库视频教程

    课程发布地址 地址: 腾讯课堂<Neo4j 图数据库视频教程> https://ke.qq.com/course/327374?tuin=442d3e14 作者 庞国明,<Neo4j ...

  6. Neo4j图数据库从入门到精通

    目录 第一章:介绍 Neo4j是什么 Neo4j的特点 Neo4j的优点 第二章:安装 1.环境 2.下载 3.开启远程访问 4.启动 第三章:CQL 1.CQL简介 2.Neo4j CQL命令/条款 ...

  7. Neo4j图数据库从入门到精通(转)

    add by zhj: 转载时,目录没整理好,还会跳转到原文 其实RDB也可以存储多对多的关系,使用的是中间表,GDB使用的是边,RDB中的实体存储在数据表,而GDB存储在节点.两者使用的底层技术不同 ...

  8. Neo4j图数据库简介和底层原理

    现实中很多数据都是用图来表达的,比如社交网络中人与人的关系.地图数据.或是基因信息等等.RDBMS并不适合表达这类数据,而且由于海量数据的存在,让其显得捉襟见肘.NoSQL数据库的兴起,很好地解决了海 ...

  9. Ubuntu16.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 说在前面的话  首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu LTS \n \l r ...

随机推荐

  1. ASCII 对应表

    { Bin (二进制) Oct (八进制) Dec (十进制) Hex (十六进制) 缩写/字符 解释 0000 0000 00 0 0x00 NUL(null) 空字符 0000 0001 01 1 ...

  2. Android SDK Download

    { https://www.androiddevtools.cn/ }

  3. NX二次开发-UFUN计时函数UF_end_timer

    1 NX9+VS2012 2 3 #include <uf.h> 4 #include <uf_modl.h> 5 6 7 UF_initialize(); 8 9 //计时开 ...

  4. NX二次开发-算法篇-vector函数排序(例子:遍历所有点并排序)

    NX9+VS2012 #include <uf.h> #include <uf_ui.h> #include <uf_curve.h> #include <u ...

  5. 5.RabbitMQ 客户端控制消息

    1.生产者发送消息,消费者结束消息并回执 2.通过channel.basicConsume向服务器发送回执,删除服务上的消息 3.//不向服务器发送回执,服务器的消息一直存在 4.//消费者拒绝接受消 ...

  6. sqoop2安装总结

    sqoop2安装 1. 下载解压缩 此次安装版本为1.99.6 # Decompress Sqoop distribution tarball tar -xvf sqoop-<version&g ...

  7. c++-字符串和时间操作

    C++ 字符串 C++ 提供了以下两种类型的字符串表示形式: C 风格字符串 C++ 引入的 string 类类型 C 风格字符串 C 风格的字符串起源于 C 语言,并在 C++ 中继续得到支持.字符 ...

  8. 20140404 OpencvGPU模块 参考文献交叉引用:引用->题注 加入3.1,3.2,3.2编号

    1.参考文献交叉引用:引用->题注 2.加入3.1,3.2,3.2编号:开始->段落 3.OpencvGPU模块,编译opencv.sln时记得在库目录中添加D:\opencv\build ...

  9. springcloud eureka server 检测 eureka client 状态

    import com.netflix.discovery.shared.Applications; import com.netflix.eureka.EurekaServerContextHolde ...

  10. Spark Streaming的简单介绍

    本文讲解Spark流数据处理之Spark Streaming.本文的写作时值Spark 1.6.2发布之际,Spark 2.0预览版也已发布,Spark发展如此迅速,请随时关注Spark Stream ...