【问题标题】:Neo4J / Cypher Match subtrees of choices to identify valid outcomesNeo4J / Cypher 匹配选择子树以识别有效结果
【发布时间】:2016-10-03 08:56:55
【问题描述】:

给定一个代表潜在选择的 Neo4J 图表(下图中绿色节点代表潜在选择)只有某些选择是有效的 - 表示选择路径中的所有叶节点都为橙色的有效结果。

我想从黄色开始节点识别路径(一系列选择(和相关节点)),其中所有叶节点(任意深度)都是橙色的。图形是有向的,节点是蓝色还是绿色都保存为节点属性。

蓝色和橙色节点可以在选项之间共享(即橙色节点不一定具有度数 = 1)

鉴于图中的图表,我希望返回以下内容……

黄色 -> A -> E A -> G

黄色 -> C -> M

这是我之前的问题的更复杂的扩展...... Neo4J - count outermost nodes

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

    您可以使用谓词ALL 来搜索合适的节点:

    MATCH (Y {color: 'Yellow'}) WITH Y
    MATCH (G {color: 'Green'})-->(O)
    WITH Y,
         G, 
         ALL(color IN COLLECT(O.color) WHERE color = 'Orange') AS valid
         WHERE valid = TRUE
    MATCH path = (Y)-[*]->(G)
    RETURN path
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多