in csv-gremlin/csv-gremlin.py [0:0]
def process_edge_row(self,r):
properties = ''
error = False
seen = 0
for k in r:
if r[k] == '':
pass
elif k == '~id':
eid = r['~id']
seen |= 0x1
elif k == '~label':
elabel = r['~label']
seen |= 0x2
elif k == '~from':
efrom = r['~from']
seen |= 0x4
elif k == '~to':
eto = r['~to']
seen |= 0x8
else:
properties += self.process_property(r,k)
if seen != 0xF:
self.print_error('For edge data, values must be provided for ~id,~label,~from and ~to')
edge = ''
else:
if eid in self.id_store:
self.duplicate_id_count += 1
self.id_store[eid] += 1
error = True
edge = ''
self.print_error(f'Duplicate edge ID {eid}')
else:
self.edge_count += 1
self.id_count += 1
self.id_store[eid] = 1
if not error:
edge = f'.addE(\"{elabel}\").property(id,\"{eid}\")'
edge += f'.from(V(\"{efrom}\")).to(V(\"{eto}\"))'
edge += properties
if self.escape_dollar:
edge = edge.replace("$","\\$")
return edge