Introducción a Cypher Base de Datos Grafos Neoj4

Bienvenidos a Cypher se describen la consultas fundamentales de Neo4j a través de cypher, si deseas conocer mas sobre la bases de datos orientada a grafos puedes leer lo siguientes artículos: Introducción a Neo4J base de datos orientada a grafos y Introducción a los conceptos base de datos grafos Neo4j

 

Ejecutar

:play cypher

Cypher

El lenguaje de consulta de grafos de Neo4J.

El lenguaje Cypher de Neo4J está construido especialmente para trabajar con los datos del grafo.

  • Los patrones de uso para describir los datos del grafo
  • El familiar SQL como consultas
  • La descripción declarativa, que encontrar, no como encontrarlo.

Create

Crear un nodo.

Utilizáremos Cypher para generar un grafo social simple.

CREATE (ee:Person { name: «Emil», from: «Sweden», klout: 99 })

  • Create: cláusula para crear nodos
  • (): el paréntesis indica un nodo
  • ee:Person: la ee es una variable y una etiqueta Person, para el nuevo nodo
  • {}: los paréntesis cuadrados para añadir propiedades al nodo.

Match

Encontrando nodos.

Ahora encuentre el nodo representado por email.

MATCH (ee:Person) WHERE ee.name = «Emil» RETURN ee;

Math Cypher

Math Cypher

  • Match: es la cláusula para especificar patrón de nodos y relaciones.
  • (ee.Person): un solo patrón del nodo con etiqueta “Person”, que realizara la equivalencia para ee variable.
  • Where: la cláusula para condiciones de los resultados
  • Ee.name = «Emil»: compara la propiedad de nombre y el valor de «Emil»
  • Return: la cláusula usada para retornar resultados particulares.

Create Más

Los nodos y las relaciones

Create: las clausuras pueden crear muchos nodos y relaciones de inmediato.

MATCH (ee:Person) WHERE ee.name = «Emil»

CREATE (js:Person { name: «Johan», from: «Sweden», learn: «surfing» }),

(ir:Person { name: «Ian», from: «England», title: «author» }),

(rvb:Person { name: «Rik», from: «Belgium», pet: «Orval» }),

(ally:Person { name: «Allison», from: «California», hobby: «surfing» }),

(ee)-[:KNOWS {since: 2001}]->(js),(ee)-[:KNOWS {rating: 5}]->(ir),

(js)-[:KNOWS]->(ir),(js)-[:KNOWS]->(rvb),

(ir)-[:KNOWS]->(js),(ir)-[:KNOWS]->(ally),

(rvb)-[:KNOWS]->(ally)

Comprobación de configuraciones:

Describe qué encontrar en el grafo.

Por ejemplo, un patrón puede usarse para encontrar a los amigos de Emil.

MATCH (ee:Person)-[:KNOWS]-(friends)

WHERE ee.name = «Emil» RETURN ee, friends

  • Match: cláusula para describir el patrón de nodos conocidos para encontrar los nodos.
  • (ee): Inicia el patrón con Person (capacitado por Where)
  • -[:KNOWS]-: corresponde a KNOWS relaciones (en cualquier dirección)
  • (friends): se saltó para los amigos de Emil.

Recomendaciones:

Usando patrones.

La comprobación de configuraciones puede usarse para hacer recomendaciones.

Johan está aprendiendo a surfear, así que él puede querer encontrarse a un nuevo amigo que hace:

MATCH (js:Person)-[:KNOWS]-()-[:KNOWS]-(surfer)

WHERE js.name = «Johan» AND surfer.hobby = «surfing»

RETURN DISTINCT surfer

  • (): Paréntesis vacío para ignorar estos nodos.
  • DISTINCT: (distinto) porque más de lo que una ruta corresponde a un patrón.
  • Surfer: contendrá Allison, un amigo de un amigo que surfea.

 

Esta entrada ha sido publicada en Diversidad y etiquetada como , , , , , . Guarda el enlace permanente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.