• neo4jadmin工具导入教程


    来源:https://neo4j.com/graphacademy/training-importing-data-40/04-import-40-using-neo4j-admin-tool-import/

    关于本模块

    您刚刚学习了如何使用 Cypher 和 APOC 将数据导入图表。APOC 为您提供了更多的导入功能。将数据导入图表的另一种方法是使用管理工具neo4j-admin接下来,您将学习如何使用neo4j-adminCSV 文件创建图表。您将使用代表犯罪的更大数据集的数据。

    在本模块结束时,您将能够:

    • neo4j-admin使用该工具从一组 CSV 文件中导入数据。

    是什么neo4j-admin

    neo4j-admin是一个只有在您管理的系统上使用 Neo4j Desktop 或 Neo4j Server 时才能使用的工具。您不能neo4j-admin在基于云的 Neo4j DBMS 中使用,例如 Neo4j Sandbox 或 Neo4j Aura。

    Neo4j 安装包括一个bin文件夹,其中包含一些可供开发人员和管理员使用的有用实用程序。这些包括:

    • neo4j,用于启动、停止和检查 Neo4j 实例的状态。

    • cypher-shell,一个命令行版本的 Cypher 界面,使您能够执行 Cypher 语句。

    • neo4j-admin,用于许多管理活动,包括从 CSV 文件创建数据库。

    在本课中,您将学习如何使用neo4j-adminneo4j-admin当您有大量数据要导入时,例如超过 10M 的节点,您可以使用它来导入。

    您会将数据加载到比您一直使用的数据库大得多的犯罪数据库中。

    准备进口

    正如您在使用 Cypher 导入 CSV 文件时熟悉它们的内容一样,您必须对将使用 .csv 导入的 CSV 数据执行相同的操作neo4j-admin您必须了解标头与数据的关系、字段分隔符是什么,并确保数据是属性格式的。与使用 Cypher 导入数据不同,您无法在导入期间灵活地转换数据。您必须确保 CSV 文件中的数据干净并准备好导入。

    使用 neo4j-admin 进行导入时,与使用 Cypher 导入有区别:

    • 要导入的数据库不能存在,因为它将作为导入的一部分创建。

    • 标头信息具有用于创建节点和关系的附加信息。

    • 节点 CSV 文件的结构不同于关系 CSV 文件。

    • 所有 CSV 文件必须使用相同的字段分隔符。

    • 您在导入后创建约束(和索引)。

    CSV 文件

    CSV 文件的格式很重要:

    • 对于节点和关系,标题信息必须与数据相关联。

    • 标头信息包含唯一标识记录的 ID、可选节点标签或关系类型以及表示导入数据的属性的名称。

    • CSV 可以有标题行,或者您可以将标题信息放在单独的文件中。

    节点的 CSV 文件:Beat

    这是beats.csv文件的一部分,其中包含用于加载Beats类型的节点的嵌入标头信息

    CSV
    id:ID(beat-ref),:LABEL
    1132,Beat
    0813,Beat
    0513,Beat

    beats.csv记录表示将加载到标签为Beat的节点中的数据id值用于为节点创建id属性ID(beat-ref) 用于存储对创建的节点的引用,以便稍后在导入时使用。

    节点的 CSV 文件:犯罪

    以下是用于加载Crime类型节点的crime_header.csv头文件示例

    CSV
    id:ID(crime-ref),:LABEL,date,description

    下面是相关的crime.csv文件的一部分,用于加载犯罪类型的节点:

    CSV
    8920441,Crime,12/07/2012 07:50:00 AM,AUTOMOBILE
    4730813,Crime,05/09/2006 08:20:00 AM,POCKET-PICKING
    7150780,Crime,09/28/2009 01:00:00 AM,CHILD ABANDONMENT
    4556970,Crime,12/16/2005 08:39:24 PM,POSS: CANNABIS 30GMS OR LESS
    9442492,Crime,12/28/2013 12:15:00 PM,OVER $500

    id值用于为节点创建id属性该节点的标签将是Crime日期描述值用于为每个节点创建各自的属性ID(crime-ref) 用于存储对创建的节点的引用,以便稍后在导入时使用。

    节点的 CSV 文件:PrimaryType

    这是用于加载这些节点的primaryTypes.csv文件的一部分:

    CSV
    id:ID(primarytype-ref)
    ARSON
    OBSCENITY
    ROBBERY
    THEFT
    CRIM SEXUAL ASSAULT
    BURGLARY

    id值用于为节点创建id属性用于创建节点的标签未在标头或数据中指定,因此需要在我们的参数中指定才能执行导入。

    关系的 CSV 文件

    用于加载关系的 CSV 文件为每个关系都包含一行,其中指定了开始和结束节点的 ID 以及关系类型。

    以下是crimeBeats.csv文件的一部分,将用于在CrimeBeat节点之间创建:ON_BEAT关系:

    CSV
    :START_ID(crime-ref),:END_ID(beat-ref),:TYPE
    6978096,0911,ON_BEAT
    3170923,2511,ON_BEAT
    3073515,1012,ON_BEAT
    8157905,0113,ON_BEAT

    当导入工具处理此文件时,它已经保存了对先前创建的犯罪节拍节点的引用。我们使用:TYPE列指定要在犯罪节拍节点之间创建的关系,在本例中为ON_BEAT

    以下是crimePrimaryTypes.csv文件的一部分,该文件将用于创建犯罪节点和包含犯罪类型数据的节点之间的关系:

    CSV
    :START_ID(crime-ref),:END_ID(primarytype-ref)
    5221115,NARCOTICS
    4522835,DECEPTIVE PRACTICE
    3432518,BATTERY
    6439993,CRIMINAL TRESPASS

    当导入工具处理这个文件时,它已经保存了对之前创建的CrimePrimaryType节点的引用。数据中没有指定关系,因此我们需要在导入数据时在参数中指定它。

    此文件中未指定关系:TYPE,因此当您从该文件加载数据时,它将在参数中指定。

    导入数据

    在您为数据创建或获取 CSV 文件后,您可以导入数据。数据导入会创建一个数据库,因此您指定的数据库必须为空或不存在。

    以下是从 CSV 文件创建数据库的简化语法:

    终端
    neo4j-admin import
      --database <database-name>
      --nodes [<rheader-csv-file-1>,]<csv-file-1>
      --nodes=<Label>=[<rheader-csv-file-2>,]<csv-file-2>
      --relationships [<jheader-csv-file-1>,]<join-csv-file-1>
      --relationships=<REL_TYPE>=[<jheader-csv-file-2>,]<join-csv-file-2>
      --trim-strings=true
      > import.out

    此简化语法显示了为节点 CSV 文件指定标签以及为关系 CSV 文件指定关系类型的示例。导入的数据。

    用 CSV 文件指定头文件时,“,”后面不能有 空格

    有关使用导入工具的详细信息,您可以参考文档。请注意,可以为导入时指定的文件指定正则表达式。

  • 相关阅读:
    hdu 3832 Earth Hour
    hdu 2112 HDU Today
    hdu 2473 Junk-Mail Filter
    hdu 1558 Segment set
    5-2学习记录|5-3日
    看面经
    2020-5-1学习记录
    2020-4-30学习记录
    2020-4-27学习记录
    4.19日学习笔记
  • 原文地址:https://www.cnblogs.com/smartisn/p/16342714.html
Copyright © 2020-2023  润新知