1.使用Cypher语法直接创建(数据量极少时)
CREATE (TheMatrix:Movie {title:'The Matrix', released:1999, tagline:'Welcome to the Real World'})
CREATE (Keanu:Person {name:'Keanu Reeves', born:1964})
CREATE (Carrie:Person {name:'Carrie-Anne Moss', born:1967})
CREATE (Laurence:Person {name:'Laurence Fishburne', born:1961})
2. 直接从数据库mysql导入
需要apoc和mysql_connector的jar包
- apoc-3.5.0.6-all.jar
- mysql-connector-java-8.0.11.jar
注意serverTimezone=UTC,指定中国时区,否则可能报错
CALL apoc.load.jdbc('jdbc:mysql://localhost/test_neo4j?user=root&password=123456&&serverTimezone=UTC','person') YIELD row CREATE (n:Person {id: row.id, name: row.name, sex: row.sex, phone: row.phone})
3.使用shell命令导入csv文件的方式
导入命令如下(在安装包的bin目录下执行):
neo4j-admin import --mode=csv --database=Test1.db --nodes import-data\test\actor.csv --nodes import-data\test\movie.csv --relationships import-data\test\role.csv
- mode:导入方式
- database:指定数据库
- nodes:节点文件
- relationships:关系文件
需要在一个新的数据库中执行,如果Test1.db已经存在,则执行上述命令会报错,同时要确保csv文件的编码方式“UTF-8”
4.可视化窗口load导入
load csv with headers from "file:///phone.csv" as line create(a:phone{id: line.id, from: line.from, to: line.to, start_time: line.start_time, end_time: line.end_time})
- WITH HEADERS:可选,表明csv文件的第一行是属性名;
- 导入node时一般用create语句,导入关系时一般用merge语句,防止重复导入
- Csv文件需要放置在neo4j安装目录下的import文件夹下