推荐答案
neo4j-admin import \ --nodes=import/nodes.csv \ --relationships=import/relationships.csv \ --id-type=STRING \ --database=my_database \ --delimiter="," \ --array-delimiter=";" \ --ignore-missing-nodes=true
本题详细解读
1. 命令结构
neo4j-admin import
是 Neo4j 提供的一个命令行工具,用于将大规模数据导入到 Neo4j 数据库中。该工具支持从 CSV 文件中导入节点和关系数据。
2. 参数说明
--nodes=import/nodes.csv
:指定包含节点数据的 CSV 文件路径。可以指定多个--nodes
参数来导入多个节点文件。--relationships=import/relationships.csv
:指定包含关系数据的 CSV 文件路径。可以指定多个--relationships
参数来导入多个关系文件。--id-type=STRING
:指定节点 ID 的类型。可以是STRING
或INTEGER
,默认为STRING
。--database=my_database
:指定要导入数据的数据库名称。如果数据库不存在,Neo4j 会自动创建。--delimiter=","
:指定 CSV 文件中的字段分隔符,默认为逗号(,
)。--array-delimiter=";"
:指定 CSV 文件中数组类型字段的分隔符,默认为分号(;
)。--ignore-missing-nodes=true
:如果设置为true
,则在导入关系时忽略缺失的节点。默认为false
。
3. CSV 文件格式
- 节点文件:每一行代表一个节点,通常包含
:ID
列来指定节点的唯一标识符,以及其他属性列。 - 关系文件:每一行代表一个关系,通常包含
:START_ID
和:END_ID
列来指定关系的起始节点和结束节点,以及其他属性列。
4. 示例
假设你有以下两个 CSV 文件:
nodes.csv
:ID,name,:LABEL 1,Alice,Person 2,Bob,Person
relationships.csv
:START_ID,:END_ID,:TYPE 1,2,KNOWS
使用上述命令导入数据后,Neo4j 数据库中将会创建两个节点和一个关系。
5. 注意事项
- 导入数据时,Neo4j 数据库必须处于停止状态。
- 导入工具不支持增量导入,每次导入都会覆盖目标数据库中的数据。
- 确保 CSV 文件的路径和格式正确,否则导入可能会失败。