3

python g.V('test_red1').valueMap().toList()

工作正常,但是当我将 true 传递给请求 ID 和标签时,我得到了这个错误。有什么我想念的吗?

g.V('test_red1').valueMap(True).toList()

  Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/ec2-user/environment/merchantGraph/gremlin_python/process/traversal.py", line 52, in toList
    return list(iter(self))
  File "/home/ec2-user/environment/merchantGraph/gremlin_python/process/traversal.py", line 43, in __next__
 ...

我是不是错过了什么。我正在使用 AWS 海王星...

我正在添加额外的导入语句

和回溯

import time
import requests
import json
from gremlin_python import statics
from gremlin_python.structure.graph import Graph
from gremlin_python.process.graph_traversal import __
from gremlin_python.process.strategies import *
from gremlin_python.driver.driver_remote_connection import DriverRemoteConnection


import boto3
from os import environ

graph = Graph()
g = graph.traversal().withRemote(DriverRemoteConnection(environ['gremlinNeptuneConnection'],'g'))


# this works
g.V('test_red1').valueMap().toList()

# this fails
g.V('test_red1').valueMap(True).toList()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/ec2-user/environment/merchantGraph/gremlin_python/process/traversal.py", line 52, in toList
    return list(iter(self))
  ....
  File "/home/ec2-user/environment/merchantGraph/gremlin_python/structure/io/graphsonV3d0.py", line 455, in objectify
    new_dict[reader.toObject(l[x])] = reader.toObject(l[x + 1])

TypeError: unhashable type: 'dict'
4

1 回答 1

3

我的猜测是,您遇到了这个最近报告的错误valueMap(true)

https://issues.apache.org/jira/browse/TINKERPOP-1860

它已修补并将在 3.3.2 版本中修复。在那之前,您将不得不解决这个问题,因为除了恢复到 GraphSON 2.0(它有自己的一系列缺点)之外,确实没有解决办法。一种解决方法是针对project()您的结果:

gremlin> g.V().project('props','id','label').
......1>         by(valueMap()).
......2>         by(id).
......3>         by(label)
==>[props:[name:[marko],age:[29]],id:1,label:person]
==>[props:[name:[vadas],age:[27]],id:2,label:person]
==>[props:[name:[lop],lang:[java]],id:3,label:software]
==>[props:[name:[josh],age:[32]],id:4,label:person]
==>[props:[name:[ripple],lang:[java]],id:5,label:software]
==>[props:[name:[peter],age:[35]],id:6,label:person]
于 2018-01-20T22:17:37.550 回答