知识图谱(三):Neo4j数据导入与多库切换

一、Neo4j数据导入

1、import导入csv

  • import语法
neo4j-admin import [--mode=csv] [--database=]
                          [--additional-config=]
                          [--report-file=]
                          [--nodes[:Label1:Label2]=<"file1,file2,...">]
                          [--relationships[:RELATIONSHIP_TYPE]=<"file1,file2,...">]
                          [--id-type=]
                          [--input-encoding=]
                          [--ignore-extra-columns[=]]
                          [--ignore-duplicate-nodes[=]]
                          [--ignore-missing-nodes[=]]
                          [--multiline-fields[=]]
                          [--delimiter=]
                          [--array-delimiter=]
                          [--quote=]
                          [--max-memory=]
                          [--f=]
                          [--high-io=]
  • import案例

命令:

./bin/neo4j-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

参考文献:如何将大规模数据导入Neo4j  https://blog.csdn.net/xingxiupaioxue/article/details/71747284

2、Cypher上导入数据暂时还没有过,后面用了再补充

二、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

切换多个库的方法,将新库重新连接到默认库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

参考文献:neo4j 3.0多数库切换  https://blog.csdn.net/programmer_at/article/details/69570987

三、Neo4j单机多实例创建

目前试了一种方法,修改端口号和wraper,但好像结果不行,无法创建,后面再尝试其他方法。

你可能感兴趣的:(11,知识图谱)