案例:
我有节点Categories
,看起来像下面,我创建了一个从类别到父节点的关系。
CREATE(p1:Categorie {
id: 2,
parent_id: 1,
name: "Kids",
is_active: true ,
position: 1,
level: 1,
})
CREATE(c1:Categorie {
id: 5,
parent_id: 2,
name: "Toys",
is_active: true ,
position: 1,
level: 2,
})
//New root category
CREATE(p2:Categorie {
id: 9,
parent_id: 1,
name: "Holiday",
is_active: true ,
position: 1,
level: 1,
})
CREATE(c2:Categorie {
id: 12,
parent_id: 9,
name: "Water",
is_active: true ,
position: 1,
level: 2,
})
CREATE(c1)-[:CHILD_OF]->(p1)
CREATE(c2)-[:CHILD_OF]->(p2)
然后我有一个产品,它有一个像这样的categorie_ids
数组:
{
"sku": "abc",
"name": "Electric boot",
"categorie_ids": [
1,
5,
9,
12
]
}
API返回产品“在”的所有id。对我来说,所有的关系都是如此混乱。这个例子是最小的,但实际上,每个产品可以有多达20个关系。
问题/问题:
我想创建一个与类别中最低节点的关系。在这种情况下,产品有两个主要类别,因此有两个底部类别。所以我想创建一个与id 12和5的关系。
我就是无法理解密码查询。有人能照一下吗?
1条答案
按热度按时间5vf7fwbs1#
你基本上是在看下面的查询:
匹配类别节点,其中它们的id在给定的id列表中,并且这些节点不应该是任何其他类别的父节点
根据您的模型,您需要添加一个 predicate ,表示Categorie节点不具有
CHILD_OF
类型的INCOMING
关系