如何避免在neo4j中多次访问具有相同属性的节点?

穆罕默德

我的密码查询:

MATCH p =(o:Order)-[r:seeks*2..8]->(o:Order)
WHERE o.Name="000093" AND ALL(x IN tail(nodes(p)) WHERE SINGLE(y IN    tail(nodes(p)) WHERE x=y))
RETURN extract(n IN nodes(p)| n.Name) AS OrderID, extract(u IN nodes(p)| u.UserName) AS UserName,length(p), endNode(r[0])
ORDER BY length(p)

我想避免路径中具有相同属性值的节点,如何避免它们?

["000093","000090","000096","000097","000107","000091","000089","000093"]
["yunis","gio","Anhar","Jhon","**shakilbit**","xalima","**shakilbit**","yunis"]

因此,订单 0000107 和 000089 由相同的用户名 shakilbit 放置,有什么办法可以避免在同一路径中出现此类订单,谢谢!NEO4J .. 据我所知,非常有帮助的社区。

逆向猎鹰

使用APOC Procedures,您可能希望将您的集合作为一个集合(消除重复值)并比较大小。如果存在重复项,则集合的大小将更小。

MATCH p =(o:Order)-[r:seeks*2..8]->(o:Order)
WHERE o.Name="000093" AND ALL(x IN tail(nodes(p)) WHERE SINGLE(y IN    tail(nodes(p)) WHERE x=y))
WITH p, o, r, extract(u IN nodes(p)| u.UserName) AS UserName
// need to make some adjustments since first and last nodes are same
WHERE size(UserName) - 1 = size(apoc.coll.toSet(tail(UserName)))
RETURN extract(n IN nodes(p)| n.Name) AS OrderID, UserName, length(p), endNode(r[0])
ORDER BY length(p)

另一种方法是ALL(x in tail...) WHERE single()...在 UserName 集合上重复您的谓词(或将此检查包含在您现有的 ALL() 谓词中,尽管这可能很昂贵)。您可能希望对每个进行分析,看看哪个性能更好。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Neo4J中查找具有相同属性的节点

来自分类Dev

如何列出Neo4j中具有共同属性的所有节点

来自分类Dev

Neo4j:为具有相同属性的节点创建索引

来自分类Dev

Spring Data Neo4j不插入新节点,仅更新具有相同属性的现有节点

来自分类Dev

Spring Data Neo4j不插入新节点,仅更新具有相同属性的现有节点

来自分类Dev

neo4j:用一个节点替换具有相同属性的多个节点

来自分类Dev

Neo4j密码查询-如何返回路径节点,但不包括具有相同特定属性的节点

来自分类Dev

Neo4j:如何匹配属性数组中具有公共值的节点

来自分类Dev

如何在 Neo4j 中获取具有重复属性值的节点?

来自分类Dev

如何在neo4j中创建具有相同节点名称的两个节点之间的关系

来自分类Dev

neo4j密码查询,以获取关系属性中具有相同序列ID的节点序列

来自分类Dev

Neo4J密码查询,以通过具有相同通用属性的路径连接节点

来自分类Dev

合并具有NULL属性Neo4j的节点

来自分类Dev

如何删除具有重复属性的Neo4j节点?

来自分类Dev

Neo4j/Cypher:如何排除/包含具有多个属性的节点?

来自分类Dev

在Neo4j中查找具有属性的最大(最小)值的节点

来自分类Dev

如何避免创建具有相同属性的对象

来自分类Dev

指向其他节点的唯一节点,但在Neo4j中具有相同的值

来自分类Dev

GraphViz文件中具有相同属性的节点组

来自分类Dev

neo4j查询以排除与具有某些属性的节点相关的节点

来自分类Dev

如何使用VB.net计算XML中具有相同属性值的节点总数

来自分类Dev

Neo4j如何避免超节点

来自分类Dev

Spring Data Neo4j 4.0.0:无法在具有相同标签的节点之间创建关系

来自分类Dev

使用Neo4j合并具有相同数据的节点

来自分类Dev

Neo4J 试图找到所有具有匹配属性值的节点

来自分类Dev

Neo4J:避免重复节点

来自分类Dev

Neo4j 密码查询:具有指定节点和关系属性的 AllShortestPaths

来自分类Dev

在Neo4j中连接相同节点的关系

来自分类Dev

如何访问neo4j节点的内部ID?

Related 相关文章

  1. 1

    在Neo4J中查找具有相同属性的节点

  2. 2

    如何列出Neo4j中具有共同属性的所有节点

  3. 3

    Neo4j:为具有相同属性的节点创建索引

  4. 4

    Spring Data Neo4j不插入新节点,仅更新具有相同属性的现有节点

  5. 5

    Spring Data Neo4j不插入新节点,仅更新具有相同属性的现有节点

  6. 6

    neo4j:用一个节点替换具有相同属性的多个节点

  7. 7

    Neo4j密码查询-如何返回路径节点,但不包括具有相同特定属性的节点

  8. 8

    Neo4j:如何匹配属性数组中具有公共值的节点

  9. 9

    如何在 Neo4j 中获取具有重复属性值的节点?

  10. 10

    如何在neo4j中创建具有相同节点名称的两个节点之间的关系

  11. 11

    neo4j密码查询,以获取关系属性中具有相同序列ID的节点序列

  12. 12

    Neo4J密码查询,以通过具有相同通用属性的路径连接节点

  13. 13

    合并具有NULL属性Neo4j的节点

  14. 14

    如何删除具有重复属性的Neo4j节点?

  15. 15

    Neo4j/Cypher:如何排除/包含具有多个属性的节点?

  16. 16

    在Neo4j中查找具有属性的最大(最小)值的节点

  17. 17

    如何避免创建具有相同属性的对象

  18. 18

    指向其他节点的唯一节点,但在Neo4j中具有相同的值

  19. 19

    GraphViz文件中具有相同属性的节点组

  20. 20

    neo4j查询以排除与具有某些属性的节点相关的节点

  21. 21

    如何使用VB.net计算XML中具有相同属性值的节点总数

  22. 22

    Neo4j如何避免超节点

  23. 23

    Spring Data Neo4j 4.0.0:无法在具有相同标签的节点之间创建关系

  24. 24

    使用Neo4j合并具有相同数据的节点

  25. 25

    Neo4J 试图找到所有具有匹配属性值的节点

  26. 26

    Neo4J:避免重复节点

  27. 27

    Neo4j 密码查询:具有指定节点和关系属性的 AllShortestPaths

  28. 28

    在Neo4j中连接相同节点的关系

  29. 29

    如何访问neo4j节点的内部ID?

热门标签

归档