Я пытаюсь вычислить промежуточность. Запрос отлично работает в консоли gremlin, но не работает в gremlin-python.
g.V().as_("v").
repeat(identity().as_("src").
bothE().as_("e").
bothV().as_("v").
where(neq("src")).
simplePath()).
emit().
filter(project("x","y","z").
by(select(first, "v")).
by(select(last, "v")).
by(select("v").count(local)).as_("triple").
coalesce(select("x","y").as_("a").
select("triples").unfold().as_("t").
select("x","y").
where(eq("a")).
select("t"),
store("triples")).
select("z").as_("length").
select("triple").
select("z").
where(eq("length"))).
select('e').
unfold().
groupCount()
Ошибка: TypeError: unhashable type: 'dict'
Если я изменю его на межрешенность между вершинами, он будет работать нормально. Проблема, которую я чувствую, заключается в том, как в питоне извлекается край, это карта. Когда я делаю групповой подсчет, он также создает карту, которая имеет ключ в качестве края и значение в качестве счетчика. В python ключ не может быть картой и, следовательно, вызывает эту ошибку.
Как это исправить? Также объясните, как использовать select(all, 'e')
в gremlin-python.