我试图使用Gremlin在海王星中模拟“喜欢”搜索。但是,它不是Neptune中的it.get()函数。其他图形如JanusGraph都有此功能。在海王星中,还有其他选择吗?当我们尝试在Gremlin提供的示例图上应用过滤器选项时,它工作正常。但是,它不适用于海王星。例如以下查询在Gremlin中提供了示例图,但在Neptune中不起作用。
g.V()。filter {it.get()。value('name')。matches(“。 o。”)}
g.V()。filter {it.get()。value('name')。matches(“。 o。”)}查询在Gremlin中与Factory提供的图形一起使用。 Neptune无法识别它。get()
答案 0 :(得分:0)
在上面的示例中,您实际上是向Graph引擎发送内联代码(Groovy lambda)。诸如Neptune之类的托管图形数据库通常出于各种原因而不允许提交此类内联代码段。 Apache TinkerPop 3.4迈出了向Gremlin语言本身添加其他文本搜索谓词的第一步,并且避免了使用此类lambda函数的需求。一旦Neptune支持Apache Tinkerpop 3.4,您将可以进行startingWith
,endingWith
和contains
搜索。