【问题标题】:Neo4j determing the neighboursNeo4j 确定邻居
【发布时间】:2013-03-06 16:50:03
【问题描述】:

我对 Neo4J 概念非常陌生。 如果有任何方法,我想知道如何在以 graphdb 格式部署特定节点后列出连接到特定节点的所有可能节点。 简而言之,我已经能够导入以制表符分隔的 .csv 现在我想知道是否可以列出任何特定节点的所有邻居,其 id 可以作为参数传递。

【问题讨论】:

    标签: neo4j traversal


    【解决方案1】:

    您可以通过多种方式做到这一点。其中之一是使用如下 Cypher 语句:

    START n=node({nodeId}) MATCH n-[*1..1]-m RETURN m;
    

    如果您使用的是 Java,则可以按如下方式使用遍历 API:

    for (final Path position : Traversal.description()
        .evaluator(Evaluators.fromDepth(1))                     
        .evaluator(Evaluators.toDepth(1))
        .evaluator(Evaluators.excludeStartPosition()).traverse(yourStartNode)) {
            System.out.println(position.endNode());
    }
    

    【讨论】:

    • 没有必要使用n-[*1..1]-m。只需使用n--m
    【解决方案2】:

    我会在 tstorms 中添加一个回答集合,因此您将在一行中获得所有节点 + 邻居集合:

    START n=node({nodeId}) MATCH n--m RETURN n,collect(m);
    

    或对于所有节点及其邻居:

     START n=node(*) MATCH n--m RETURN n,collect(m) order by Id(n);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-12
      • 2020-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多