В общем, просмотр всех ребер на графике может быть дорогостоящим, если у вас много ребер. Это вообще не очень хорошая идея делать это на больших графиках. Я использовал шаг предела в своем примере ниже, который является одним из способов взглянуть только на некоторые ребра. Тем не менее, вы можете увидеть все свойства на ребре, используя valueMap
. Например (по графику, который отслеживает футбольные матчи):
gremlin> g.E().valueMap().with(WithOptions.tokens).limit(5)
==>[id:400,label:played,date:12 Apr 2014,result:1-0]
==>[id:401,label:played,date:12 Apr 2014,result:1-0]
==>[id:402,label:played,date:12 Apr 2014,result:0-1]
==>[id:403,label:played,date:12 Apr 2014,result:1-0]
==>[id:404,label:played,date:12 Apr 2014,result:0-1]
РЕДАКТИРОВАНИЕ добавить:
Если вы хотите включить смежные вершины в результат и используемая вами графическая база данных поддерживает Apache TinkerPop на уровне 3.4.4 или выше, вы можете использовать шаг elementMap
. Пример показан ниже.
gremlin> g.E().limit(5).elementMap()
==>[id:34,label:member,IN:[id:1,label:EPL],OUT:[id:2,label:Team],years:22]
==>[id:35,label:member,IN:[id:1,label:EPL],OUT:[id:3,label:Team],years:22]
==>[id:36,label:member,IN:[id:1,label:EPL],OUT:[id:4,label:Team],years:22]
==>[id:37,label:member,IN:[id:1,label:EPL],OUT:[id:5,label:Team],years:22]
==>[id:38,label:member,IN:[id:1,label:EPL],OUT:[id:6,label:Team],years:22]
Если база данных, которую вы используете, не поддерживает elementMap
, вам нужно сделать что-то вроде:
gremlin> g.E().limit(5).
......1> project('EDGE','IN','OUT').
......2> by(valueMap().with(WithOptions.tokens)).
......3> by(inV().union(id(),label()).fold()).
......4> by(outV().union(id(),label()).fold())
==>[EDGE:[id:34,label:member,years:22],IN:[1,EPL],OUT:[2,Team]]
==>[EDGE:[id:35,label:member,years:22],IN:[1,EPL],OUT:[3,Team]]
==>[EDGE:[id:36,label:member,years:22],IN:[1,EPL],OUT:[4,Team]]
==>[EDGE:[id:37,label:member,years:22],IN:[1,EPL],OUT:[5,Team]]
==>[EDGE:[id:38,label:member,years:22],IN:[1,EPL],OUT:[6,Team]]