in gdbclient/internal/graphsonv3/graphreader.go [370:396]
func getEdge(r *result) (interface{}, error) {
v := &edgeV3{}
err := json.Unmarshal(r.Value, v)
if err != nil {
return nil, internal.NewDeserializerError("edge", r.Value, err)
}
inVertex := graph.NewDetachedVertex(graph.NewDetachedElement(v.InV, v.InVLabel))
outVertex := graph.NewDetachedVertex(graph.NewDetachedElement(v.OutV, v.OutVLabel))
edge := graph.NewDetachedEdge(graph.NewDetachedElement(v.Id, v.Label))
edge.SetVertex(true, outVertex)
edge.SetVertex(false, inVertex)
for _, prop := range v.Properties {
p, err := getProperty(&prop)
if err != nil {
return nil, err
}
if pp, ok := p.(*graph.DetachedProperty); ok {
edge.AddProperty(pp)
}
}
return edge, nil
}