Bar*_*kin 5 python gremlin tinkerpop tinkerpop3 janusgraph
我将 JanusGraph 与标准 python gremlin 绑定一起使用,我想float[]在顶点/边上设置一个属性。但是,Python的Tinkerpop 驱动程序似乎无法做到这一点。
例如,下面是一个直接在 Groovy 中运行的脚本示例:
val = [1.2, 3.4, 5.6]
_client.submit("g.V(4200).property('a', %s as float[])" % val).all().result()
Run Code Online (Sandbox Code Playgroud)
这是使用 gremlin python 库时失败的代码:
val = [1.2, 3.4, 5.6]
g.V(4200).property('a', val).next()
Run Code Online (Sandbox Code Playgroud)
错误在哪里:
GremlinServerError: 500: Property value [[1.2, 3.4, 5.6]] is of type class java.util.ArrayList is not supported
Run Code Online (Sandbox Code Playgroud)
该错误可能是因为请求是由 python 驱动程序在 GraphSON 中序列化的 - 并且 GraphSON 支持具有不同类型元素的数组,因此场景背后的 Java 代码将值读取为 a java.util.ArrayList,而实际上无法转换为float[].
问题是 - 除了编写显式查询字符串之外,是否有任何理智的方法可以做到这一点?
| 归档时间: |
|
| 查看次数: |
991 次 |
| 最近记录: |