使用此查询,我将从我的csv文件导入75000个节点。 (类别)
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS
FROM "file:///prodcategory.csv" AS row
CREATE (:Category {id: row.idProdCategory, name: row.name, idRestaurant: row.idRestaurant});
通过此查询,我还从我的csv文件(产品)
导入了100万个节点USING PERIODIC COMMIT
LOAD CSV WITH HEADERS
FROM "file:///products.csv" AS row
CREATE (:Product {id: row.idProduct, idProductCategory: row.idProductCategory,name: row.name,idRestaurant:row.idRestaurant ,description: row.description, price: row.price, shipping_price: row.shippingPrice});
我正在使用此查询来创建id - >之间的关系category和idProductCategory - >产品
MATCH (category:Category {id: category.id})
MATCH (Product:Product {idProductCategory: Product.idProductCategory})
WHERE Product.idProductCategory=category.id
MERGE (category)-[:OF_CATEGORY]->(Product);
此查询仅创建2999个关系,我不相信我应该创建的100万个关系,如果有方法或配置能够创建超过100万个关系,请帮助我,我将非常感激。< / p>
答案 0 :(得分:2)
确保Product.idProductCategory
上有索引。
我假设类别ID在不同类别中是唯一的。
CREATE CONSTRAINT ON (category:Category) ASSERT category.id IS UNIQUE;
我假设有多个产品具有相同的类别ID。
CREATE INDEX ON :Product(idProductCategory);
然后,您可以简单地匹配每个类别,然后为每个类别找到合适的产品并创建关系。
// match all of your categories
MATCH (category:Category)
// then with each category find all the products
WITH category
MATCH (Product:Product {idProductCategory: category.id })
// and then create the
MERGE (category)-[:OF_CATEGORY]->(Product);
如果遇到内存限制,可以使用APOC定期提交来包装查询...
call apoc.periodic.commit("
MATCH (category:Category)
WITH category
MATCH (Product:Product {idProductCategory: category.id })
MERGE (category)-[:OF_CATEGORY]->(Product)
",{limit:10000})
答案 1 :(得分:1)
尝试将您的查询更改为此...您在查询中使用了太多过滤器
MATCH (category:Category),(Product:Product)
WHERE Product.idProductCategory=category.id
MERGE (category)-[:OF_CATEGORY]->(Product)
您也可以只更改第二个导入查询,这样就不需要单独的查询来进行链接。
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS
FROM "file:///products.csv" AS row
CREATE (p:Product {id: row.idProduct, name: row.name,idRestaurant:row.idRestaurant ,description: row.description, price: row.price, shipping_price: row.shippingPrice})
MATCH (c:Category{id:row.idProductCategory}
MERGE (p)-[:OF_CATEGORY]->(c)