[英]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.