【问题标题】:gremlin filter() in query is applied on PROPERTY as well查询中的 gremlin filter() 也适用于 PROPERTY
【发布时间】:2019-04-29 04:01:46
【问题描述】:

TinkerPop Gremlin 服务器:3.3.3 远程客户端:v 3.3.3 似乎 groovy 闭包也应用于属性名称以及 gremlin 查询。这表明查询以仅与标签匹配的所有顶点进行响应。 当我申请以下查询时;我明白了

gremlin> client.submit("gV().hasLabel('XYZ').filter{it.get().property('SCOPE').toString().contains('SCOPE')} ") ==>结果{object=v[352] class=org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex} ==>结果{object=v[325] class=org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex} ==>结果{object=v[267] class=org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex} ==>结果{object=v[306] class=org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex} ==>结果{object=v[371] class=org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex} ==>结果{object=v[248] class=org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex} ==>结果{object=v[287] class=org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex}

【问题讨论】:

    标签: gremlin


    【解决方案1】:

    我不清楚您要在这里完成什么,但如果“SCOPE”是所有这些返回顶点的属性键,那么filter() 正在按预期工作。在“现代”玩具图的上下文中考虑您的遍历:

    gremlin> g.V().hasLabel('person').map{it.get().property('name').toString()}
    ==>vp[name->marko]
    ==>vp[name->vadas]
    ==>vp[name->josh]
    ==>vp[name->peter]
    gremlin> g.V().hasLabel('person').filter{it.get().property('name').toString().contains('name')}
    ==>v[1]
    ==>v[2]
    ==>v[4]
    ==>v[6]
    

    “name”属性可用作所有这些顶点的键,因此它允许所有“person”顶点超过filter()

    【讨论】:

      猜你喜欢
      • 2020-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-15
      • 2020-06-08
      • 2019-09-17
      • 2012-12-22
      相关资源
      最近更新 更多