Neo4j - Guía rápida

Neo4j es la base de datos gráfica de código abierto líder en el mundo que se desarrolla utilizando tecnología Java. Es altamente escalable y sin esquema (NoSQL).

¿Qué es una base de datos gráfica?

Un gráfico es una representación pictórica de un conjunto de objetos donde algunos pares de objetos están conectados por enlaces. Está compuesto por dos elementos: nodos (vértices) y relaciones (bordes).

La base de datos de gráficos es una base de datos que se utiliza para modelar los datos en forma de gráfico. Aquí, los nodos de un gráfico representan las entidades, mientras que las relaciones representan la asociación de estos nodos.

Bases de datos de gráficos populares

Neo4j es una popular base de datos de gráficos. Otras bases de datos de gráficos son Oracle NoSQL Database, OrientDB, HypherGraphDB, GraphBase, InfiniteGraph y AllegroGraph.

¿Por qué graficar bases de datos?

Hoy en día, la mayoría de los datos existe en forma de relación entre diferentes objetos y, más a menudo, la relación entre los datos es más valiosa que los datos en sí.

Las bases de datos relacionales almacenan datos altamente estructurados que tienen varios registros que almacenan el mismo tipo de datos, por lo que pueden usarse para almacenar datos estructurados y no almacenan las relaciones entre los datos.

A diferencia de otras bases de datos, las bases de datos de gráficos almacenan relaciones y conexiones como entidades de primera clase.

El modelo de datos para bases de datos de gráficos es más simple en comparación con otras bases de datos y se pueden utilizar con sistemas OLTP. Proporcionan características como integridad transaccional y disponibilidad operativa.

RDBMS Vs base de datos de gráficos

A continuación se muestra la tabla que compara las bases de datos relacionales y las bases de datos Graph.

No Señor RDBMS Base de datos de gráficos
1 Mesas Gráficos
2 Filas Nodos
3 Columnas y datos Propiedades y sus valores
4 Restricciones Relaciones
5 Uniones El recorrido

Ventajas de Neo4j

Las siguientes son las ventajas de Neo4j.

  • Flexible data model - Neo4j proporciona un modelo de datos flexible, simple pero potente, que se puede cambiar fácilmente según las aplicaciones y las industrias.

  • Real-time insights - Neo4j proporciona resultados basados ​​en datos en tiempo real.

  • High availability - Neo4j está altamente disponible para grandes aplicaciones empresariales en tiempo real con garantías transaccionales.

  • Connected and semi structures data - Con Neo4j, puede representar fácilmente datos conectados y semiestructurados.

  • Easy retrieval - Con Neo4j, no solo puede representar, sino también recuperar fácilmente (atravesar / navegar) datos conectados más rápido en comparación con otras bases de datos.

  • Cypher query language- Neo4j proporciona un lenguaje de consulta declarativo para representar el gráfico visualmente, utilizando una sintaxis ascii-art. Los comandos de este lenguaje están en formato legible por humanos y son muy fáciles de aprender.

  • No joins - Con Neo4j, NO requiere uniones complejas para recuperar datos conectados / relacionados, ya que es muy fácil recuperar su nodo adyacente o detalles de la relación sin uniones o índices.

Características de Neo4j

Las siguientes son las características notables de Neo4j:

  • Data model (flexible schema)- Neo4j sigue un modelo de datos llamado modelo de gráfico de propiedad nativo. Aquí, el gráfico contiene nodos (entidades) y estos nodos están conectados entre sí (representados por relaciones). Los nodos y las relaciones almacenan datos en pares clave-valor conocidos como propiedades.

    En Neo4j, no es necesario seguir un esquema fijo. Puede agregar o eliminar propiedades según los requisitos. También proporciona restricciones de esquema.

  • ACID properties - Neo4j admite reglas completas de ACID (atomicidad, consistencia, aislamiento y durabilidad).

  • Scalability and reliability- Puede escalar la base de datos aumentando el número de lecturas / escrituras y el volumen sin afectar la velocidad de procesamiento de consultas y la integridad de los datos. Neo4j también proporciona soporte parareplication para la seguridad y confiabilidad de los datos.

  • Cypher Query Language- Neo4j proporciona un poderoso lenguaje de consulta declarativo conocido como Cypher. Utiliza ASCII-art para representar gráficos. Cypher es fácil de aprender y se puede utilizar para crear y recuperar relaciones entre datos sin utilizar consultas complejas como Joins.

  • Built-in web application - Neo4j proporciona una función Neo4j BrowserAplicación web. Con esto, puede crear y consultar los datos de su gráfico.

  • Drivers - Neo4j puede trabajar con -

    • API REST para trabajar con lenguajes de programación como Java, Spring, Scala, etc.

    • Java Script para trabajar con frameworks UI MVC como Node JS.

    • Admite dos tipos de API Java: API Cypher y API Java nativa para desarrollar aplicaciones Java. Además de estos, también puedes trabajar con otras bases de datos como MongoDB, Cassandra, etc.

  • Indexing - Neo4j admite índices mediante Apache Lucence.

Modelo de datos del gráfico de propiedades de Neo4j

La base de datos de gráficos de Neo4j sigue el modelo de gráfico de propiedades para almacenar y administrar sus datos.

Las siguientes son las características clave del modelo de gráfico de propiedades:

  • El modelo representa datos en nodos, relaciones y propiedades.

  • Las propiedades son pares clave-valor

  • Los nodos se representan mediante un círculo y las relaciones se representan mediante las teclas de flecha

  • Las relaciones tienen direcciones: unidireccionales y bidireccionales

  • Cada relación contiene "Nodo de inicio" o "Desde nodo" y "Hasta nodo" o "Nodo final"

  • Tanto los nodos como las relaciones contienen propiedades

  • Relaciones conecta nodos

En Property Graph Data Model, las relaciones deben ser direccionales. Si intentamos crear relaciones sin dirección, arrojará un mensaje de error.

En Neo4j también, las relaciones deben ser direccionales. Si intentamos crear relaciones sin dirección, entonces Neo4j arrojará un mensaje de error diciendo que "Las relaciones deben ser direccionales".

La base de datos de gráficos de Neo4j almacena todos sus datos en nodos y relaciones. No necesitamos ninguna base de datos RRBMS adicional ni ninguna base de datos SQL para almacenar los datos de la base de datos de Neo4j. Almacena sus datos en términos de gráficos en su formato nativo.

Neo4j utiliza Native GPE (motor de procesamiento de gráficos) para trabajar con su formato de almacenamiento de gráficos nativo.

Los principales bloques de construcción del modelo de datos Graph DB son:

  • Nodes
  • Relationships
  • Properties

A continuación se muestra un ejemplo sencillo de un gráfico de propiedades.

Aquí, hemos representado nodos usando círculos. Las relaciones se representan mediante flechas. Las relaciones son direccionales. Podemos representar los datos de Node en términos de Propiedades (pares clave-valor). En este ejemplo, hemos representado la propiedad Id de cada nodo dentro del círculo del nodo.

En este capítulo, discutiremos cómo instalar Neo4j en su sistema usando un archivo exe.

Configuración del servidor de base de datos Neo4j con archivo exe de Windows

Siga los pasos que se indican a continuación para descargar Neo4j en su sistema.

Step 1 - Visite el sitio oficial de Neo4j usando https://neo4j.com/. Al hacer clic, este enlace lo llevará a la página de inicio del sitio web neo4j.

Step 2- Como se destaca en la captura de pantalla anterior, esta página tiene un botón Descargar en la parte superior derecha. Pinchalo.

Step 3- Esto lo redireccionará a la página de descargas, donde puede descargar la edición comunitaria y la edición empresarial de Neo4j. Descargue la edición comunitaria del software haciendo clic en el botón correspondiente.

Step 4- Esto lo llevará a la página donde puede descargar la versión comunitaria del software Neo4j compatible con diferentes sistemas operativos. Descargue el archivo correspondiente al sistema operativo deseado.

Esto descargará un archivo llamado neo4j-community_windows-x64_3_1_1.exe a su sistema como se muestra en la siguiente captura de pantalla.

Step 5 - Haga doble clic en el archivo exe para instalar Neo4j Server.

Step 6- Acepte el contrato de licencia y continúe con la instalación. Después de completar el proceso, puede observar que Neo4j está instalado en su sistema.

Iniciar el servidor

Step 1 - Haga clic en el menú de inicio de Windows e inicie el servidor de Neo4j haciendo clic en el acceso directo del menú de inicio de Neo4j.

Step 2- Al hacer clic en el acceso directo, aparecerá una ventana para la edición de la comunidad Neo4j. De forma predeterminada, selecciona c: \ Users \ [nombre de usuario] \ Documents \ Neo4j \ default.graphdb. Si lo desea, puede cambiar su ruta a un directorio diferente.

Step 3 - Haga clic en el botón "Inicio" para iniciar el servidor Neo4j.

Una vez que se inicia el servidor, puede observar que el directorio de la base de datos se completa como se muestra en la siguiente captura de pantalla.

Trabajando con Neo4j

Como se discutió en los capítulos anteriores, neo4j proporciona una aplicación de navegación incorporada para trabajar con Neo4j. Puede acceder a Neo4j usando la URLhttp://localhost:7474/

La base de datos de gráficos de Neo4j tiene los siguientes bloques de construcción:

  • Nodes
  • Properties
  • Relationships
  • Labels
  • Navegador de datos

Nodo

El nodo es una unidad fundamental de un gráfico. Contiene propiedades con pares clave-valor como se muestra en la siguiente imagen.

Aquí, Nombre de nodo = "Empleado" y contiene un conjunto de propiedades como pares clave-valor.

Propiedades

La propiedad es un par clave-valor para describir las relaciones y los nodos del gráfico.

Key = Value

Donde la clave es una cadena y el valor se puede representar utilizando cualquier tipo de datos de Neo4j.

Relaciones

Las relaciones son otro componente importante de una base de datos gráfica. Conecta dos nodos como se muestra en la siguiente figura.

Aquí, Emp y Dept son dos nodos diferentes. "WORKS_FOR" es una relación entre los nodos Emp y Dept.

Como lo indica, la marca de flecha de Emp a Dept, esta relación describe:

Emp WORKS_FOR Dept

Cada relación contiene un nodo inicial y un nodo final.

Aquí, "Emp" es un nodo de inicio y "Dept" es un nodo final.

Como esta marca de flecha de relación representa una relación entre el nodo "Emp" y el nodo "Dept", esta relación se conoce como "Relación entrante" con el nodo "Dept" y "Relación saliente" con el nodo "Emp".

Al igual que los nodos, las relaciones también pueden contener propiedades como pares clave-valor.

Aquí, la relación "WORKS_FOR" tiene una propiedad como par clave-valor.

Id = 123

Representa un Id de esta relación.

Etiquetas

Etiqueta asocia un nombre común a un conjunto de nodos o relaciones. Un nodo o relación puede contener una o más etiquetas. Podemos crear nuevas etiquetas para nodos o relaciones existentes. Podemos eliminar las etiquetas existentes de los nodos o relaciones existentes.

Del diagrama anterior, podemos observar que hay dos nodos.

El nodo del lado izquierdo tiene una Etiqueta: "Emp" y el nodo del lado derecho tiene una Etiqueta: "Dept".

La relación entre esos dos nodos también tiene una Etiqueta: "WORKS_FOR".

Note - Neo4j almacena datos en Propiedades de Nodos o Relaciones.

Navegador de datos Neo4j

Una vez que instalemos Neo4j, podemos acceder al navegador de datos de Neo4j usando la siguiente URL

http://localhost:7474/browser/

El navegador de datos Neo4j se utiliza para ejecutar comandos CQL y ver la salida.

Aquí, necesitamos ejecutar todos los comandos CQL en el indicador de dólar: "$"

Escriba comandos después del símbolo del dólar y haga clic en el botón "Ejecutar" para ejecutar sus comandos.

Interactúa con el servidor de base de datos Neo4j, recupera y muestra los resultados justo debajo del indicador de dólar.

Utilice el botón "Vista VI" para ver los resultados en formato de diagrama. El diagrama anterior muestra los resultados en formato "Vista de interfaz de usuario".

Utilice el botón "Vista de cuadrícula" para ver los resultados en la Vista de cuadrícula. El siguiente diagrama muestra los mismos resultados en formato "Vista de cuadrícula".

Cuando usamos "Vista de cuadrícula" para ver los resultados de nuestra consulta, podemos exportarlos a un archivo en dos formatos diferentes.

CSV

Haga clic en el botón "Exportar CSV" para exportar los resultados en formato de archivo csv.

JSON

Haga clic en el botón "Exportar JSON" para exportar los resultados en formato de archivo JSON.

Sin embargo, si usamos "UI View" para ver los resultados de nuestra consulta, podemos exportarlos a un archivo en un solo formato: JSON

CQL son las siglas de Cypher Query Language. Al igual que Oracle Database tiene el lenguaje de consulta SQL, Neo4j tiene CQL como lenguaje de consulta.

Neo4j CQL

  • Es un lenguaje de consulta para Neo4j Graph Database.
  • Es un lenguaje declarativo de coincidencia de patrones.
  • Sigue la sintaxis de SQL.
  • La sintaxis es muy simple y está en formato legible por humanos.

Como Oracle SQL

  • Neo4j CQL tiene comandos para realizar operaciones de base de datos.

  • Neo4j CQL admite muchas cláusulas como WHERE, ORDER BY, etc., para escribir consultas muy complejas de una manera fácil.

  • Neo4j CQL admite algunas funciones como String, Aggregation. Además de ellos, también admite algunas funciones de relación.

Cláusulas CQL de Neo4j

A continuación se muestran las cláusulas de lectura de Neo4j Cypher Query Language -

No Señor Leer cláusulas Uso
1 PARTIDO Esta cláusula se utiliza para buscar los datos con un patrón específico.
2 PARTIDO OPCIONAL Esto es lo mismo que la coincidencia, la única diferencia es que puede usar nulos en caso de que falten partes del patrón.
3 DÓNDE Esta identificación de cláusula se utiliza para agregar contenido a las consultas CQL.
4 COMIENZO Esta cláusula se utiliza para encontrar los puntos de partida a través de los índices heredados.
5 CARGAR CSV Esta cláusula se utiliza para importar datos de archivos CSV.

Las siguientes son las cláusulas de escritura de Neo4j Cypher Query Language -

No Señor Escribir cláusula Uso
1 CREAR Esta cláusula se utiliza para crear nodos, relaciones y propiedades.
2 UNIR Esta cláusula verifica si el patrón especificado existe en el gráfico. Si no, crea el patrón.
3 CONJUNTO Esta cláusula se utiliza para actualizar etiquetas en nodos, propiedades en nodos y relaciones.
4 ELIMINAR Esta cláusula se utiliza para eliminar nodos y relaciones o rutas, etc. del gráfico.
5 ELIMINAR Esta cláusula se utiliza para eliminar propiedades y elementos de nodos y relaciones.
6 PARA CADA Esta clase se usa para actualizar los datos dentro de una lista.
7 CREA ÚNICO Usando las cláusulas CREATE y MATCH, puede obtener un patrón único al hacer coincidir el patrón existente y crear el que falta.
8 Importación de archivos CSV con Cypher Con Load CSV puede importar datos de archivos .csv.

A continuación se presentan las cláusulas generales de Neo4j Cypher Query Language -

No Señor Cláusulas generales Uso
1 REGRESO Esta cláusula se utiliza para definir qué incluir en el conjunto de resultados de la consulta.
2 PEDIR POR Esta cláusula se utiliza para organizar la salida de una consulta en orden. Se usa junto con las cláusulas.RETURN o WITH.
3 LÍMITE Esta cláusula se utiliza para limitar las filas del resultado a un valor específico.
4 OMITIR Esta cláusula se utiliza para definir desde qué fila comenzar a incluir las filas en la salida.
5 CON Esta cláusula se utiliza para encadenar las partes de la consulta.
6 RELAJARSE Esta cláusula se usa para expandir una lista en una secuencia de filas.
7 UNIÓN Esta cláusula se utiliza para combinar el resultado de varias consultas.
8 LLAMADA Esta cláusula se utiliza para invocar un procedimiento desplegado en la base de datos.

Funciones de Neo4j CQL

Las siguientes son las funciones de Neo4j CQL de uso frecuente:

No Señor Funciones CQL Uso
1 Cuerda Se utilizan para trabajar con literales String.
2 Agregación Se utilizan para realizar algunas operaciones de agregación en los resultados de la consulta CQL.
3 Relación Se utilizan para obtener detalles de relaciones como startnode, endnode, etc.

Discutiremos todos los comandos, cláusulas y funciones de Neo4j CQL, sintaxis, uso y ejemplos en detalle en los capítulos siguientes.

Tipos de datos de Neo4j CQL

Estos tipos de datos son similares al lenguaje Java. Se utilizan para definir propiedades de un nodo o una relación.

Neo4j CQL admite los siguientes tipos de datos:

No Señor Tipo de datos CQL Uso
1 Booleano Se utiliza para representar literales booleanos: verdadero, falso.
2 byte Se utiliza para representar números enteros de 8 bits.
3 corto Se utiliza para representar números enteros de 16 bits.
4 En t Se utiliza para representar números enteros de 32 bits.
5 largo Se utiliza para representar números enteros de 64 bits.
6 flotador Se utiliza para representar números de coma flotante de 32 bits.
7 doble Se utiliza para representar números de coma flotante de 64 bits.
8 carbonizarse Se utiliza para representar caracteres de 16 bits.
9 Cuerda Se utiliza para representar cadenas.

Operadores CQL

A continuación se muestra la lista de operadores admitidos por el lenguaje Cypher Query de Neo4j.

No Señor Tipo Operadores
1 Matemático +, -, *, /,%, ^
2 Comparación +, <>, <,>, <=,> =
3 Booleano Y, O, XOR, NO
4 Cuerda +
5 Lista +, IN, [X], [X… ..Y]
6 Expresión regular = -
7 Coincidencia de cadenas EMPIEZA CON, TERMINA CON, LIMITACIONES

Operadores booleanos en Neo4j CQL

Neo4j admite los siguientes operadores booleanos para usar en la cláusula WHERE de Neo4j CQL para admitir múltiples condiciones.

No Señor Operadores booleanos Descripción
1 Y Es una palabra clave de Neo4j CQL para soportar la operación AND. Es como el operador SQL AND.
2 O Es una palabra clave de Neo4j CQL para soportar la operación OR. Es como el operador SQL AND.
3 NO Es una palabra clave de Neo4j CQL para admitir la operación NOT. Es como el operador SQL AND.
4 XOR Es una palabra clave de Neo4j CQL para admitir la operación XOR. Es como el operador SQL AND.

Operadores de comparación en Neo4j CQL

Neo4j admite los siguientes operadores de comparación para usar en la cláusula WHERE de Neo4j CQL para admitir condiciones.

No Señor Operadores booleanos Descripción
1 = Es un operador "Igual a" de Neo4j CQL.
2 <> Es un operador de Neo4j CQL "No es igual a".
3 < Es un operador "Menor que" de Neo4j CQL.
4 > Es un operador "mayor que" de Neo4j CQL.
5 <= Es un operador "Menor o igual a" de Neo4j CQL.
6 > = Es un operador "Mayor o igual a" de Neo4j CQL.

Como se discutió, un nodo es un registro de datos en una base de datos gráfica. Puede crear un nodo en Neo4j usando elCREATEcláusula. Este capítulo le enseña cómo:

  • Crea un solo nodo
  • Crea múltiples nodos
  • Crea un nodo con una etiqueta
  • Crea un nodo con múltiples etiquetas
  • Crea un nodo con propiedades
  • Devolviendo el nodo creado

Crear un solo nodo

Puede crear un nodo en Neo4j simplemente especificando el nombre del nodo que se creará junto con la cláusula CREATE.

Sintaxis

A continuación se muestra la sintaxis para crear un nodo utilizando Cypher Query Language.

CREATE (node_name);

Note - El punto y coma (;) es opcional.

Ejemplo

A continuación se muestra una consulta cifrada de muestra que crea un nodo en Neo4j.

CREATE (sample)

Para ejecutar la consulta anterior, realice los siguientes pasos:

Step 1 - Abra la aplicación de escritorio Neo4j e inicie el servidor Neo4j como se muestra en la siguiente captura de pantalla.

Step 2 - Abra su navegador, copie y pegue la siguiente URL en su barra de direcciones http://localhost:7474/. Esto le dará la aplicación de navegador incorporada de Neo4j con un indicador de dólar como se muestra en la siguiente captura de pantalla.

Step 3 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Verificación

Para verificar la creación del tipo de nodo, ejecute la siguiente consulta en el indicador de dólar.

MATCH (n) RETURN n

Esta consulta devuelve todos los nodos de la base de datos (analizaremos esta consulta en detalle en los próximos capítulos).

Al ejecutarse, esta consulta muestra el nodo creado como se muestra en la siguiente captura de pantalla.

Crear múltiples nodos

La cláusula de creación de Neo4j CQL también se utiliza para crear varios nodos al mismo tiempo. Para hacerlo, debe pasar los nombres de los nodos a crear, separados por una coma.

Sintaxis

A continuación se muestra la sintaxis para crear varios nodos utilizando la cláusula CREATE.

CREATE (node1),(node2)

Ejemplo

A continuación se muestra una consulta cifrada de muestra que crea varios nodos en Neo4j.

CREATE (sample1),(sample2)

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Verificación

Para verificar la creación del nodo, escriba y ejecute la siguiente consulta en el indicador de dólar.

MATCH (n) RETURN n

Esta consulta devuelve todos los nodos de la base de datos (analizaremos esta consulta en detalle en los próximos capítulos).

Al ejecutarse, esta consulta muestra el nodo creado como se muestra en la siguiente captura de pantalla.

Crear un nodo con una etiqueta

Una etiqueta en Neo4j se usa para agrupar (clasificar) los nodos usando etiquetas. Puede crear una etiqueta para un nodo en Neo4j usando la cláusula CREATE.

Sintaxis

A continuación se muestra la sintaxis para crear un nodo con una etiqueta utilizando Cypher Query Language.

CREATE (node:label)

Ejemplo

A continuación se muestra una consulta cifrada de muestra que crea un nodo con una etiqueta.

CREATE (Dhawan:player)

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Verificación

Para verificar la creación del nodo, escriba y ejecute la siguiente consulta en el indicador de dólar.

MATCH (n) RETURN n

Esta consulta devuelve todos los nodos de la base de datos (analizaremos esta consulta en detalle en los próximos capítulos).

Al ejecutarse, esta consulta muestra el nodo creado como se muestra en la siguiente captura de pantalla.

Crear un nodo con varias etiquetas

También puede crear varias etiquetas para un solo nodo. Debe especificar las etiquetas para el nodo separándolas con dos puntos “:”.

Sintaxis

A continuación se muestra la sintaxis para crear un nodo con múltiples etiquetas.

CREATE (node:label1:label2:. . . . labeln)

Ejemplo

A continuación se muestra una consulta cifrada de muestra que crea un nodo con varias etiquetas en Neo4j.

CREATE (Dhawan:person:player)

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Verificación

Para verificar la creación del nodo, escriba y ejecute la siguiente consulta en el indicador de dólar.

MATCH (n) RETURN n

Esta consulta devuelve todos los nodos de la base de datos (analizaremos esta consulta en detalle en los próximos capítulos).

Al ejecutarse, esta consulta muestra el nodo creado como se muestra en la siguiente captura de pantalla.

Crear nodo con propiedades

Las propiedades son los pares clave-valor con los que un nodo almacena datos. Puede crear un nodo con propiedades utilizando la cláusula CREATE. Debe especificar estas propiedades separadas por comas dentro de las llaves de flores "{}".

Sintaxis

A continuación se muestra la sintaxis para crear un nodo con propiedades.

CREATE (node:label { key1: value, key2: value, . . . . . . . . .  })

Ejemplo

A continuación se muestra una consulta cifrada de muestra que crea un nodo con propiedades.

CREATE (Dhawan:player{name: "Shikar Dhawan", YOB: 1985, POB: "Delhi"})

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Verificación

Para verificar la creación del nodo, escriba y ejecute la siguiente consulta en el indicador de dólar.

MATCH (n) RETURN n

Esta consulta devuelve todos los nodos de la base de datos (analizaremos esta consulta en detalle en los próximos capítulos).

Al ejecutarse, esta consulta muestra el nodo creado como se muestra en la siguiente captura de pantalla.

Devolver el nodo creado

A lo largo del capítulo, usamos el MATCH (n) RETURN nconsulta para ver los nodos creados. Esta consulta devuelve todos los nodos existentes en la base de datos.

En lugar de esto, podemos usar la cláusula RETURN con CREATE para ver el nodo recién creado.

Sintaxis

A continuación se muestra la sintaxis para devolver un nodo en Neo4j.

CREATE (Node:Label{properties. . . . }) RETURN Node

Ejemplo

A continuación se muestra una consulta cifrada de muestra que crea un nodo con propiedades y lo devuelve.

CREATE (Dhawan:player{name: "Shikar Dhawan", YOB: 1985, POB: "Delhi"}) RETURN Dhawan

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

En Noe4j, una relación es un elemento mediante el cual conectamos dos nodos de un gráfico. Estas relaciones tienen patrones de datos de dirección, tipo y forma. Este capítulo le enseña cómo:

  • Crea relaciones
  • Crea una relación entre los nodos existentes
  • Crea una relación con etiqueta y propiedades

Creando relaciones

Podemos crear una relación usando la cláusula CREATE. Especificaremos la relación dentro de las llaves “[]” dependiendo de la dirección de la relación en la que se coloca entre el guión “-” y la flecha “→” como se muestra en la siguiente sintaxis.

Sintaxis

A continuación se muestra la sintaxis para crear una relación utilizando la cláusula CREATE.

CREATE (node1)-[:RelationshipType]->(node2)

Ejemplo

En primer lugar, cree dos nodos Ind y Dhawan en la base de datos, como se muestra a continuación.

CREATE (Dhawan:player{name: "Shikar Dhawan", YOB: 1985, POB: "Delhi"}) 
CREATE (Ind:Country {name: "India"})

Ahora, crea una relación llamada BATSMAN_OF entre estos dos nodos como -

CREATE (Dhawan)-[r:BATSMAN_OF]->(Ind)

Finalmente, devuelva ambos nodos para ver la relación creada.

RETURN Dhawan, Ind

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

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Crear una relación entre los nodos existentes

También puede crear una relación entre los nodos existentes utilizando el MATCH cláusula.

Sintaxis

A continuación se muestra la sintaxis para crear una relación utilizando la cláusula MATCH.

MATCH (a:LabeofNode1), (b:LabeofNode2) 
   WHERE a.name = "nameofnode1" AND b.name = " nameofnode2" 
CREATE (a)-[: Relation]->(b) 
RETURN a,b

Ejemplo

A continuación se muestra una consulta cifrada de muestra que crea una relación mediante la cláusula de coincidencia.

MATCH (a:player), (b:Country) WHERE a.name = "Shikar Dhawan" AND b.name = "India" 
CREATE (a)-[r: BATSMAN_OF]->(b) 
RETURN a,b

Para ejecutar la consulta anterior, realice los siguientes pasos.

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Crear una relación con etiqueta y propiedades

Puede crear una relación con la etiqueta y las propiedades utilizando la cláusula CREATE.

Sintaxis

A continuación se muestra la sintaxis para crear una relación con la etiqueta y las propiedades mediante la cláusula CREATE.

CREATE (node1)-[label:Rel_Type {key1:value1, key2:value2, . . . n}]-> (node2)

Ejemplo

A continuación se muestra una consulta cifrada de muestra que crea una relación con la etiqueta y las propiedades.

MATCH (a:player), (b:Country) WHERE a.name = "Shikar Dhawan" AND b.name = "India" 
CREATE (a)-[r:BATSMAN_OF {Matches:5, Avg:90.75}]->(b)  
RETURN a,b

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Crear una ruta completa

En Neo4j, se forma un camino utilizando relaciones continuas. Se puede crear una ruta utilizando la cláusula de creación.

Sintaxis

A continuación se muestra la sintaxis para crear una ruta en Neo4j utilizando la cláusula CREATE.

CREATE p = (Node1 {properties})-[:Relationship_Type]->
   (Node2 {properties})[:Relationship_Type]->(Node3 {properties}) 
RETURN p

Ejemplo

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

El comando MERGE es una combinación del comando CREATE y el comando MATCH.

El comando Neo4j CQL MERGE busca un patrón dado en el gráfico. Si existe, devuelve los resultados.

Si NO existe en el gráfico, crea un nuevo nodo / relación y devuelve los resultados.

En este capítulo aprenderá a:

  • Fusionar un nodo con etiqueta
  • Fusionar un nodo con propiedades
  • OnCreate y OnMatch
  • Fusionar una relación

Sintaxis

A continuación se muestra la sintaxis del comando MERGE.

MERGE (node: label {properties . . . . . . . })

Antes de continuar con los ejemplos de esta sección, cree dos nodos en la base de datos con las etiquetas Dhawan e Ind. Cree una relación de tipo “BATSMAN_OF” de Dhawan a Ind como se muestra a continuación.

CREATE (Dhawan:player{name: "Shikar Dhawan", YOB: 1985, POB: "Delhi"}) 
CREATE (Ind:Country {name: "India"}) 
CREATE (Dhawan)-[r:BATSMAN_OF]->(Ind)

Fusionar un nodo con una etiqueta

Puede fusionar un nodo en la base de datos basándose en la etiqueta utilizando la cláusula MERGE. Si intenta fusionar un nodo basado en la etiqueta, Neo4j verifica si existe algún nodo con la etiqueta dada. De lo contrario, se creará el nodo actual.

Sintaxis

A continuación se muestra la sintaxis para fusionar un nodo en función de una etiqueta.

MERGE (node:label) RETURN node

Ejemplo 1

A continuación se muestra una consulta de cifrado de muestra que fusiona un nodo en Neo4j (según la etiqueta). Al ejecutar esta consulta, Neo4j verifica si hay algún nodo con la etiquetaplayer. Si no, crea un nodo llamado "Jadeja" y lo devuelve.

Si existe algún nodo con la etiqueta dada, Neo4j los devuelve todos.

MERGE (Jadeja:player) RETURN Jadeja

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado. Como ya ha creado un nodo llamado "Dhawan" con la etiqueta "reproductor" en la base de datos, Neo4j lo devuelve como se muestra en la siguiente captura de pantalla.

Ejemplo 2

Ahora, intente fusionar un nodo llamado "CT2013" con una etiqueta llamada Torneo. Como no hay nodos con esta etiqueta, Neo4j crea un nodo con el nombre dado y lo devuelve.

MERGE (CT2013:Tournament{name: "ICC Champions Trophy 2013"}) 
RETURN CT2013, labels(CT2013)

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado. Como se discutió, ya que no hay ningún nodo con la etiqueta dada (Torneo). Neo4j crea y devuelve el nodo especificado como se muestra en la siguiente captura de pantalla.

Fusionar un nodo con propiedades

También puede fusionar un nodo con un conjunto de propiedades. Si lo hace, Neo4j busca una coincidencia igual para el nodo especificado, incluidas las propiedades. Si no encuentra ninguno, crea uno.

Sintaxis

A continuación se muestra la sintaxis para fusionar un nodo utilizando propiedades.

MERGE (node:label {key1:value, key2:value, key3:value . . . . . . . . })

Ejemplo

A continuación se muestra una consulta cifrada de muestra para fusionar un nodo mediante propiedades. Esta consulta intenta fusionar el nodo llamado "jadeja" usando propiedades y etiqueta. Dado que no existe tal nodo con la etiqueta y las propiedades exactas, Neo4j crea uno.

MERGE (Jadeja:player {name: "Ravindra Jadeja", YOB: 1988, POB: "NavagamGhed"}) 
RETURN Jadeja

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado. Como se discutió, dado que no hay nodos con la etiqueta y propiedades especificadas, crea uno, como se muestra en la siguiente captura de pantalla.

OnCreate y OnMatch

Siempre que ejecutamos una consulta de combinación, se hace coincidir o se crea un nodo. Usando on create y on match, puede establecer propiedades para indicar si el nodo se creó o coincide.

Sintaxis

A continuación se muestra la sintaxis de OnCreate y OnMatch cláusulas.

MERGE (node:label {properties . . . . . . . . . . .}) 
ON CREATE SET property.isCreated ="true" 
ON MATCH SET property.isFound ="true"

Ejemplo

A continuación se muestra una consulta de cifrado de muestra que demuestra el uso de OnCreate y OnMatchcláusulas en Neo4j. Si el nodo especificado ya existe en la base de datos, el nodo coincidirá y la propiedad con el par clave-valor isFound = "true" se creará en el nodo.

Si el nodo especificado no existe en la base de datos, entonces se creará el nodo y dentro de él se creará una propiedad con un par clave-valor isCreated = "true".

MERGE (Jadeja:player {name: "Ravindra Jadeja", YOB: 1988, POB: "NavagamGhed"}) 
ON CREATE SET Jadeja.isCreated = "true" 
ON MATCH SET Jadeja.isFound = "true" 
RETURN Jadeja

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado. Como se discutió, dado que no hay ningún nodo con los detalles especificados, Neo4j lo creó junto con la propiedadisFound como se muestra en la siguiente captura de pantalla.

Fusionar una relación

Al igual que los nodos, también puede fusionar las relaciones utilizando la cláusula MERGE.

Ejemplo

A continuación se muestra una consulta cifrada de muestra que fusiona una relación mediante la cláusula MATCH en Neo4j. Esta consulta intenta fusionar una relación denominadaWINNERS_OF entre los nodos “ind” (etiqueta: País y nombre: India) e ICC13 (etiqueta: Torneo y nombre: ICC Champions Trophy 2013).

Dado que tal relación no existe, Neo4j crea una.

MATCH (a:Country), (b:Tournament) 
   WHERE a.name = "India" AND b.name = "ICC Champions Trophy 2013" 
   MERGE (a)-[r:WINNERS_OF]->(b) 
RETURN a, b

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado. Dado que la relación especificada no existe en la base de datos, Neo4j crea una como se muestra en la siguiente captura de pantalla.

De la misma manera, puede fusionar múltiples relaciones y relaciones no dirigidas también.

Con la cláusula Establecer, puede agregar nuevas propiedades a un Nodo o Relación existente, y también agregar o actualizar valores de Propiedades existentes.

En este capítulo, vamos a discutir cómo:

  • Establecer una propiedad
  • Quitar una propiedad
  • Establecer múltiples propiedades
  • Establecer una etiqueta en un nodo
  • Establecer varias etiquetas en un nodo

Establecer una propiedad

Usando la cláusula SET, puede crear una nueva propiedad en un nodo.

Sintaxis

A continuación se muestra la sintaxis para establecer una propiedad.

MATCH (node:label{properties . . . . . . . . . . . . . . }) 
SET node.property = value 
RETURN node

Ejemplo

Antes de continuar con el ejemplo, primero cree un nodo llamado Dhawan como se muestra a continuación.

CREATE (Dhawan:player{name: "shikar Dhawan", YOB: 1985, POB: "Delhi"})

A continuación se muestra una consulta cifrada de muestra para crear una propiedad denominada "puntuación más alta" con el valor "187" .

MATCH (Dhawan:player{name: "shikar Dhawan", YOB: 1985, POB: "Delhi"}) 
SET Dhawan.highestscore = 187 
RETURN Dhawan

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado. Aquí puede observar que se crea una propiedad con un par clave-valor puntaje más alto / 187 en el nodo llamado "Dhawan".

Eliminar una propiedad

Puede eliminar una propiedad existente pasando NULL como valor para ella.

Sintaxis

A continuación se muestra la sintaxis de eliminar una propiedad de un nodo mediante la cláusula SET.

MATCH (node:label {properties}) 
SET node.property = NULL 
RETURN node

Ejemplo

Antes de continuar con el ejemplo, primero cree un nodo "jadeja" como se muestra a continuación.

Create (Jadeja:player {name: "Ravindra Jadeja", YOB: 1988, POB: "NavagamGhed"})

A continuación se muestra una consulta cifrada de muestra que elimina la propiedad denominada POB de este nodo mediante la cláusula SET como se muestra a continuación.

MATCH (Jadeja:player {name: "Ravindra Jadeja", YOB: 1988, POB: "NavagamGhed"}) 
SET Jadeja.POB = NULL 
RETURN Jadeja

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado. Aquí puede observar que la variable denominadaPOB fué borrado.

Establecer varias propiedades

De la misma forma, puede crear varias propiedades en un nodo usando la cláusula Set. Para hacerlo, debe especificar estos pares clave-valor con comas.

Sintaxis

A continuación se muestra la sintaxis para crear múltiples propiedades en un nodo usando la cláusula SET.

MATCH (node:label {properties}) 
SET node.property1 = value, node.property2 = value 
RETURN node

Ejemplo

A continuación se muestra una consulta cifrada de muestra que crea múltiples propiedades en un nodo utilizando la cláusula SET en Neo4j.

MATCH (Jadeja:player {name: "Ravindra Jadeja", YOB: 1988})  
SET Jadeja.POB: "NavagamGhed", Jadeja.HS = "90" 
RETURN Jadeja

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado. Aquí se puede observar que se crearon propiedades denominadas POB y HS.

Establecer una etiqueta en un nodo

Puede establecer una etiqueta para un nodo existente mediante la cláusula SET.

Sintaxis

A continuación se muestra la sintaxis para establecer una etiqueta en un nodo existente.

MATCH (n {properties . . . . . . . }) 
SET n :label 
RETURN n

Ejemplo

Antes de continuar con el ejemplo, primero cree un nodo "Anderson" como se muestra a continuación.

CREATE (Anderson {name: "James Anderson", YOB: 1982, POB: "Burnely"})

A continuación se muestra una consulta cifrada de muestra para establecer una etiqueta en un nodo mediante la cláusula SET. Esta consulta agrega la etiqueta "jugador" al nodo Anderson y la devuelve.

MATCH (Anderson {name: "James Anderson", YOB: 1982, POB: "Burnely"}) 
SET Anderson: player 
RETURN Anderson

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado. Aquí puede observar que la etiqueta denominada "jugador" se agrega al nodo.

Establecer varias etiquetas en un nodo

Puede establecer varias etiquetas en un nodo existente mediante la cláusula SET. Aquí debe especificar las etiquetas separándolas con dos puntos “:”.

Sintaxis

A continuación se muestra la sintaxis para establecer varias etiquetas en un nodo existente mediante la cláusula SET.

MATCH (n {properties . . . . . . . }) 
SET n :label1:label2 
RETURN n

Ejemplo

Antes de continuar con el ejemplo, primero cree un nodo llamado "Ishant" como se muestra a continuación.

CREATE (Ishant {name: "Ishant Sharma", YOB: 1988, POB: "Delhi"})

A continuación se muestra una consulta cifrada de muestra que se utiliza para crear varias etiquetas en un nodo mediante la cláusula SET.

MATCH (Ishant {name: "Ishant Sharma", YOB: 1988, POB: "Delhi"}) 
SET Ishant: player:person 
RETURN Ishant

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado. Aquí puede observar que se agregan dos etiquetas, persona y jugador, al nodo llamadoIshant.

Puede eliminar nodos y relaciones de una base de datos utilizando la cláusula DELETE.

Eliminar todos los nodos y relaciones

A continuación se muestra la consulta para eliminar todos los nodos y las relaciones en la base de datos usando la cláusula DELETE.

Consulta

MATCH (n) DETACH DELETE n

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Esto eliminará todos los nodos y relaciones de su base de datos neo4j y la dejará vacía.

Eliminar un nodo en particular

Para eliminar un nodo en particular, debe especificar los detalles del nodo en el lugar de "n" en la consulta anterior.

Sintaxis

A continuación se muestra la sintaxis para eliminar un nodo en particular de Neo4j usando la cláusula DELETE.

MATCH (node:label {properties . . . . . . . . . .  }) 
DETACH DELETE node

Ejemplo

Antes de continuar con el ejemplo, cree un nodo "Ishant" en la base de datos de Neo4j como se muestra a continuación.

CREATE (Ishant:player {name: "Ishant Sharma", YOB: 1988, POB: "Delhi"})

A continuación se muestra una consulta de cifrado de muestra que elimina el nodo creado anteriormente mediante la cláusula DELETE.

MATCH (Ishant:player {name: "Ishant Sharma", YOB: 1988, POB: "Delhi"}) 
DETACH DELETE Ishant

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado. Aquí puede observar que se elimina el nodo especificado.

La cláusula REMOVE se utiliza para eliminar propiedades y etiquetas de los elementos del gráfico (nodos o relaciones).

La principal diferencia entre los comandos Neo4j CQL DELETE y REMOVE es:

  • La operación DELETE se utiliza para eliminar nodos y relaciones asociadas.
  • La operación REMOVE se utiliza para eliminar etiquetas y propiedades.

Eliminar una propiedad

Puede eliminar una propiedad de un nodo usando MATCH junto con la cláusula REMOVE.

Sintaxis

A continuación se muestra la sintaxis para eliminar una propiedad de un nodo mediante la cláusula REMOVE.

MATCH (node:label{properties . . . . . . . }) 
REMOVE node.property 
RETURN node

Ejemplo

Antes de continuar con el ejemplo, cree un nodo llamado Dhoni Como se muestra abajo.

CREATE (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"})

A continuación se muestra una consulta cifrada de muestra para eliminar el nodo creado anteriormente mediante la cláusula REMOVE.

MATCH (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"}) 
REMOVE Dhoni.POB 
RETURN Dhoni

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado. Aquí, puede observar que el nodo llamado POB fue eliminado.

Eliminar una etiqueta de un nodo

De manera similar a la propiedad, también puede eliminar una etiqueta de un nodo existente mediante la cláusula de eliminación.

Sintaxis

A continuación se muestra la sintaxis para eliminar una etiqueta de un nodo.

MATCH (node:label {properties . . . . . . . . . . . }) 
REMOVE node:label 
RETURN node

Ejemplo

A continuación se muestra una consulta cifrada de muestra para eliminar una etiqueta de un nodo existente mediante la cláusula de eliminación.

MATCH (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"}) 
REMOVE Dhoni:player 
RETURN Dhoni

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado. Aquí, puede observar que la etiqueta se eliminó del nodo.

Eliminar varias etiquetas

También puede eliminar varias etiquetas de un nodo existente.

Sintaxis

A continuación se muestra la sintaxis para eliminar varias etiquetas de un nodo.

MATCH (node:label1:label2 {properties . . . . . . . . }) 
REMOVE node:label1:label2 
RETURN node

Ejemplo

Antes de continuar con el ejemplo, cree un nodo Ishant como se muestra a continuación.

CREATE (Ishant:player:person {name: "Ishant Sharma", YOB: 1988, POB: "Delhi"})

A continuación se muestra una consulta cifrada de muestra para eliminar varias etiquetas de un nodo.

MATCH (Ishant:player:person {name: "Ishant Sharma", YOB: 1988, POB: "Delhi"}) 
REMOVE Ishant:player:person 
RETURN Ishant

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado. Aquí, puede observar que las etiquetas especificadas se eliminaron del nodo.

los FOREACH La cláusula se utiliza para actualizar datos dentro de una lista, ya sean componentes de una ruta o resultado de la agregación.

Sintaxis

A continuación se muestra la sintaxis de la cláusula FOREACH.

MATCH p = (start node)-[*]->(end node) 
WHERE start.node = "node_name" AND end.node = "node_name" 
FOREACH (n IN nodes(p)| SET n.marked = TRUE)

Ejemplo

Antes de continuar con el ejemplo, cree una ruta p en la base de datos de Neo4j como se muestra a continuación.

CREATE p = (Dhawan {name:"Shikar Dhawan"})-[:TOPSCORRER_OF]->(Ind{name: 
   "India"})-[:WINNER_OF]->(CT2013{name: "Champions Trophy 2013"}) 
RETURN p

A continuación se muestra una consulta de cifrado de muestra que agrega una propiedad a todos los nodos a lo largo de la ruta utilizando la cláusula FOREACH.

MATCH p = (Dhawan)-[*]->(CT2013) 
   WHERE Dhawan.name = "Shikar Dhawan" AND CT2013.name = "Champions Trophy 2013" 
FOREACH (n IN nodes(p)| SET n.marked = TRUE)

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Verificación

Para verificar la creación del nodo, escriba y ejecute la siguiente consulta en el indicador de dólar.

MATCH (n) RETURN n

Esta consulta devuelve todos los nodos de la base de datos (analizaremos esta consulta en detalle en los próximos capítulos).

Al ejecutarse, esta consulta muestra el nodo creado como se muestra en la siguiente captura de pantalla.

En este capítulo, aprenderemos sobre Match Clause y todas las funciones que se pueden realizar usando esta cláusula.

Obtener todos los nodos usando Match

Usando la cláusula MATCH de Neo4j, puede recuperar todos los nodos en la base de datos de Neo4j.

Ejemplo

Antes de continuar con el ejemplo, cree 3 nodos y 2 relaciones como se muestra a continuación.

CREATE (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"}) 
CREATE (Ind:Country {name: "India", result: "Winners"}) 
CREATE (CT2013:Tornament {name: "ICC Champions Trophy 2013"}) 
CREATE (Ind)-[r1:WINNERS_OF {NRR:0.938 ,pts:6}]->(CT2013) 

CREATE(Dhoni)-[r2:CAPTAIN_OF]->(Ind)  
CREATE (Dhawan:player{name: "shikar Dhawan", YOB: 1995, POB: "Delhi"}) 
CREATE (Jadeja:player {name: "Ravindra Jadeja", YOB: 1988, POB: "NavagamGhed"})  

CREATE (Dhawan)-[:TOP_SCORER_OF {Runs:363}]->(Ind) 
CREATE (Jadeja)-[:HIGHEST_WICKET_TAKER_OF {Wickets:12}]->(Ind)

A continuación se muestra la consulta que devuelve todos los nodos en la base de datos de Neo4j.

MATCH (n) RETURN n

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Obtener todos los nodos bajo una etiqueta específica

Usando la cláusula de coincidencia, puede obtener todos los nodos bajo una etiqueta específica.

Sintaxis

A continuación se muestra la sintaxis para obtener todos los nodos bajo una etiqueta específica.

MATCH (node:label) 
RETURN node

Ejemplo

A continuación se muestra una consulta cifrada de muestra, que devuelve todos los nodos de la base de datos bajo la etiqueta player.

MATCH (n:player) 
RETURN n

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Coincidir por relación

Puede recuperar nodos según la relación mediante la cláusula MATCH.

Sintaxis

A continuación se muestra la sintaxis de la recuperación de nodos en función de la relación mediante la cláusula MATCH.

MATCH (node:label)<-[: Relationship]-(n) 
RETURN n

Ejemplo

A continuación, se muestra una consulta cifrada de muestra para recuperar nodos según la relación mediante la cláusula MATCH.

MATCH (Ind:Country {name: "India", result: "Winners"})<-[: TOP_SCORER_OF]-(n) 
RETURN n.name

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Eliminar todos los nodos

Puede eliminar todos los nodos utilizando la cláusula MATCH.

Consulta

A continuación se muestra la consulta para eliminar todos los nodos en Neo4j.

MATCH (n) detach delete n

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

los OPTIONAL MATCH La cláusula se usa para buscar el patrón descrito en él, mientras que se usan nulos para las partes faltantes del patrón.

OPTIONAL MATCH es similar a la cláusula de coincidencia, la única diferencia es que devuelve nulo como resultado de las partes faltantes del patrón.

Sintaxis

A continuación se muestra la sintaxis de OPTIONAL MATCH con relación.

MATCH (node:label {properties. . . . . . . . . . . . . .}) 
OPTIONAL MATCH (node)-->(x) 
RETURN x

Ejemplo

A continuación se muestra una consulta de cifrado de muestra que intenta recuperar las relaciones del nodo ICCT2013. Dado que no existen tales nodos, devuelve nulo.

MATCH (a:Tornament {name: "ICC Champions Trophy 2013"}) 
OPTIONAL MATCH (a)-->(x) 
RETURN x

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado. Aquí puede observar que dado que no hay coincidencias para el patrón requerido, Neo4j devolvió nulo.

Como SQL, Neo4j CQL ha proporcionado la cláusula WHERE en el comando CQL MATCH para filtrar los resultados de una consulta MATCH.

Sintaxis

A continuación se muestra la sintaxis de la cláusula WHERE.

MATCH (label)  
WHERE label.country = "property" 
RETURN label

Ejemplo

Antes de continuar con el ejemplo, cree cinco nodos en la base de datos como se muestra a continuación.

CREATE(Dhawan:player{name:"shikar Dhawan", YOB: 1985, runs:363, country: "India"}
CREATE(Jonathan:player{name:"Jonathan Trott", YOB:1981, runs:229, country:"South Africa"}
CREATE(Sangakkara:player{name:"Kumar Sangakkara", YOB:1977, runs:222, 
   country:"Srilanka"})
CREATE(Rohit:player{name:"Rohit Sharma", YOB: 1987, runs:177, country:"India"})
CREATE(Virat:player{name:"Virat Kohli", YOB: 1988, runs:176, country:"India"})
CREATE(Ind:Country {name: "India", result: "Winners"})

A continuación se muestra una consulta cifrada de muestra que devuelve todos los jugadores (nodos) que pertenecen al país India mediante la cláusula WHERE.

MATCH (player)  
WHERE player.country = "India" 
RETURN player

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Cláusula WHERE con múltiples condiciones

También puede utilizar la cláusula WHERE para verificar varias condiciones.

Sintaxis

A continuación se muestra la sintaxis para usar la cláusula WHERE en Neo4j con múltiples condiciones.

MATCH (emp:Employee)  
WHERE emp.name = 'Abc' AND emp.name = 'Xyz' 
RETURN emp

Ejemplo

A continuación se muestra una consulta Cypher de muestra que filtra los nodos en la base de datos de Neo4j usando dos condiciones.

MATCH (player)  
WHERE player.country = "India" AND player.runs >=175 
RETURN player

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Uso de la relación con la cláusula where

También puede utilizar la cláusula Where para filtrar los nodos utilizando las relaciones.

Ejemplo

Supongamos que tenemos el siguiente gráfico en la base de datos.

A continuación se muestra una consulta cifrada de muestra para obtener el puntaje más alto de India utilizando la cláusula WHERE como se muestra a continuación.

MATCH (n) 
WHERE (n)-[: TOP_SCORER_OF]->( {name: "India", result: "Winners"}) 
RETURN n

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado. Aquí puede observar que Neo4j devolvió el nodo, que tiene la relación TOP_SCORER_OF con el país con el nodo que tiene el nombre India.

Supongamos que hemos creado un gráfico en la base de datos con los siguientes detalles.

Contar

los count() La función se utiliza para contar el número de filas.

Sintaxis

A continuación se muestra la sintaxis de la función de conteo.

MATCH (n { name: 'A' })-->(x) 
RETURN n, count(*)

Ejemplo

A continuación se muestra una consulta de cifrado de muestra que demuestra el uso de count() función.

Match(n{name: "India", result: "Winners"})--(x)  
RETURN n, count(*)

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Recuento de grupos

los COUNT La cláusula también se utiliza para contar los grupos de tipos de relaciones.

Ejemplo

A continuación se muestra una consulta de cifrado de muestra que cuenta y devuelve el número de nodos que participan en cada relación.

Match(n{name: "India", result: "Winners"})-[r]-(x)  
RETURN type (r), count(*)

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

La cláusula RETURN se utiliza para devolver nodos, relaciones y propiedades en Neo4j. En este capítulo, aprenderemos cómo:

  • Devolver nodos
  • Devuelve varios nodos
  • Relaciones de retorno
  • Propiedades de devolución
  • Devuelve todos los elementos
  • Devuelve una variable con alias de columna

Nodos de retorno

Puede devolver un nodo utilizando la cláusula RETURN.

Sintaxis

A continuación se muestra una sintaxis para devolver nodos mediante la cláusula RETURN.

Create (node:label {properties}) 
RETURN node

Ejemplo

Antes de continuar con el ejemplo, cree 3 nodos y 2 relaciones como se muestra a continuación.

Create (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"}) 
CREATE (Ind:Country {name: "India", result: "Winners"}) 
CREATE (CT2013:Tornament {name: "ICC Champions Trophy 2013"}) 
CREATE (Ind)-[r1:WINNERS_OF {NRR:0.938 ,pts:6}]->(CT2013) 
CREATE(Dhoni)-[r2:CAPTAIN_OF]->(Ind)

A continuación se muestra una consulta cifrada de muestra que crea un nodo llamado Dhoni y lo devuelve.

Create (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"}) 
RETURN Dhoni

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Devolver varios nodos

También puede devolver varios nodos mediante la cláusula de devolución.

Sintaxis

A continuación se muestra la sintaxis para devolver varios nodos utilizando la cláusula return.

CREATE (Ind:Country {name: "India", result: "Winners"}) 
CREATE (CT2013:Tornament {name: "ICC Champions Trophy 2013"}) 
RETURN Ind, CT2013

Ejemplo

A continuación, se muestra una consulta cifrada de muestra para devolver varios nodos mediante la cláusula de devolución.

CREATE (Ind:Country {name: "India", result: "Winners"}) 
CREATE (CT2013:Tornament {name: "ICC Champions Trophy 2013"}) 
RETURN Ind, CT2013

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado. Aquí puede observar que Neo4j devolvió 2 nodos.

Relaciones que regresan

También puede devolver relaciones mediante la cláusula de devolución.

Sintaxis

A continuación se muestra la sintaxis para devolver relaciones mediante la cláusula RETURN.

CREATE (node1)-[Relationship:Relationship_type]->(node2) 
RETURN Relationship

Ejemplo

A continuación se muestra una consulta cifrada de muestra que crea dos relaciones y las devuelve.

CREATE (Ind)-[r1:WINNERS_OF {NRR:0.938 ,pts:6}]->(CT2013) 
CREATE(Dhoni)-[r2:CAPTAIN_OF]->(Ind) 
RETURN r1, r2

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Devolución de propiedades

También puede devolver propiedades mediante la cláusula RETURN.

Sintaxis

A continuación se muestra una sintaxis para devolver propiedades mediante la cláusula RETURN.

Match (node:label {properties . . . . . . . . . . }) 
Return node.property

Ejemplo

A continuación se muestra una consulta cifrada de muestra para devolver las propiedades de un nodo.

Match (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"}) 
Return Dhoni.name, Dhoni.POB

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Devolviendo todos los elementos

Puede devolver todos los elementos de la base de datos de Neo4j utilizando la cláusula RETURN.

Ejemplo

A continuación se muestra un ejemplo de Cypher Query para devolver todos los elementos de la base de datos.

Match p = (n {name: "India", result: "Winners"})-[r]-(x)  
RETURN *

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Devolver una variable con un alias de columna

Puede devolver una columna en particular con alias usando la cláusula RETURN en Neo4j.

Ejemplo

A continuación se muestra una consulta cifrada de muestra que devuelve la columna POB como Lugar de nacimiento.

Match (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"}) 
Return Dhoni.POB as Place Of Birth

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Puede organizar los datos de resultado en orden utilizando la cláusula ORDER BY.

Sintaxis

A continuación se muestra la sintaxis de la cláusula ORDER BY.

MATCH (n)  
RETURN n.property1, n.property2 . . . . . . . .  
ORDER BY n.property

Ejemplo

Antes de continuar con el ejemplo, cree 5 nodos en la base de datos de Neo4j como se muestra a continuación.

CREATE(Dhawan:player{name:"shikar Dhawan", YOB: 1985, runs:363, country: "India"})
CREATE(Jonathan:player{name:"Jonathan Trott", YOB:1981, runs:229, country:"South Africa"})
CREATE(Sangakkara:player{name:"Kumar Sangakkara", YOB:1977, runs:222, country:"Srilanka"})
CREATE(Rohit:player{name:"Rohit Sharma", YOB: 1987, runs:177, country:"India"})
CREATE(Virat:player{name:"Virat Kohli", YOB: 1988, runs:176, country:"India"})

A continuación se muestra una consulta de cifrado de muestra que devuelve los nodos creados anteriormente en el orden de las ejecuciones anotadas por el jugador utilizando la cláusula ORDERBY.

MATCH (n)  
RETURN n.name, n.runs 
ORDER BY n.runs

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Ordenar nodos por varias propiedades

Puede organizar los nodos según varias propiedades utilizando ORDEYBY cláusula.

Sintaxis

A continuación se muestra la sintaxis para organizar los nodos por múltiples propiedades usando la cláusula ORDERBY.

MATCH (n) 
RETURN n 
ORDER BY n.age, n.name

Ejemplo

A continuación se muestra una consulta cifrada de muestra que organiza los nodos creados anteriormente en este capítulo en función de las propiedades: ejecuciones y país.

MATCH (n) 
RETURN n.name, n.runs, n.country 
ORDER BY n.runs, n.country

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Ordenar nodos por orden descendente

Puede organizar los nodos en una base de datos en orden descendente utilizando el ORDERBY cláusula.

Sintaxis

A continuación se muestra la sintaxis para organizar los nodos en una base de datos.

MATCH (n) 
RETURN n 
ORDER BY n.name DESC

Ejemplo

A continuación se muestra una consulta cifrada de muestra que organiza los nodos en una base de datos en orden descendente utilizando la cláusula ORDERBY.

MATCH (n)  
RETURN n.name, n.runs 
ORDER BY n.runs DESC

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

los limit La cláusula se usa para limitar el número de filas en la salida.

Sintaxis

A continuación se muestra la sintaxis de la cláusula LIMIT.

MATCH (n) 
RETURN n 
ORDER BY n.name 
LIMIT 3

Ejemplo

Antes de continuar con el ejemplo, cree 5 nodos en la base de datos de Neo4j como se muestra a continuación.

CREATE(Dhawan:player{name:"shikar Dhawan", YOB: 1985, runs:363, country: "India"})
CREATE(Jonathan:player{name:"Jonathan Trott", YOB:1981, runs:229, country:"South Africa"})
CREATE(Sangakkara:player{name:"Kumar Sangakkara", YOB:1977, runs:222, country:"Srilanka"})
CREATE(Rohit:player{name:"Rohit Sharma", YOB: 1987, runs:177, country:"India"})
CREATE(Virat:player{name:"Virat Kohli", YOB: 1988, runs:176, country:"India"})

A continuación se muestra una consulta cifrada de muestra que devuelve los nodos creados anteriormente en orden descendente y limita los registros en el resultado a 3.

MATCH (n)  
RETURN n.name, n.runs 
ORDER BY n.runs DESC 
LIMIT 3

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Límite con expresión

También puede utilizar la cláusula LIMIT con expresión.

Ejemplo

A continuación se muestra una consulta cifrada de muestra que limita los registros mediante una expresión.

MATCH (n) 
RETURN n.name, n.runs 
ORDER BY n.runs DESC 
LIMIT toInt(3 * rand())+ 1

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

La cláusula SKIP se utiliza para definir desde qué fila comenzar a incluir las filas en la salida.

Ejemplo

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

CREATE(Dhawan:player{name:"shikar Dhawan", YOB: 1985, runs:363, country: "India"})
CREATE(Jonathan:player{name:"Jonathan Trott", YOB:1981, runs:229, country:"South Africa"})
CREATE(Sangakkara:player{name:"Kumar Sangakkara", YOB:1977, runs:222, country:"Srilanka"})
CREATE(Rohit:player{name:"Rohit Sharma", YOB: 1987, runs:177, country:"India"})
CREATE(Virat:player{name:"Virat Kohli", YOB: 1988, runs:176, country:"India"})

A continuación se muestra una consulta cifrada de muestra que devuelve todos los nodos de la base de datos omitiendo los primeros 3 nodos.

MATCH (n)  
RETURN n.name, n.runs 
ORDER BY n.runs DESC 
SKIP 3

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Omitir el uso de expresión

Puede omitir los registros de un resultado mediante una expresión.

Ejemplo

A continuación se muestra un ejemplo de consulta cifrada que utiliza la cláusula SKIP con una expresión.

MATCH (n)  
RETURN n.name, n.runs 
ORDER BY n.runs DESC 
SKIP toInt (2*rand())+ 1

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Puede encadenar las artes de consulta mediante la cláusula WITH.

Sintaxis

A continuación se muestra la sintaxis de la cláusula WITH.

MATCH (n) 
WITH n 
ORDER BY n.property 
RETURN collect(n.property)

Ejemplo

A continuación se muestra una consulta cifrada de muestra que demuestra el uso de la cláusula WITH.

MATCH (n) 
WITH n 
ORDER BY n.name DESC LIMIT 3 
RETURN collect(n.name)

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

La cláusula de desenrollado se utiliza para desenrollar una lista en una secuencia de filas.

Ejemplo

A continuación se muestra una consulta cifrada de muestra que desenrolla una lista.

UNWIND [a, b, c, d] AS x 
RETURN x

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Al igual que SQL, Neo4J CQL ha proporcionado un conjunto de funciones de cadena para usarlas en consultas CQL para obtener los resultados requeridos.

Aquí, vamos a discutir algunas de las funciones importantes y de uso frecuente.

Lista de funciones de cadena

A continuación se muestra la lista de funciones de cadena prominentes en Neo4j.

No Señor Función descriptiva
1 SUPERIOR

Se utiliza para cambiar todas las letras a mayúsculas.

2 INFERIOR

Se utiliza para cambiar todas las letras a minúsculas.

3 SUBSTRING

Se utiliza para obtener una subcadena de una cadena determinada.

4 Replace

Se utiliza para reemplazar una subcadena con una subcadena determinada de una Cadena.

Al igual que SQL, Neo4j CQL ha proporcionado algunas funciones de agregación para usar en la cláusula RETURN. Es similar a la cláusula GROUP BY en SQL.

Podemos usar este comando RETURN + Aggregation Functions en MATCH para trabajar en un grupo de nodos y devolver algún valor agregado.

Lista de funciones de AGREGACIÓN

A continuación se muestra la lista de funciones de agregación en Neo4j.

No Señor Función descriptiva
1 CONTAR

Devuelve el número de filas devueltas por el comando MATCH.

2 MAX

Devuelve el valor máximo de un conjunto de filas devuelto por el comando MATCH.

3 MIN

Devuelve el valor mínimo de un conjunto de filas devuelto por el comando MATCH.

4 SUMA

Devuelve el valor de suma de todas las filas devueltas por el comando MATCH.

5 AVG

Devuelve el valor promedio de todas las filas devueltas por el comando MATCH.

En las aplicaciones en tiempo real, debemos realizar copias de seguridad de la base de datos de nuestra aplicación con regularidad, de modo que podamos restaurar algunas condiciones de funcionamiento en cualquier punto de falla.

Esta regla es aplicable tanto para bases de datos RDBMS como NoSQL.

En esta sección, vamos a discutir sobre dos tareas importantes de DBA.

  • Cómo hacer una copia de seguridad de una base de datos Neo4j.
  • Cómo restaurar la base de datos de Neo4j a una copia de seguridad específica.

Note- Estos pasos se aplican únicamente al sistema operativo Windows. Deberíamos usar un tipo similar de comandos para realizar los mismos pasos en otros sistemas operativos.

Copia de seguridad de la base de datos de Neo4j

Step 1 - Haga clic en "Comunidad Neo4j" usando la siguiente ruta -

Botón "Inicio" de Windows → "Todos los programas" → "Comunidad Neo4j" → "Comunidad Neo4j"

Por defecto, selecciona c:\Users\[username]\Documents\Neo4j\default.graphdb. Sin embargo, si lo deseamos, podemos cambiar la ruta a un directorio diferente.

Step 2 - Aquí hemos cambiado a nuestra carpeta de base de datos Neo4j.

C: \ Ne04j2.0db

Step 3 - Haga clic en el botón "Inicio".

Una vez que se inicia el servidor, podemos observar que los archivos de nuestra base de datos Neo4j se generan en un directorio específico.

Antes de realizar una copia de seguridad de la base de datos, lo primero y más importante que debemos hacer es apagar el servidor de la base de datos Neo4j.

Step 4 - Haga clic en el botón "Detener" para apagar el servidor.

Los archivos de la base de datos de Neo4j están disponibles en C: \ Ne04j2.0db

Step 5 - Abra el símbolo del sistema.

Step 6 - Cree una carpeta "Neo4jDbBackup-01" en C: \ Neo4j (puede ser cualquier ubicación en su sistema de archivos).

mkdir C:\Neo4j\Neo4jDbBackup-01

Crea una nueva carpeta "Neo4jDbBackup-01" en la ubicación del sistema de archivos especificado "C: \ Neo4j \"

Step 7 - Escriba el siguiente comando y presione la tecla Enter.

copy C:\Ne04j2.0db C:\Neo4j\Neo4jDbBackup-01

Esto significa que nuestros archivos se copian en la carpeta de destino requerida. Acceda a esa carpeta y observe que la carpeta tiene nuestros archivos de base de datos.

Step 8 - Utilice cualquier herramienta de compresión / descompresión de Windows como WinZip, 7 Zip o WinRAR para comprimir nuestra carpeta de base de datos.

Step 9- Ahora se crea nuestro archivo Neo4jDbBackup-01.zip. Si tiene restricciones de memoria en su sistema de archivos, elimine la carpeta "Neo4jDbBackup-01" en "C: \ Neo4j \"

Restauración de la base de datos de Neo4j

Step 1- Apague el servidor de la base de datos. Consulte los pasos anteriores para apagar el servidor.

Step 2 - Vaciar la carpeta de la base de datos actual.

Step 3 - Utilice cualquier herramienta de compresión / descompresión de Windows como WinZip, 7 Zip o WinRar para descomprimir nuestra carpeta de respaldo.

Step 4 - Abra el símbolo del sistema y ejecute el siguiente comando.

Copy C:\Neo4j\Neo4jDbBackup-01 C:\Ne04j2.0db

Ahora podemos observar que nuestra carpeta de base de datos contiene archivos de respaldo que funcionan

Step 5 - Inicie el servidor haciendo clic en el botón "Inicio".

Step 6 - Ejecutar algunos comandos MATCH + RETURN para verificar si hemos restaurado nuestra base de datos correctamente.

Neo4j SQL admite índices en propiedades de nodos o relaciones para mejorar el rendimiento de la aplicación. Podemos crear índices de propiedades para todos los nodos, que tienen el mismo nombre de etiqueta.

Podemos usar estas columnas indexadas en el operador MATCH o WHERE o IN para mejorar la ejecución del comando CQL.

En este capítulo, discutiremos cómo:

  • Crear un índice
  • Eliminar un índice

Crear un índice

Neo4j CQL proporciona el comando "CREATE INDEX" para crear índices en propiedades de Nodo o Relación.

Sintaxis

A continuación se muestra la sintaxis para crear un índice en Neo4j.

CREATE INDEX ON:label (node)

Ejemplo

Antes de continuar con el ejemplo, cree un nodo Dhawan como se muestra a continuación.

CREATE (Dhawan:player{name: "shikar Dhawan", YOB: 1995, POB: "Delhi"})

A continuación se muestra una consulta cifrada de muestra para crear un índice en el nodo Dhawan en Neo4j.

CREATE INDEX ON:player(Dhawan)

Para ejecutar la consulta anterior, realice los siguientes pasos:

Step 1- Abra la aplicación de escritorio Neo4j e inicie el servidor Neo4j. Abra la aplicación de navegador incorporada de Neo4j usando la URLhttp://localhost:7474/ Como se muestra abajo.

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Eliminar un índice

Neo4j CQL proporciona un comando "DROP INDEX" para eliminar un índice existente de una propiedad de Nodo o Relaciones.

Sintaxis

A continuación se muestra la sintaxis para crear un índice en Neo4j.

DROP INDEX ON:label(node)

Ejemplo

A continuación se muestra una consulta cifrada de muestra para crear un índice en el nodo denominado "Dhawan" en Neo4j.

DROP INDEX ON:player(Dhawan)

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

En la base de datos de Neo4j, el comando CQL CREATE siempre crea un nuevo nodo o relación, lo que significa que aunque use los mismos valores, inserta una nueva fila. De acuerdo con los requisitos de nuestra aplicación para algunos nodos o relaciones, debemos evitar esta duplicación. Para esto, deberíamos usar algunas restricciones de la base de datos para crear una regla en 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 las 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.

Crear restricción ÚNICA

Neo4j CQL proporciona el comando "CREATE CONSTRAINT" para crear restricciones únicas en propiedades de relación o nodo.

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 una consulta cifrada de muestra para crear una restricción ÚNICA en la identificación de la propiedad con Neo4j.

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

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Verificación

Ahora, intente agregar otro nodo con un valor de identificación redundante. Aquí, estamos intentando crear un nodo con id002.

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

Si ejecuta esta consulta, obtendrá un mensaje de error como se muestra en la siguiente captura de pantalla.

Ya hemos discutido la creación de operaciones de restricción ÚNICAS con ejemplos en el capítulo anterior. En este capítulo, discutiremos la eliminación de la operación de restricción ÚNICA con ejemplos.

Neo4j CQL proporciona el comando "DROP CONSTRAINT" para eliminar la restricción Única existente de un nodo o propiedad de relación.

Sintaxis

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

DROP CONSTRAINT ON (node:label) 
ASSERT node.id IS UNIQUE

Ejemplo

A continuación se muestra una consulta cifrada de muestra para eliminar la restricción ÚNICA en la propiedad id.

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

Para ejecutar la consulta anterior, realice los siguientes pasos:

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

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.