对所有人都好,请帮助我解决这个问题:D
当我执行查询时:
USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM "file:///Create_all.csv" AS row
MATCH(x:Category{uuid:row.uuid_category})
MERGE (t:Subscriber{name:row.name_subscriber, uuid:row.uuid_subscriber})
CREATE (n:Product{name: row.name_product, uuid: row.uuid_product}),
(Price:AttributeValue{name:'Price', value: row.price_product}),
(Stock:AttributeValue{name:'Stock', value: row.stock_product }),
(Style:AttributeValue{name:'Style', value: 'Pop Art'}),
(Subject:AttributeValue{name:'Subject', value: 'Portrait'}),
(Originality:AttributeValue{name:'Originality', value: 'Reproduction'}),
(Region:AttributeValue{name:'Region', value: 'Japan'}),
(Price)-[:IS_ATTRIBUTEVALUE_OF]->(n),
(Stock)-[:IS_ATTRIBUTEVALUE_OF]->(n),
(Style)-[:IS_ATTRIBUTEVALUE_OF]->(n),
(Subject)-[:IS_ATTRIBUTEVALUE_OF]->(n),
(Originality)-[:IS_ATTRIBUTEVALUE_OF]->(n),
(Region)-[:IS_ATTRIBUTEVALUE_OF]->(n)
WITH (n),(t),(x)
create (n)-[:OF_CATEGORY]->(x)
create (t)-[:SELLS]->(n)
我有4个类别,30个产品和10个订阅者创建了我:
添加了164个标签,创建了164个节点,设置了328个属性,创建了184个 关系,在254毫秒后完成。
我用以下方法验证结果
MATCH p =()-[r:OF_CATEGORY]->()返回计数(r)
已创建23个关系,但是其余7个关系未创建。
请指导我创建该查询的所有关系,在这种情况下,将是30个具有类别的关系产品
答案 0 :(得分:0)
关键部分是MATCH(x:Category{uuid:row.uuid_category})
如果该行匹配失败,则该行将被清除,并且该行的其他任何操作都将不会执行。
由于您的输入内容包含4个相同类别的内容(我们分别称为1,2,3和4),因此重复了7次(到目前为止总共28行),然后其中两个重复出现一次(2如果两次都成功,则总共30行),如果您的某些匹配失败,则有意义:带有某些uuid_category属性的:Category节点实际上不在图中显示。
在这些uuid(1、2、3和4)中,最后仅出现1和2(因此,这两个uuid跨越8行出现,而uuid 3和4则出现7次)。如果uuid 3或uuid 4在图中没有对应的节点,这将是有道理的。这将使我们得到1 * 7 + 2 * 8 = 23,这是您的查询正在创建的关系数。
所以uuid_category没有以3或4结尾的:Category节点。
对照数据检查图表以确认。