当前位置:   article > 正文

知识图谱(三):Neo4j数据导入与多库切换_neo4j可以导入多个数据库吗

neo4j可以导入多个数据库吗

一、Neo4j数据导入

1、import导入csv

  • import语法
  1. neo4j-admin import [--mode=csv] [--database=<name>]
  2. [--additional-config=<config-file-path>]
  3. [--report-file=<filename>]
  4. [--nodes[:Label1:Label2]=<"file1,file2,...">]
  5. [--relationships[:RELATIONSHIP_TYPE]=<"file1,file2,...">]
  6. [--id-type=<STRING|INTEGER|ACTUAL>]
  7. [--input-encoding=<character-set>]
  8. [--ignore-extra-columns[=<true|false>]]
  9. [--ignore-duplicate-nodes[=<true|false>]]
  10. [--ignore-missing-nodes[=<true|false>]]
  11. [--multiline-fields[=<true|false>]]
  12. [--delimiter=<delimiter-character>]
  13. [--array-delimiter=<array-delimiter-character>]
  14. [--quote=<quotation-character>]
  15. [--max-memory=<max-memory-that-importer-can-use>]
  16. [--f=<File containing all arguments to this import>]
  17. [--high-io=<true/false>]
  • 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

各文件内容:

  1. 一、节点
  2. name:ID 表示该列的属性名为name,ID
  3. 表示该属性是唯一标示一个实体的属性(类似关系型数据库中的主码),括号表示一个id-group,即表示该ID唯一表示括号内种类的实体,而不是所有实体;
  4. 节点Persons.csv:
  5. person_name:id,name
  6. 71927,乜标@1963-01-01
  7. 71928,冯泽舟@1954-01-01
  8. 71929,张宇锋@1965-01-01
  9. 71930,丁涛@1979-01-01
  10. 71931,周静尧@1963-05-01
  11. 节点industry.csv:
  12. industry_name:id,id,name
  13. 71917,江苏新日新能源车辆有限公司,江苏新日新能源车辆有限公司
  14. 71918,北京新泉志和汽车饰件系统有限公司,北京新泉志和汽车饰件系统有限公司
  15. 71919,芜湖新泉汽车饰件系统有限公司,芜湖新泉汽车饰件系统有限公司
  16. 71920,宁波新泉志和汽车饰件系统有限公司,宁波新泉志和汽车饰件系统有限公司
  17. 71921,宁波新泉汽车饰件系统有限公司,宁波新泉汽车饰件系统有限公司
  18. 二、关系
  19. START_ID 和END_ID 表示边的起点和终点的ID,可以加上它们各自的id-group;
  20. 关系 director.csv
  21. :START_ID,:END_ID,position
  22. 71927,16816,3
  23. 71928,16840,4
  24. 71929,16047,3
  25. 71930,16573,4
  26. 71931,16918,4

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

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

二、Neo4j多库切换

因为Neo4j的import导入时,只能导入一个不存的db,这就在想创建多个库时,需要去切换,Neo4j默认的库是graph.db,在./conf/neo4j.conf可以修改

  1. #*****************************************************************
  2. # Neo4j configuration
  3. #
  4. # For more details and a complete list of settings, please see
  5. # https://neo4j.com/docs/operations-manual/current/reference/configuration-settings/
  6. #*****************************************************************
  7. # The name of the database to mount
  8. #dbms.active_database=graph.db

切换多个库的方法,将新库重新连接到默认库graph.db,然后重启Neo4j 

  1. //软连接
  2. >>>cd ./data/databases/
  3. >>>ln -s graph_kg.db graph.db
  4. //重启neo4j
  5. >>>cd $NEO4j_HOME/bin
  6. >>>./neo4j restart
  7. // 删除软连接
  8. >>>ln-s test_chk test_chk_ln
  9. >>>rm -rf ./test_chk_ln

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

三、Neo4j单机多实例创建

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/503289
推荐阅读
相关标签
  

闽ICP备14008679号