gpt4 book ai didi

c# - Gremlin.Net 系统.InvalidOperationException : 'Deserializer for "janusgraph:RelationIdentifier"not found' exception

转载 作者:太空宇宙 更新时间:2023-11-03 22:49:18 28 4
gpt4 key购买 nike

我是 janusgraph 和 tinkerpop 的新手。我正在使用 Gremlin.Net 3.2.7 连接到 janusgraph,所有返回顶点的请求对我来说都很好,但是当我运行任何返回像 "g.V(61464).outE('father') 这样的边的操作时。 toList()” 库中的异常:

System.InvalidOperationException: 'Deserializer for "janusgraph:RelationIdentifier" not found'

服务器没有抛出任何异常,序列化配置是默认的:

序列化器:

 - { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0, config: { ioRegistries: [org.janusgraph.graphdb.tinkerpop.JanusGraphIoRegistry] }}
- { className: org.apache.tinkerpop.gremlin.driver.ser.GryoLiteMessageSerializerV1d0, config: {ioRegistries: [org.janusgraph.graphdb.tinkerpop.JanusGraphIoRegistry] }}
- { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0, config: { serializeResultToString: true }}
- { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV1d0, config: { ioRegistries: [org.janusgraph.graphdb.tinkerpop.JanusGraphIoRegistryV1d0] }}
- { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV2d0, config: { ioRegistries: [org.janusgraph.graphdb.tinkerpop.JanusGraphIoRegistry] }}
- { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV1d0, config: { ioRegistries: [org.janusgraph.graphdb.tinkerpop.JanusGraphIoRegistryV1d0] }}

但它在 gremlin-client 控制台中工作正常。你有什么建议吗?

最佳答案

看起来 JanusGraph 以自己的格式将边序列化为 RelationIdentifiers这不是 TinkerPop 的一部分。所以 Gremlin.Net 没有这种类型的反序列化器。这意味着您要么必须为此类型实现自己的 GraphSON 反序列化器,要么将 Gremlin 查询更改为不直接返回边。

TinkerPop 文档包含一个 example on how to write a deserializer for Gremlin.Net . (请注意,您只需实现 IGraphSONSerializer,而不是 IGraphSONSerializer,因为它仅用于写入。)

或者,如果你想改变你的 Gremlin 遍历,那么你可以只返回边缘属性:

g.V(61464).OutE("father").ValueMap<object>().ToList();

顺便说一句:看起来您正在以 Gremlin-Groovy 字符串的形式将 Gremlin 遍历发送到 JanusGraph 服务器。您也可以写成 Gremlin traversals directly in C# with Gremlin.Net .这不仅使得编写遍历更容易,而且在服务器端执行也更高效。

关于c# - Gremlin.Net 系统.InvalidOperationException : 'Deserializer for "janusgraph:RelationIdentifier"not found' exception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48239255/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com