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

苏米亚·乔治

我想找到所有节点序列,它们的名称出现在列表中,并且两者之间的关系中存在相同的序列ID。例如:基于从以下查询中构造的图:

MERGE (a:Person { name:  'graph'}) 
MERGE (b:Person { name:  'server' }) 
MERGE (a)-[:NEXT{seqid:1}]->(b)

MERGE (c:Person { name:  'server' }) 
MERGE (d:Person { name:  'db'}) 
MERGE (c)-[:NEXT{seqid:1}]->(d)

MERGE (a1:Person { name:  'graph'}) 
MERGE (b:Person { name:  'db' }) 
MERGE (a)-[:NEXT{seqid:2}]->(b)

MERGE (c:Person { name:  'db' }) 
MERGE (d:Person { name:  'server'}) 
MERGE (c)-[:NEXT{seqid:2}]->(d)

在给定列表中找到所有具有其名称的节点序列,例如,在它们之间的关系中存在具有相同'seqid'属性的['graph','server','db']。

IE

(graph)->(server)-(db) with same seqid :1

(graph)->(db)->(server) with same seqid :1   //there can be another matching
                                               sequence with same seqid

(graph)->(db)->(server) with same seqid :2

有没有办法让每个节点只保留最后一个节点序列说'(graph)->(server)->(db)',而不是像(graph)->(server)这样的大序列的每个子路径或(服务器)->(db)

请帮助我解决这个问题......

(我正在通过嵌入式模式下的java api使用neo4j 2.3.6社区版。)

stdob--
// Get all the possible paths
MATCH path = (S:Person)-[rels:NEXT*]->(E:Person)

    // Check that the property is the same
    WHERE ALL( r in rels WHERE rels[0]['seqid'] = r.seqid )

RETURN rels[0]['seqid'] as seqid,
       // Get an array of names 
       REDUCE(acc = [], n in nodes(path) | acc + [n.name])

ORDER BY seqid, 
      length(path)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

在neo4j的密码中,有没有办法获取节点的属性键?

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

Neo4j(密码):如何查找具有特定关系的所有节点?

来自分类Dev

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

来自分类Dev

使用Neo4jClient获取Neo4j中关系节点的属性

来自分类Dev

Neo4j Lucene查询关系和节点属性

来自分类Dev

查询可在没有克隆过程的情况下复制neo4j中具有关系的节点

来自分类Dev

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

来自分类Dev

Neo4j - 获取节点集合以及关系属性

来自分类Dev

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

来自分类Dev

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

来自分类Dev

Neo4j 更高效的 Cypher 查询,用于查找具有关系的连接节点

来自分类Dev

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

来自分类Dev

选择在Neo4j中具有所有关系的节点

来自分类Dev

Neo4j Cypher查询具有层次关系

来自分类Dev

获取Neo4j中没有特定关系的所有节点

来自分类Dev

通过Neo4j嵌入式Java中的ID获取节点或关系

来自分类Dev

使用cypherquery在neo4j中仅查找具有多个传入关系的节点

来自分类Dev

合并具有NULL属性Neo4j的节点

来自分类Dev

在 Neo4j 中添加与现有节点的关系

来自分类Dev

如何使用Java Connector Jar在neo4j中获取所有节点的关系

来自分类Dev

Neo4j / CYPHER:如何有效地从节点查询某些属性,其关系和目标节点?

来自分类Dev

Neo4j / CYPHER:如何有效地从节点查询某些属性,其关系和目标节点?

来自分类Dev

如果属性存在,则 Neo4J 合并节点并创建另一个具有关系的节点

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

    在neo4j的密码中,有没有办法获取节点的属性键?

  5. 5

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

  6. 6

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

  7. 7

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

  8. 8

    Neo4j(密码):如何查找具有特定关系的所有节点?

  9. 9

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

  10. 10

    使用Neo4jClient获取Neo4j中关系节点的属性

  11. 11

    Neo4j Lucene查询关系和节点属性

  12. 12

    查询可在没有克隆过程的情况下复制neo4j中具有关系的节点

  13. 13

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

  14. 14

    Neo4j - 获取节点集合以及关系属性

  15. 15

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

  16. 16

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

  17. 17

    Neo4j 更高效的 Cypher 查询,用于查找具有关系的连接节点

  18. 18

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

  19. 19

    选择在Neo4j中具有所有关系的节点

  20. 20

    Neo4j Cypher查询具有层次关系

  21. 21

    获取Neo4j中没有特定关系的所有节点

  22. 22

    通过Neo4j嵌入式Java中的ID获取节点或关系

  23. 23

    使用cypherquery在neo4j中仅查找具有多个传入关系的节点

  24. 24

    合并具有NULL属性Neo4j的节点

  25. 25

    在 Neo4j 中添加与现有节点的关系

  26. 26

    如何使用Java Connector Jar在neo4j中获取所有节点的关系

  27. 27

    Neo4j / CYPHER:如何有效地从节点查询某些属性,其关系和目标节点?

  28. 28

    Neo4j / CYPHER:如何有效地从节点查询某些属性,其关系和目标节点?

  29. 29

    如果属性存在,则 Neo4J 合并节点并创建另一个具有关系的节点

热门标签

归档