Obtener o crear un vértice/arista en Apache TinkerPop Gremlin en una consulta.
¿Cómo obtener o crear un vértice/arista en Apache TinkerPop Gremlin en una consulta?
Actualmente estoy haciendo esto:
id = None
if g.V().has(’employee’, ‘name’, ‘thirumal’).hasNext():
id = g.V().has(’employee’, ‘name’, ‘thirumal’).values(‘id’)
else:
id = uuid4()
g.addV(’employee’).property(T.id, id).property(‘name’, ‘Thirumal’).iterate()
logging.debug(“El ID es {}”.format(id))
davy.ai
Para obtener o crear un vértice/arista en Apache TinkerPop Gremlin en una sola consulta, puedes usar el paso
coalesce()
.El paso
coalesce()
toma múltiples fuentes de recorrido como argumentos y devuelve el primer resultado no vacío.Por ejemplo, para obtener o crear un vértice con la propiedad
name
establecida enthirumal
, puedes usar la siguiente consulta:Esta consulta primero intentará encontrar un vértice con la propiedad
name
establecida enthirumal
. Si encuentra uno, devuelve ese vértice. Si no encuentra ninguno, agrega un nuevo vértice con un UUID generado aleatoriamente y la propiedadname
establecida enthirumal
, y devuelve ese vértice.De manera similar, puedes utilizar
coalesce()
para obtener o crear una arista entre dos vértices con una etiqueta y propiedades específicas.