Gremlin - 类型错误 : Object of type GraphTraversal is not JSON serializable

标签 gremlin janusgraph gremlin-server

下面这段 gremlin 代码在 gremlin 控制台中运行得非常好(它找到了 k-step ego 网络的唯一起点和终点,以及到该端点的最小距离):

g.V(42062000).as("from")
    .repeat(both().as("to")).emit().times(3).path()
    .count(local).as("pathlen")
    .select("from", "to", "pathlen")
    .dedup("from", "to").toList()

并提供类似于以下内容的输出,这是预期的:
==>{from=v[42062000], to=v[83607800], plen=2}
==>{from=v[42062000], to=v[23683248], plen=3}
==>{from=v[42062000], to=v[41762840], plen=3}
==>{from=v[42062000], to=v[42062000], plen=3}
==>{from=v[42062000], to=v[83599456], plen=3}

但是,当将代码转换为符合 gremlinpython 包装器时
(即在用 as 替换 as_ 之后),我得到了错误 TypeError: Object of type GraphTraversal is not JSON serializable ,即使它是相同的查询。

有没有人遇到过类似的问题?

我正在使用 gremlinpython 3.4.2,但最初使用的是 3.3.3。我的 Python 版本是 3.7.3。

最佳答案

进口static类使用

from gremlin_python import statics

statics.load_statics(globals())
或者
from gremlin_python.process.graph_traversal import elementMap, range_, 
  local, count
和普通 reserved单词必须以 _ 结尾
例子:
as_, range_

关于Gremlin - 类型错误 : Object of type GraphTraversal is not JSON serializable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57115147/

相关文章:

.net - 如何在适用于 Windows 的 Neo4j 或更好的替代方案中使用 Gremlin?

cassandra - 将 janusgraph 从 0.2.2 升级到 0.5.2

database - Titan 索引更新时间过长

java - Gremlin 文件系统接口(interface)

Gremlin GroovyTranslator 生成错误结果并在远程服务器上失败

java - 如何从部署在 docker 上的应用程序连接到外部服务?

java - 配置 JanusGraph 通过 Java 使用 Lucene

gremlin - 无法从 janusgraph 方案中删除边缘标签

azure-cosmosdb - 如何获得由满足特定条件的所有顶点组成的子图