如何解决JanusGraph 3.x graphson 导入在美化 json 上失败
是否有其他人遇到将经过美化处理的 json/graphson 导入 JanusGraph 的问题?
完全相同但未美化的文件(没有回车、制表符、空格)将完美导入,但如果美化它会失败并出现以下错误:
graph.io(graphson()).readGraph("data/tgraph2.json")
Could not deserialize the JSON value as required. Nested exception: java.lang.InstantiationException: Cannot deserialize the value with the detected type contained in the JSON ('tinker:graph') to the type specified in parameter to the object mapper (class java.util.LinkedHashMap). Those types are incompatible. at [Source: (ByteArrayInputStream); line: 1,column: 3]
注意,编辑文件以手动删除第一个换行符,错误消息更改为 ... at [Source: (ByteArrayInputStream); line: 1,column: 12]
等 - 所以这绝对是文件中的空格问题。
版本 3.x
这当然不是我们想要的行为。无论是用空格美化还是缩小,json 都应该工作相同。
解决方法
需要注意的是,GraphSON 有两种形式。在一种形式中,整个文件不是单个 JSON 文档,而是每一行。每条线代表一个顶点的邻接表。
这是默认的 GraphSON 格式,它是为流式传输而设计的,因此文件可以轻松分解以进行多线程操作。另一种形式是包含所有顶点和所有边的单个 JSON 文档。
此处记录了格式
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。