2014-07-01 3 views
0

Je me demandais s'il est possible de créer une relation ou de retourner échouer si elle existe via une requête Cypher via REST. De plus, je ne veux créer aucun type d'index.Neo4J API Rest: Créer une relation UNIQUE ou renvoyer FAIL sans indexation

Ceci est mon cas d'utilisation: L'utilisateur ne peut aimer un commentaire qu'une seule fois. Donc, je veux créer la relation (utilisateur) - [: LIKES] -> (commentaire) ou retourner échouer si elle existe, en utilisant une requête Cypher via REST.

Mon approche est d'utiliser CREATE UNIQUE et RETURN un type de code que j'interpréterai dans mon back-end pour savoir si je dois envoyer 409 Conflict au client back-end. Mais cette approche semble désordonnée ...

Une idée? Merci.

Répondre

1

Si vous souhaitez mettre une propriété dans votre relation LIKES, vous pouvez faire quelque chose comme ceci.

WITH timestamp() AS now 
MERGE (user)-[like:LIKES]->(comment) 
ON CREATE SET like.created_at = timestamp() 
RETURN like.created_at >= now 

Si la requête renvoie true vous savez comme a été créé sinon il existait auparavant et vous pouvez le gérer en conséquence.

Questions connexes