【问题标题】:neo4j get nodes in order of connectionsneo4j 按连接顺序获取节点
【发布时间】:2015-08-21 06:14:51
【问题描述】:

http://console.neo4j.org/r/z1iafh 是否可以按顺序返回 n.name 所以它是 CREATE (node_name);不向节点添加新属性?我看到这个测试数据库中的节点有一个序列相互连接,所以我很感兴趣是否有可能以某种方式改变这个序列。

START n=node(*) MATCH (n)-[r:CREATE_NODE_COMMAND]->(m) RETURN n

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

    首先您需要声明一个path 标识符,然后添加深度,最后您可以按路径长度排序:

    START n=node(*) MATCH p=(n)-[r:CREATE_NODE_COMMAND*..10]->(m)
    ORDER BY length(p)
    LIMIT 1
    RETURN nodes(p)
    

    【讨论】:

    • 返回的路径确实有深度,但只有 1 个 START n=node(*) MATCH p=(n)-[r:CREATE_NODE_COMMAND]->(m) WITH n,p,m ORDER BY length(p) LIMIT 5 RETURN length(p) yadi.sk/i/aZadQdqNh7byq
    • 好的,为什么在你的问题中:按关系深度排序?都将是 1
    • 嗯。你说的对。我需要按关系订购s?)问题是 - 我需要按顺序获得这个yadi.sk/i/hS-h2aQ9h7cGD。但我唯一的顺序 - 是关系彼此跟随的顺序......
    • console.neo4j.org/r/qgjtp0 是否可以按顺序返回 n.name 所以它是 CREATE (node_name);不向节点添加新属性?我看到这个测试数据库中的节点有一个序列相互连接,所以我很感兴趣是否有可能以某种方式改变这个序列。
    • 您共享的控制台中的查询仅缺少 CREATE 对吗?如果你包括深度 0,它有帮助吗? START n=node(*) MATCH p=(n)-[r:CREATE_NODE_COMMAND*0]->(m) WITH n,p,m ORDER BY length(p) RETURN n.name
    猜你喜欢
    • 1970-01-01
    • 2020-07-14
    • 2017-12-15
    • 2023-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多