Neo4j – Crear restricción única

En una base de datos de Neo4j, el comando CQL CREATE siempre crea un nuevo nodo o relación, lo que significa que incluso si usa los mismos valores, inserta una nueva fila. Debido a los requisitos de nuestra aplicación para algunos nodos o relaciones, debemos evitar esta duplicación. Para hacer esto, tenemos que usar algunas restricciones de la base de datos para crear una regla para una o más propiedades de un nodo o relación.

Al igual que SQL, la base de datos Neo4j también admite restricciones ÚNICAS en propiedades de relación o nodo. La restricción ÚNICA se usa para evitar registros duplicados y para hacer cumplir la regla de integridad de datos.

Crea una restricción ÚNICA

Neo4j CQL proporciona el comando «CREATE CONSTRAINT» para crear restricciones únicas en las propiedades o relaciones de los nodos.

Sintaxis

A continuación se muestra la sintaxis para crear una restricción ÚNICA en Neo4j.

MATCH (root {name: "Dhawan"}) 
CREATE UNIQUE (root)-[:LOVES]-(someone) 
RETURN someone 

Ejemplo

Antes de continuar con el ejemplo, cree 4 nodos como se muestra a continuación.

CREATE(Dhawan:player{id:001, name: "shikar Dhawan", YOB: 1995, POB: "Delhi"}) 
CREATE(Jonathan:player {id:002, name: "Jonathan Trott", YOB: 1981, POB: "CapeTown"}) 
CREATE(Sangakkara:player {id:003, name: "Kumar Sangakkara", YOB: 1977, POB: "Matale"}) 
CREATE(Rohit:player {id:004, name: "Rohit Sharma", YOB: 1987, POB: "Nagpur"}) 
CREATE(Virat:player {id:005, name: "Virat Kohli", YOB: 1988, POB: "Delhi"}) 

A continuación se muestra un ejemplo de Cypher Query para crear una restricción ÚNICA en un ID de propiedad usando Neo4j.

CREATE CONSTRAINT ON (n:player) ASSERT n.id IS UNIQUE

Para cumplir con la consulta anterior, siga estos pasos:

Paso 1 – Abra la aplicación de escritorio Neo4j e inicie el servidor Neo4j. Abra la aplicación de navegador Neo4j incorporada usando la URL http: // localhost: 7474 / como se muestra en la siguiente captura de pantalla.

Aplicación de navegador

Paso 2 – Copie y pegue la consulta deseada en el indicador de dólar y haga clic en el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Crear único

Resultado

Al hacer esto, obtendrá el siguiente resultado.

Limitación añadida

Controlar

Ahora intente agregar otro nodo con un valor de identificador redundante. Aquí estamos tratando de crear un nodo con id. 002

CREATE (Jadeja:player {id:002, name: "Ravindra Jadeja", YOB: 1988, POB: "NavagamGhed"}) 

Si ejecuta esta solicitud, recibirá un error como se muestra en la siguiente captura de pantalla.

Jugar una marca de nodo

🚫