gremlin-AWS Neptune文本谓词

gremlin-AWS Neptune文本谓词,gremlin,amazon-neptune,Gremlin,Amazon Neptune,我用的是AWS海王星图。我需要得到状态名称以“A”开头的顶点。你能帮我处理一下这些文本谓词吗?它们在AWS Neptune gremlin上工作 {textconatinisprefix()、TextPrefix()、Text.contains()、.matches()、.contains()、.startWith()这些组合都不起作用}这可能取决于海王星允许什么,但以下是我书中的一些示例,如果海王星允许这些类型的Lambda,它们将起作用 gremlin> g.V().filter{it

我用的是AWS海王星图。我需要得到状态名称以“A”开头的顶点。你能帮我处理一下这些文本谓词吗?它们在AWS Neptune gremlin上工作


{textconatinisprefix()、TextPrefix()、Text.contains()、.matches()、.contains()、.startWith()这些组合都不起作用}

这可能取决于海王星允许什么,但以下是我书中的一些示例,如果海王星允许这些类型的Lambda,它们将起作用

gremlin> g.V().filter{it.get().property('state').value() == 'A*'}
如果您所需要的只是startsWith的行为,则可以避免使用Lambdas:

g.V().hasLabel('airport').
      filter{it.get().property('desc').value().contains('Dallas')}

// Using a filter to search using a regular expression
g.V().has('airport','type','airport').
      filter{it.get().property('city').
        value ==~/Dallas|Austin/}.values('code')

// A regular expression to find any airport with a city 
//name that begins with "Dal"

g.V().has('airport','type','airport').
    filter{it.get().property('city').value()==~/^Dal\w*/}.values('city')
为了完整起见,这里有一个指向这本书和相关资料的URL(都是开源的)

干杯 开尔文

谢谢开尔文。 我得到了这个答案,它与AWS Neptune GDB配合得很好

g.V().hasLabel('airport').
      has('city',between('Dal','Dam')).
      values('city')

代替startsWith(),我们可以使用一些类似于文本谓词的java方法。

现在是2019年,我们添加了另一个答案,指出在Apache TinkerPop 3.4中引入了新的文本谓词。其中包括startingWith()、endingWith()和containing()以及它们的逆形式notStartingWith()等。任何支持Apache TinkerPop 3.4或更高级别的图形数据库(包括Amazon Neptune)都应该提供这些谓词

希望这有助于人们今天找到这个问题,因为最初的问题是从2018年开始的

干杯
开尔文

谢谢开尔文!between()步骤符合我的要求。你能给我推荐其他谓词吗,比如(textContains(),textContainsPrefix())替代书中的6.6-Janus图形文本搜索谓词。我可能使用
between
技术的唯一原因是它完全避免使用Lambdas。如果您只需要一个带('a')的启动,您可以在('AA','AB')之间执行
操作
等,因此
具有('state',在('AA','AB'))
是的,谢谢开尔文。你的回答对我很有用。它是“包含”(而不是包含):-)
gremlin> g.V().values('state').filter{(''+it).startsWith('A')}