案例:
我的节点 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
数组,如下所示:
<code>{ "sku": "abc", "name": "Electric boot", "categorie_ids": [ 1, 5, 9, 12 ] } </code>
API 会返回该产品位于“in”的所有 id。对我来说,所有的关系都如此混乱。此示例是最小的,但实际上每个产品可能最多有 20 个关系。
疑问/问题:
我想创建与类别中最低节点的关系。在这种情况下,产品有两个主要类别,因此有两个底部类别。所以我想创建与 id 12 和 5 的关系。
我就是无法理解密码查询。有人可以解释一下吗?
您基本上正在查看以下查询:
根据您的模型,您正在考虑添加一个谓词,类别节点不具有 INCOMING
类型的关系 CHILD_OF
WITH [1,5,9,12] AS categoryIds MATCH (n:Categorie) WHERE n.id IN categoryIds AND NOT ()-[:CHILD_OF]->(n) RETURN n.id
以上是Cypher 查找(多个)'最低”节点的详细内容。更多信息请关注PHP中文网其他相关文章!