Gremlin 小精灵在执行lambda时抛出错误
导致错误: java.util.concurrent.CompletionException:Gremlin 小精灵在执行lambda时抛出错误,gremlin,amazon-neptune,Gremlin,Amazon Neptune,导致错误: java.util.concurrent.CompletionException: org.apache.tinkerpop.gremlin.driver.exception.ResponseException:查询分析在第1行0处的字符位置失败,错误消息:输入不匹配“[”应为{“”,“g”} 位于java.util.concurrent.CompletableFuture.reportJoin(CompletableFuture.java:375) 位于java.util.conc
org.apache.tinkerpop.gremlin.driver.exception.ResponseException:查询分析在第1行0处的字符位置失败,错误消息:输入不匹配“[”应为{“”,“g”} 位于java.util.concurrent.CompletableFuture.reportJoin(CompletableFuture.java:375)
位于java.util.concurrent.CompletableFuture.join(CompletableFuture.java:1934)
位于org.apache.tinkerpop.gremlin.driver.ResultSet.one(ResultSet.java:107)
位于org.apache.tinkerpop.gremlin.driver.ResultSet$1.hasNext(ResultSet.java:159)
位于org.apache.tinkerpop.gremlin.driver.ResultSet$1.next(ResultSet.java:166)
位于org.apache.tinkerpop.gremlin.driver.ResultSet$1.next(ResultSet.java:153)
位于org.apache.tinkerpop.gremlin.driver.remote.DriverRemoteTraversal$traverseriator.next(DriverRemoteTraversal.java:142)
位于org.apache.tinkerpop.gremlin.driver.remote.DriverRemoteTraversal$traverseriator.next(DriverRemoteTraversal.java:127)
位于org.apache.tinkerpop.gremlin.driver.remote.DriverRemoteTraversal.nextTraverser(DriverRemoteTraversal.java:108)
位于org.apache.tinkerpop.gremlin.process.remote.traversal.step.map.RemoteStep.processNextStart(RemoteStep.java:80)
位于org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.next(AbstractStep.java:128)
位于org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.next(AbstractStep.java:38)
位于org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal.next(DefaultTraversal.java:200)
我刚刚看到您使用的是Amazon Neptune。Neptune不支持此处文档中的Lambda步骤:不确定这是否与此有关,但看起来您在lambdag.V().hasLabel(“OperatingSystem”).filter(Lambda.predicate({it.get().property('name')后面的out步骤中拼写了“dpend_on”).startsWith('xyz')}).count().next();g.V().hasLabel(“操作系统”).filter(Lambda.predicate({it.get().property('name')).startsWith('Windows')})).count().next();仍然不工作:(。您可以使用
介于步骤之间的来模拟startsWith
行为,并避免需要Lambda。例如已经('some_key',between('abc','abd'))
它不支持简单的匿名类,因此不支持如何对其应用过滤查询或如何使用谓词应用has。因此,如何编写像startWith、contains等这样的查询
g.V().hasLabel("OperatingSystem")
.filter(Lambda.predicate("{it.get().property('name').startsWith('xyz')}")).out("dpend_on")
.as("ast").out("depend_on").hasLabel("abc")