【问题标题】:OrientDB combination of edge and vertex propertiesOrientDB 结合边和顶点属性
【发布时间】:2016-06-08 08:54:29
【问题描述】:

我正在尝试使用 PhpOrient 在 OrientDB 2.1 中选择指向“Rgb”顶点的“包含”边。边有一个属性“概率”,而RGB有一个属性“十六进制”。

所以:

Artist -> created -> Artwork -> contained -> Rgb. 

此查询查找具有“概率”属性的“包含”边。

SELECT *, EXPAND (OUT("Created").OUTE("Contained")) FROM Artist WHERE path="Achebach, Andreas"

此查询查找具有“十六进制”属性的顶点 Rgb。

SELECT *, EXPAND (OUT("Created").OUT("Contained")) FROM Artist WHERE path="Achebach, Andreas"

但我想同时拥有这两个属性。如何将这些查询组合成一个查询,可以同时找到这两个属性?

【问题讨论】:

    标签: orientdb


    【解决方案1】:

    在 v 2.1 中,您可以使用子查询来做到这一点:

    SELECT probability, inV().hex FROM (
       SELECT expand(out("Created").outE("Contained")) 
       FROM Artist WHERE path="Achebach, Andreas"
    )
    

    在 OrientDB v 2.2 中,您也可以使用模式匹配来实现它

    MATCH
      {class:Artist, as:a, where:(path="Achebach, Andreas")}
      .out("created"){as:aw}
      .outE("contained"){as:cont}
      .inV(){as:rgb}
    RETURN cont.probability, rgb.hex
    

    【讨论】:

      猜你喜欢
      • 2021-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-30
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      相关资源
      最近更新 更多