Neo4j & Cypher
Par ce que
(Neo4j) –[:IS_A]–> (NoSQL Database)
@rdlhio
Neo4j ?
- Base de donnée en graphe
- Open-source
- Éditée par Neo Technology
Neo4j ?
- Base de donnée en graphe
- Open-source
- Éditée par Neo Technology
Des nœuds
Neo4j ?
- Base de donnée en graphe
- Open-source
- Éditée par Neo Technology
Des nœuds Des relations
Neo4j ?
- Base de donnée en graphe
- Open-source
- Éditée par Neo Technology
Des nœuds Des relations
Et c'est tout !
Source : http://assets.neo4j.org/img/propertygraph/graphdb-gve.png
NoSQL
(Not only SQL)
Clef
NoSQL
(Not only SQL)
Clef Valeur-->
NoSQL
(Not only SQL)
Clef Valeur
Et (la aussi) c'est tout !
-->
SPOIL ALERT !
Les fans de Game of Thrones qui n'ont pas vu l'E02S04...
Fermez les yeux !
Source : http://3-ps.googleusercontent.com/x/www.thehollywoodgossip.com/images.thehollywoodgossip.com/iu/t_slideshow/
v1397490988/xking-joffrey-poisoned.jpg.pagespeed.ic.wF0WIJvD0a.jpg
Mais c'est MAGNIFIQUE !
Cypher
(Graph) –[:RECORDS_DATA_IN]–> (Nodes) –[:WHICH_HAVE]–> (Properties)
http://www.neo4j.org/
download
http://localhost:7474/
Créer des nœuds
" C'est toi le nœud ! "
CREATE (Remi:Student { name:'Rémi' })
Séléctionner des nœud
MATCH (Remi:Student)
WHERE Remi.name = 'Rémi'
RETURN Remi
MATCH (n)
RETURN n
Créer des relations
CREATE (Kink:Student { name:'Chuck Norris' })
MATCH (Remi:Student)
WHERE Remi.name = 'Rémi'
MATCH (Chuck:Student)
WHERE Chuck.name = 'Chuck Norris'
!
CREATE (Remi)-[:LOVES]->(Chuck)
Créer des relations
Créer des relations
MATCH (Remi:Student)
WHERE Remi.name = 'Rémi'
MATCH (Chuck:Student)
WHERE Chuck.name = 'Chuck Norris'
!
CREATE (Arena:Place {name: 'Arena'})
CREATE (LasVegas:City {name: 'Las Vegas'})
!
CREATE (Remi)-[:WILL_FIGHT_IN]->(Arena)
CREATE (Chuck)-[:WILL_FIGHT_IN]->(Arena)
CREATE (Arena)-[:IS_IN {since: 2004}]->(LasVegas)
Créer des relations
MATCH (n) RETURN n
MATCH (Remi:Student)-[:LOVES]->(someone)
WHERE Remi.name = "Rémi"
RETURN someone.name
Créer des relations
Un peu de pratique !
Question time!
You
Questions
:SHOULD_HAVE
http://blog.rdlh.io
http://rdlh.io
Twitter : @rdlhio
GitHub : @rdlh
contact@rdlh.io
Thanks!

[FRENCH] - Neo4j and Cypher - Remi Delhaye