代码之家  ›  专栏  ›  技术社区  ›  Varun Tahin

如何在gremlin中启动匹配查询。在带有java驱动程序的cosmos db中,筛选器查询不起作用

  •  0
  • Varun Tahin  · 技术社区  · 7 年前

    我有两个类似方法的问题陈述。我可以在这两个问题陈述中放置一个contains或like查询来解决我在gremlin中的问题:

    1) 当outE()(如下面的gremlin查询所示)具有包含print的标签时,在下面的查询中返回顶点“a”。

    g、 V().hasLabel('url').has('name','sw10707').as('a').outE('print').has('forward','states').inV().select('a')

    g、 V().hasLabel('url').has('name','sw10707').as('a').outE('print').has('forward','states').inV()

    g、 V().hasLabel('url').has('name','sw10707').as('a').outE().filter(it.name.matches('. 脉波重复间隔。 '))

    https://github.com/Azure/azure-cosmosdb-dotnet/issues/473

    1 回复  |  直到 7 年前
        1
  •  1
  •   stephen mallette    7 年前

    此遍历:

    g.V().hasLabel('url').
      has('name','sw10707').as('a').
      outE().filter(it.name.matches('.pri.'))
    

    中需要lambda表达式 filter() 应该写成Groovy闭包:

    g.V().hasLabel('url').
      has('name','sw10707').
      outE().filter{it.name.matches('.pri.')}
    

    请注意,我对这个问题发表了评论,提到TinkerPop正在考虑让这些文本谓词可用—讨论是 here

    推荐文章