如何使用gremlin for Neptune编写like查询,因为Neptune不支持Lambda函数

如何使用gremlin for Neptune编写like查询,因为Neptune不支持Lambda函数,gremlin,amazon-neptune,Gremlin,Amazon Neptune,有没有办法在不使用lambda函数的情况下在gremlin中编写类似于“%match%”的查询 Neptune不支持Lambda函数通常有办法用小精灵的步骤来表达Lambda。实际上,这样做通常更好,因为图形提供程序无法优化查询中包含lambda的部分(因为它只是任意代码) 通常,lambda内容的性质决定了它是否可以用Gremlin步骤轻松表达。如果lambda使用第三方库(例如JDBC驱动程序)来抽象一系列复杂的或自定义的行为,那么仅用Gremlin步骤通常不可能表达这些概念 对于像%mat

有没有办法在不使用lambda函数的情况下在gremlin中编写类似于“%match%”的查询


Neptune不支持Lambda函数

通常有办法用小精灵的步骤来表达Lambda。实际上,这样做通常更好,因为图形提供程序无法优化查询中包含lambda的部分(因为它只是任意代码)

通常,lambda内容的性质决定了它是否可以用Gremlin步骤轻松表达。如果lambda使用第三方库(例如JDBC驱动程序)来抽象一系列复杂的或自定义的行为,那么仅用Gremlin步骤通常不可能表达这些概念

对于像
%match%
这样的字符串比较,TinkerPop早就将这种支持留给了图形提供程序(例如)。每种方法都有自己的文本搜索表达方式,您可以在应用程序中使用这些特定于提供者的API

正如你们所发现的,海王星在这个时候并没有这样的构造,所以对这种能力几乎并没有追索权。如果您确实需要该功能,恐怕您必须满足
startsWith
类型的查询:

gremlin> g = TinkerFactory.createModern().traversal()
==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard]
gremlin> g.V().has('name',between('m','mz'))
==>v[1]
或者选择不同的图形系统。请注意,最近在社区中有人将基于文本的搜索作为Gremlin语言的一级功能,但目前还没有做出任何决定