【问题标题】:How to traverse an order list of node properties in neo4j?如何遍历neo4j中节点属性的顺序列表?
【发布时间】:2012-04-18 19:48:04
【问题描述】:

我是 neo4j 新手,非常感谢您的帮助。

我有一个 neo4j 数据库,其中的节点具有属性“颜色”和两种关系类型,“上一个”和“下一个”。我有一个 ArrayList,其中包含节点属性,按它们应该被遍历的顺序排列,例如蓝色、红色、黄色。

如何遍历图形以查找确切路径节点(颜色:蓝色)-> 节点(颜色:红色)-> 节点(颜色:黄色)之间没有节点以及所有类型的关系“ Next”,是否存在于数据库中?

我正在使用嵌入在 java 应用程序中的 neo4j。

【问题讨论】:

    标签: java neo4j


    【解决方案1】:

    每个之间的 NEXT 关系可能就足够了,因为传入的 NEXT 可以被视为“前一个”。

    我认为你应该索引你的颜色,然后从第一个节点(在本例中为“蓝色”)开始遍历,并有一个这样的遍历器:

    字符串 [] 颜色 = 新字符串 [] { "蓝色", "红色", "黄色" }; 节点开始 = db.index().forNodes("colors").get("color", colors[0]).getSingle(); Traversal.description().uniqueness(Uniqueness.RELATIONSHIP_GLOBAL).breadthFirst().relationships(Types.NEXT, Direction.OUTGOING).evaluator(new Evaluator() { @覆盖 公共评估评估(路径路径) { String currentColor = (String) path.endNode().getProperty("color"); boolean endOfTheLine = path.length()+1 >= colors.length; 返回 currentColor.equals( 颜色[path.length()] ) ? Evaluation.of(endOfTheLine, !endOfTheLine) : Evaluation.EXCLUDE_AND_PRUNE; } }).traverse(开始)

    我刚刚黑掉了你的域名,那个遍历器运行得很好!

    【讨论】:

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