如何在javascript中创建gremlin自定义谓词

如何在javascript中创建gremlin自定义谓词,gremlin,Gremlin,我正在尝试为我的查询创建一个正则表达式自定义谓词 我看到这可以从下面的gremlin控制台完成 f = {x,y -> x ==~ y} g.V().has('desc',test(f,/^Dal.*/)).values('desc') 然而,我想知道如何在Javascript客户机中创建自定义谓词? 我使用的是npm包()和Typescript。您发现的示例很有效,因为在使用本地(嵌入式)图形(如TinkerGraph)时,您基本上可以在Java和/或Groovy中创建自定义类和闭包。

我正在尝试为我的查询创建一个正则表达式自定义谓词

我看到这可以从下面的gremlin控制台完成

f = {x,y -> x ==~ y}
g.V().has('desc',test(f,/^Dal.*/)).values('desc')
然而,我想知道如何在Javascript客户机中创建自定义谓词?
我使用的是npm包()和Typescript。

您发现的示例很有效,因为在使用本地(嵌入式)图形(如TinkerGraph)时,您基本上可以在Java和/或Groovy中创建自定义类和闭包。您可以将其视为在本地扩展Gremlin

然而,gremlinjavascript客户端设计用于远程图形。出于安全考虑,许多托管图形提供程序完全限制或阻止此类代码的使用。如果您可以控制连接到的Gremlin服务器,或者您使用的提供程序允许闭包/lambda,那么您就可以利用它,请参见[1]

如果您控制正在使用的Gremlin服务器,则可能只需在配置文件中添加创建自定义谓词的脚本。为了完整地帮助其他人找到这篇文章,我添加了一个关于谓词讨论的链接,我相信您在问题[2]中提到了谓词

[1]


[2]

谢谢Kelvin,我正在使用AWS Neptune,lambda步骤根据其文档不受支持,因此我将使用服务器选项,您正在谈论什么特定的配置文件?如果您使用Amazon Neptune,您将无法创建自定义谓词。所有的小精灵客户都是这样。但是,您可以使用弹性搜索集成,也可以使用Gremlin步骤,例如
startingWith