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 fue publicada en Diversidad y etiquetada , , , , , . Guarda el enlace permanente.

Deja un comentario

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