import - 从 CSV 文件将特定节点导入 Neo4J
问题描述
我正在做一些测试,以弄清楚如何最好地将数据从 CSV 文件导入 Neo4J。我在 Person.csv 文件中有以下数据(3 个标题、Person_ID、名称和类型):
Person_ID Name Type
HUA001 Jaap Layperson
HUA002 Teems Priest
HUA003 Frank Layperson
我想导入特定类型的节点(例如“外行人”)。
我考虑过使用 WHERE 语句创建一个 LOAD CSV 命令(见下文),但 Neo4J 并不特别喜欢那个 WHERE 语句。任何想法如何让这个(或具有类似结果的查询)工作?
LOAD CSV WITH HEADERS FROM 'file:///Person.csv' AS row
WHERE row.Type='Layperson'
CREATE (p:Person:Layperson {ID: row.Person_ID, name: row.Name})
解决方案
您可以使用WITH
和WHERE
组合来过滤所需的行并将过滤后的行传递给创建节点的下一个查询。
LOAD CSV WITH HEADERS FROM 'file:///Person.csv' AS row
WITH row
WHERE row.Type='Layperson'
CREATE (p:Person:Layperson {ID: row.Person_ID, name: row.Name})
推荐阅读
- swiftui - SwiftUI:无法将类型“(任务)-> 某些视图”的值转换为预期的参数类型“(_)-> _”
- linux - Cron 作业未执行预期任务
- ios - 在flutter项目中编写ios本机swift代码时,Xcode给出错误“FlutterViewController”类型的值没有成员“binaryMessenger”
- python - 尝试使用附加方法在同一行中打印多个文本,但输出不同
- ios - 关于uiButton点击填空心的问题
- pandas - 向 df 中的索引添加数字前缀并在出现不同名称时重置它
- amazon-web-services - 如何在 CloudFormation 中使用预定义的 SSM Windows 补丁基准
- mysql - this.http.delete 不返回成功消息或不显示任何错误消息
- docker - docker 多服务的静态文件问题与 nginx 后面的相对静态文件夹引用
- flutter - 资产图像文件路径颤动?