获得;类未注册:";Gremlin查询期间发生异常

获得;类未注册:";Gremlin查询期间发生异常,gremlin,janusgraph,gremlin-server,Gremlin,Janusgraph,Gremlin Server,我正在使用Gremlin连接Janusgraph。现在,我想编写一个gremlin查询语句,通过忽略区分大小写的标签来获取特定的顶点。我的问题是这样的: g.V(vertexId).inE(edgeLabel).outV().filter(it -> it.get().label().equalsIgnoreCase(label)) ; 但是,执行导致了一个异常: java.lang.IllegalArgumentException:未注册类:com.demo.service.kg.KG

我正在使用Gremlin连接Janusgraph。现在,我想编写一个gremlin查询语句,通过忽略区分大小写的标签来获取特定的顶点。我的问题是这样的:

g.V(vertexId).inE(edgeLabel).outV().filter(it -> it.get().label().equalsIgnoreCase(label)) ;
但是,执行导致了一个异常:

java.lang.IllegalArgumentException:未注册类:com.demo.service.kg.KGService$$Lambda$506/1884099229 注意:要注册此类,请使用:kryo.register(com.demo.service.kg.KGService$$Lambda$506/1884099229.class)

我的配置是:

hosts: [localhost]
port: 8182
connectionPool: { maxContentLength: 7000000 }
serializer: { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV3d0, 
          config: { ioRegistries: [org.janusgraph.graphdb.tinkerpop.JanusGraphIoRegistry], 
serializeResultToString: true}}

有人知道发生了什么吗?

Lambdas不会以这种方式序列化。你必须


非常感谢,斯蒂芬!!你帮了我很多!!
g.V(vertexId).inE(edgeLabel).outV().filter(
  Lambda.predicate("it -> it.get().label().equalsIgnoreCase(label)")) ;