neo4j导入csv文件

关于neo4j的安装

官网和网上博客提供了n中安装的方法,这里不再赘述:

普通安装: https://cloud.tencent.com/developer/article/1336299

windows安装: https://www.cnblogs.com/ljhdo/p/5521577.html

下载地址:

Windows版本: https://neo4j.com/artifact.php?name=neo4j-community-3.5.7-windows.zip

Linux版本: https://neo4j.com/artifact.php?name=neo4j-community-3.4.1-unix.tar.gz

Docker安装:https://www.jianshu.com/p/d252bdcc28da

我这里使用的windows本地安装的方式,注意安装好了修改一下配置文件:

#安装好之后需要配置一些选项
# 允许远程连接
dbms.connectors.default_listen_address=0.0.0.0 # 打开三种连接方式
# Bolt connector
dbms.connector.bolt.enabled=true
dbms.connector.bolt.tls_level=OPTIONAL
dbms.connector.bolt.listen_address=:7687 # HTTP Connector. There can be zero or one HTTP connectors.
dbms.connector.http.enabled=true
dbms.connector.http.listen_address=:7474 # HTTPS Connector. There can be zero or one HTTPS connectors.
dbms.connector.https.enabled=true
dbms.connector.https.listen_address=:7473 # 关闭安全认证
dbms.security.auth_enabled=false

导入CSV

官方文档提供的导入方式

官方文档导入csv的方法

!!!注意:照着官网的例子被坑了,每次导入的时候都需要使用cypher语法创建对应的节点

导入csv的时候被导入的csv如果是本地文件必须放在neo4j安装目录的import文件夹中

例如:C:\gwc_apps\dev-tools\linux\neo4j-community-3.5.7\import

如果你的安装目录不存在import文件夹,就手动创建。

导入没有head的csv数据

artists.csv示例文件

1,ABBA,1992
2,Roxette,1986
3,Europe,1979
4,The Cardigans,1992

导入语句:

load csv from "file:///artists.csv" as line
create(n:Node{id:line[0],name:line[1],birth:line[2]})
return n
// 使用line[索引]来取得每一列的值

导入有header的关系数据

分步骤导入

导入人数据:

name
bart
homer
marge

导入语句:

load csv with headers from "file:///family.csv"
as row
merge (f:Family{name:row.name})
return count(f)
// 查询一下
match (f:Family) return f

导入关系数据:

from_name,relation,to_name
bart,父子,homer
bart,母子,marge
homer,父子,bart
marge,母子,bart
homer,夫妻,marge
marge,夫妻,homer

导入语句:

load csv with headers from "file:///family-relation.csv"
as row
match (f1:Family{name:row.from_name})
match (f2:Family{name:row.to_name})
merge (f1)-[r:Relation{name:row.relation}]->(f2)
return count(*)
// 查询一下
match (f:Family) return f

一次性导入

数据:

id,from_name,relation,to_name
1,bart,父子,homer
2,bart,母子,marge
3,homer,父子,bart
4,marge,母子,bart
5,homer,夫妻,marge
6,marge,夫妻,homer

导入语句:

load csv with headers from "file:///all.csv"
as row
merge (f1:Family{name:row.from_name})
merge (f2:Family{name:row.to_name})
merge (f1)-[r:Relation{name:row.relation}]->(f2)
return count(*)
// 查询结果
match (f:Family) return f
// 例子:查询所有和bart有关系的节点
match p=(f:Family{name:"bart"}) -->() return p
// 查询和bart有1度关系的节点
match p = (f:Family{name:"bart"})-[*..1]->() return p
// 查询所有父子关系的节点
match p=()-[r:Relation{name:"父子"}]->() return p

neo4j导入csv文件的更多相关文章

  1. 使用程序往Neo4j导入CSV报错

    今天在用程序向Neo4j导入csv文件时,报以下错误: java.net.ConnectException: Connection refused: connect java.rmi.ConnectE ...

  2. ACCESS导入CSV文件出现乱码解决办法

    在ACCESS或Excel中导入CSV文件时常常出现乱码,这是因为简体中文版的windows操作系统及其应用软件默认都是ANSI/GBK编码,而导入的文件使用的编码与操作系统默认的编码不相符.出现这种 ...

  3. C# 将List中的数据导入csv文件中

    //http://www.cnblogs.com/mingmingruyuedlut/archive/2013/01/20/2849906.html C# 将List中的数据导入csv文件中   将数 ...

  4. oracle导入csv文件

    oracle导入csv文件: 1.建好对应的表和字段: 2.新建test.ctl文件,用记事本编辑写入: load data infile 'e:\TB_KC_SERV.csv' --修改对应的文件路 ...

  5. python导入csv文件时,出现SyntaxError

    背景 np.loadtxt()用于从文本加载数据. 文本文件中的每一行必须含有相同的数据. *** loadtxt(fname, dtype=<class 'float'>, commen ...

  6. R: 导入 csv 文件,导出到csv文件,;绘图后导出为图片、pdf等

    ################################################### 问题:导入 csv 文件 如何从csv文件中导入数据,?参数怎么设置?常用参数模板是啥? 解决方 ...

  7. python导入csv文件出现SyntaxError问题分析

    python导入csv文件出现SyntaxError问题分析 先简单描述下碰到的题目,要求是写出2个print的结果 可以看到,a指向了一个列表list对象,在Python中,这样的赋值语句,其实内部 ...

  8. Oracle数据库导入csv文件(sqlldr命令行)

    1.说明 Oracle数据库导入csv文件, 当csv文件较小时, 可以使用数据库管理工具, 比如DBevaer导入到数据库, 当csv文件很大时, 可以使用Oracle提供的sqlldr命令行工具, ...

  9. java调用sqlldr导入csv文件数据到临时表

    package cn.com.file;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File; ...

随机推荐

  1. ClickHouse基本操作(二)

    一.先来说一下,ClickHouse为啥快 MySQL单条SQL是单线程的,只能跑满一个core,ClickHouse相反,有多少CPU,吃多少资源,所以飞快: ClickHouse不支持事务,不存在 ...

  2. Java 中的过滤器Filter 和拦截器 Interceptor

    1.先说拦截器 Interceptor 本项目以springboot为例: 新建 InterceptorConfig package com.opendev.mystudy.MyInterceptor ...

  3. c++简单string实现

    string.h #pragma once class string { public: string(const char* str = nullptr); string(const string& ...

  4. C++98/11/17表达式类别

    目标 以下代码能否编译通过,能否按照期望运行?(点击展开) #include <utility> #include <type_traits> namespace cpp98 ...

  5. css不换行解决

    word-wrap: break-word; word-break: break-all; white-space: pre-wrap;

  6. C#判断TCP连接状态

  7. Magicodes.SwaggerUI 已支持.NET Core 3.1

    Magicodes.SwaggerUI 通过配置文件简单配置即可快速完成SwaggerUI的配置,包括: SwaggerUI的文档信息 API分组 API隐藏 API JSON生成(枚举.API架构I ...

  8. 又抓了一个导致频繁GC的鬼--数组动态扩容

    概述 本周有个同事过来咨询一个比较诡异的gc问题,大概现象是,系统一直在做cms gc,但是老生代一直不降下去,但是执行一次jmap -histo:live之后,也就是主动触发一次full gc之后, ...

  9. Android调试非常有用的命令集1_adb&aapt&git&repo&scp&while

    Linux部分场景非常有用的命令集_1_持续更新 这里面也包含了对于开发调试有用的命令,也可以看看. 这里不做详细说明或截图,仅作为记录和简单说明.注:可能只针对某一命令部分功能,不包含整个功能,若要 ...

  10. 【Ubuntu】Ubuntu中下载特定版本内核和设置某版本内核为默认启动内核

    0. 基本命令 uname -a # 查看当前所使用内核 dpkg -l | grep linux # dpkg后是lmn的l.查看当前操作系统的内核 dekg -l | grep linux-ima ...