簡體   English   中英

如何在 neo4j 中的 csv 列之間建立關系?

[英]How to make relationship between csv columns in neo4j?

我有三個 csv 文件:

sample_users.csv

user_id, first_name, location

sample_orders.csv

order_id, user_id, product,order_ts

sample_products.csv

product_id, product

我成功地建立了 sample_users 與 sample_orders 之間的關系, but now I want to get the product_id of each product ordered in the sample_orders table. 但我失敗了。 沒有錯誤,但關系沒有發生。 出了什么問題?

//load user nodes
LOAD CSV WITH HEADERS FROM 'file:///sample_users.csv' AS row 
MERGE(u:User {user_id:row.user_id, name:row.first_name, location:row.location})
RETURN count(u);

//load order nodes
LOAD CSV WITH HEADERS FROM 'file:///sample_orders.csv' AS row WITH row WHERE row.order_id IS NOT NULL 
MERGE(o:Orders {order_id:row.order_id, order_ts:row.order_ts, user_id_2:row.user_id, product:row.product})
RETURN count(o);

//load product nodes
LOAD CSV WITH HEADERS FROM 'file:///sample_products_v2.csv' AS row WITH row where row.p_name IS NOT NULL
MERGE(p:Products {product_id:row.p_id, product_name:row.p_name})
RETURN count(p);

//Create relationships 
LOAD CSV WITH HEADERS FROM 'file:///sample_users.csv' AS row 
MATCH(u:User{user_id:row.user_id})
MATCH(o:Orders{user_id_2:row.user_id})
MERGE(u)-[:HAS_ORDERED]->(o)
RETURN *;

LOAD CSV WITH HEADERS FROM 'file:///sample_products_v2.csv' AS row
MATCH(o:Orders{product:row.product})
MATCH(p:Products{product_name:row.p_name})
MERGE(p)-[:IS_ITEM]->(o)
RETURN *;

您的腳本有印刷錯誤。 Products 的列名稱是 product_id, product.

這應該是加載腳本:

//load product nodes
LOAD CSV WITH HEADERS FROM 'file:///sample_products.csv' AS row WITH row where row.product IS NOT NULL
MERGE(p:Products {product_id:row.product_id, product_name:row.product})
RETURN count(p);

因此你應該使用

LOAD CSV WITH HEADERS FROM 'file:///sample_products.csv' AS row
MATCH(o:Orders{product:row.product_id})
MATCH(p:Products{product_name:row.product})
MERGE(p)-[:IS_ITEM]->(o)
RETURN *;

還可以通過運行以下查詢來檢查是否在 Products.product_id 中找到了 Orders.product:

MATCH (o:Orders) 
MATCH (p:Products) WHERE p.product_id = o.product
RETURN n LIMIT 5

如果您的查詢沒有返回任何結果,那么您的訂單和產品不匹配

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM