You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Cypher读取双CSV、添加标签、建索引并关联数据集?

完整Cypher实现方案:CSV导入、关联与可视化

1. 处理第二个CSV文件(添加标签B)

假设第二个CSV文件路径为file:///path/to/your/second.csv,请根据实际文件路径和字段调整以下代码:

// 加载第二个CSV,创建带标签B的节点
LOAD CSV WITH HEADERS FROM 'file:///second.csv' AS row
// 使用MERGE避免重复创建节点,若需强制新建可替换为CREATE
MERGE (b:B {customer_no: row.CUSTOMER_NO})
// 为节点补充其他属性,按需保留或删除
SET b.product_names = row.PRODUCT_NAMES,
    b.other_attribute = row.OTHER_ATTRIBUTE

2. 创建指定字段的索引

为两个标签的CUSTOMER_NO字段创建索引,提升后续关联查询的效率:

// 为标签A的CUSTOMER_NO字段创建索引(若已创建则跳过)
CREATE INDEX idx_a_customer_no IF NOT EXISTS FOR (a:A) ON (a.customer_no);

// 为标签B的CUSTOMER_NO字段创建索引(若已创建则跳过)
CREATE INDEX idx_b_customer_no IF NOT EXISTS FOR (b:B) ON (b.customer_no);

3. 通过CUSTOMER_NO关联两个数据集

根据业务场景定义关系类型(示例用[:LINKED],可替换为[:HAS_PRODUCT]等更贴合业务的名称):

// 匹配同CUSTOMER_NO的A、B节点,创建关联关系
MATCH (a:A), (b:B)
WHERE a.customer_no = b.customer_no
MERGE (a)-[:LINKED]->(b)

4. 可视化PRODUCT_NAMES与客户的关联关系

在Neo4j浏览器中执行以下查询,切换到Graph视图即可看到可视化的关联关系:

// 查询并返回客户(标签A)、产品信息(标签B)及关联关系
MATCH (customer:A)-[r]->(productInfo:B)
RETURN customer, r, productInfo
// 若需聚焦产品名称,可添加过滤或调整返回字段
// MATCH (customer:A)-[r]->(productInfo:B)
// WHERE productInfo.product_names IS NOT NULL
// RETURN customer.customer_no AS 客户编号, productInfo.product_names AS 产品名称, r AS 关联关系

注意事项

  • 确保CSV文件路径正确,若使用本地文件需放置在Neo4j的import目录下,或配置允许读取外部路径
  • 字段名需与CSV表头完全一致(大小写敏感)
  • 索引创建后需等待片刻生效,再执行关联查询

内容的提问来源于stack exchange,提问作者Amir Rouhi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 18:05:08