知识图谱Neo4j 数据导入与数据库切换
Posted ZSYL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识图谱Neo4j 数据导入与数据库切换相关的知识,希望对你有一定的参考价值。
Neo4j 数据导入与数据库切换
1. Neo4j数据导入
1、import导入csv
import 语法
neo4j-admin import [--mode=csv] [--database=<name>]
[--additional-config=<config-file-path>]
[--report-file=<filename>]
[--nodes[:Label1:Label2]=<"file1,file2,...">]
[--relationships[:RELATIONSHIP_TYPE]=<"file1,file2,...">]
[--id-type=<STRING|INTEGER|ACTUAL>]
[--input-encoding=<character-set>]
[--ignore-extra-columns[=<true|false>]]
[--ignore-duplicate-nodes[=<true|false>]]
[--ignore-missing-nodes[=<true|false>]]
[--multiline-fields[=<true|false>]]
[--delimiter=<delimiter-character>]
[--array-delimiter=<array-delimiter-character>]
[--quote=<quotation-character>]
[--max-memory=<max-memory-that-importer-can-use>]
[--f=<File containing all arguments to this import>]
[--high-io=<true/false>]
import 案例
./bin/neo4j--admin import
--into data/databases/graph_kg_merge_id.db
--nodes:Persons data/csv_kg_merge_id/persons.csv
--nodes:Industry data/csv_kg_merge_id/industry.csv
--relationships:Director data/csv_kg_merge_id/director.csv
--multiline-fields=true
各文件内容:
一、节点
name:ID 表示该列的属性名为name,ID
表示该属性是唯一标示一个实体的属性(类似关系型数据库中的主码),括号表示一个id-group,即表示该ID唯一表示括号内种类的实体,而不是所有实体;
节点Persons.csv:
person_name:id,name
71927,乜标@1963-01-01
71928,冯泽舟@1954-01-01
71929,张宇锋@1965-01-01
71930,丁涛@1979-01-01
71931,周静尧@1963-05-01
节点industry.csv:
industry_name:id,id,name
71917,江苏新日新能源车辆有限公司,江苏新日新能源车辆有限公司
71918,北京新泉志和汽车饰件系统有限公司,北京新泉志和汽车饰件系统有限公司
71919,芜湖新泉汽车饰件系统有限公司,芜湖新泉汽车饰件系统有限公司
71920,宁波新泉志和汽车饰件系统有限公司,宁波新泉志和汽车饰件系统有限公司
71921,宁波新泉汽车饰件系统有限公司,宁波新泉汽车饰件系统有限公司
二、关系
START_ID 和END_ID 表示边的起点和终点的ID,可以加上它们各自的id-group;
关系 director.csv
:START_ID,:END_ID,position
71927,16816,3
71928,16840,4
71929,16047,3
71930,16573,4
71931,16918,4
2、Cypher上导入数据,使用Python操作Neo4j执行导入操作
2. Neo4j多库切换
因为Neo4j的import导入时,只能导入一个不存的db,这就在想创建多个库时,需要去切换,Neo4j默认的库是graph.db
,在./conf/neo4j.conf
可以修改。
#*****************************************************************
# Neo4j configuration
#
# For more details and a complete list of settings, please see
# https://neo4j.com/docs/operations-manual/current/reference/configuration-settings/
#*****************************************************************
# The name of the database to mount
# dbms.active_database=graph.db
dbms.active_database=kg.db
切换多个库的方法,将新库重新连接到默认库graph.db,然后重启Neo4j
//软连接
>>>cd ./data/databases/
>>>ln -s graph_kg.db graph.db
//重启neo4j
>>>cd $NEO4j_HOME/bin
>>>./neo4j restart
// 删除软连接
>>>ln-s test_chk test_chk_ln
>>>rm -rf ./test_chk_ln
Linux下的命令操作,记得备份graph.db
参考文献:https://blog.csdn.net/ai_1046067944/article/details/85342494
加油!
感谢!
努力!
以上是关于知识图谱Neo4j 数据导入与数据库切换的主要内容,如果未能解决你的问题,请参考以下文章
知识图谱Neo4j基本操作及数据库文件导入(graph.db.dump)
知识图谱——Python操作Neo4j导入CSV文件建立图谱