Graph 我在neo4j上得到了不同的图形。如何得到1-1图

Graph 我在neo4j上得到了不同的图形。如何得到1-1图,graph,neo4j,Graph,Neo4j,我有样本数据,想用neo4j构建图形 shop memberID age type number Gyms 1 13 B 0-01 Gyms 1 14 A 0-02 Gyms 1 14 A 0-03 Gyms 1 20 B 0-04 Gyms 2 16 B 0-01 Gyms

我有样本数据,想用neo4j构建图形

shop    memberID    age type    number
Gyms    1           13  B       0-01
Gyms    1           14  A       0-02
Gyms    1           14  A       0-03
Gyms    1           20  B       0-04
Gyms    2           16  B       0-01
Gyms    2           16  B       0-02
Gyms    2           38  A       0-03
Gyms    2           38  A       0-04
Gyms    3           15  A       0-01
我希望得到同样的照片。

事实上,我建立了一个图表,得到了这张图片。

你能告诉我如何处理我的期望图表吗

下面是运行图形的neo4j代码

LOAD CSV WITH HEADERS FROM 'file:///test.csv' AS row
MERGE (shop:shop {shop: row.shop})
MERGE (memberID:memberID {memberID: toInteger(row.memberID)})
MERGE (age:page {age: toInteger(row.age)})
MERGE (type:type {type: row.type})
MERGE (number:number {number: row.number})

MERGE path1 = (memberID)<-[:is_member]-(shop)
MERGE path2 = (age)<-[:is_age]-(memberID)
MERGE path3 = (type)<-[:is_type]-(age)
MERGE path4 = (number)<-[:is_number]-(type)

RETURN path1, path2, path3, path4
从加载带有标题的CSV'file:///test.csv“作为一排
合并(商店:商店{shop:row.shop})
合并(memberID:memberID{memberID:toInteger(row.memberID)})
合并(年龄:第{age:toInteger(row.age)}页)
合并(类型:类型{type:row.type})
合并(编号:number{number:row.number})

MERGE path1=(memberID)嗯,似乎不应该单独合并每个节点,例如,您希望在图形中有多个15岁的节点。您可以按如下方式修改查询,以合并与每个父节点相关的每个后续节点

LOAD CSV WITH HEADERS FROM 'file:///test.csv' AS row
MERGE (shop:shop {shop: row.shop})
MERGE (shop)-[:is_member]->(memberID:memberID {memberID: toInteger(row.memberID)})
MERGE (memberID)-[:is_age]->(age:page {age: toInteger(row.age)})
MERGE (age)-[:is_type]->(type:type {type: row.type})
MERGE (type)-[:is_number]->(number:number {number: row.number})
RETURN *

您还没有解释您的用例,但是您可能需要重新考虑您的数据模型。以下是一些潜在的问题。每个属性都必须位于自己的节点中吗?为什么一个成员可以有多个年龄?一个
类型
是否真的属于
年龄
——或者它应该属于一个成员?我还有另外一个问题如何处理NULL值如果number列中的某一行为NULL,它显示“无法使用NULL属性值合并number节点”