【问题标题】:Filtering query using outE() with EmbeddedMap使用带有 EmbeddedMap 的 outE() 过滤查询
【发布时间】:2016-11-30 11:00:19
【问题描述】:

我有一个顶点如下。

我还有一条边(它是上面顶点的外边),如下所示。

我可以使用以下 SQL 语句进行查询。

  • 从 #20:6 中选择 outE().weight in 1
  • 从 #28:12 中选择 sessionStatus.keys() in "session1"


但是,当我结合上面的 2 个过滤器时,查询中没有顶点。

  • 从 #20:6 中选择 outE().sessionStatus.keys() in "session1"


有人指导我可以使用正确的过滤器吗?

【问题讨论】:

  • 您好,您使用的是哪个版本?
  • 是2.2.0,谢谢

标签: orientdb


【解决方案1】:

你可以使用 MATCH

select expand(vv) from (
    MATCH
    {
     class: GW_Score,
     as: vv,
     where: (@rid=20:6)
    }
    .outE(){
     as: ee,
     where: (sessionStatus.keys() = "session1")
    }
    RETURN vv
)

【讨论】:

    【解决方案2】:

    试试这个查询:

    select from #20:6 where ["session1"] in outE()[0].sessionStatus.keys()
    

    希望对你有帮助。

    【讨论】:

    • 这个答案对我不起作用,因为可能有多个出边。我想检查任何包含特定键的嵌入地图。
    • 你可以试试select from #20:6 where ["session1"] in outE().sessionStatus.keys() 告诉我它是否有效
    • 我认为您的查询与我的没有什么不同,所以它仍然不起作用。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-17
    • 1970-01-01
    • 2019-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多