Formation : Neo4J
Objectifs
- Comprendre le modèle des bases de données graphe
- Maîtriser les APIs unitaires (CRUD noeuds & relations) et d'indexation [auto-indexation, indexation manuelle, indexation par label]
- Savoir requêter de la donnée (traversées & Cypher)
- Importer des données (batch, Talend, Geoff)
- Déployer Neo4j en mode serveur (API REST standard, unmanaged extensions)
- Appréhender Spring Data
Méthode pédagogique
Certaines itérations feront l'objet d'une démonstrations et de questions/réponses
La plupart des sujets se découperont comme suit :
- 20 min de présentation de l’itération : présentation de l’exercice et des concepts à utiliser.
- 1h20 de pratique.
- 20 min de rétrospective : présentation par les participants des difficultés rencontrées et de leur résolutions.
La formation s'effectuera en Java et en Javascript.
Au programme
Notions élémentaires
- Présentation des graphes et bases de données graphes
- Découverte des API unitaires
- CRUD de noeuds
- CRUD de relations
- Prise en main des différentes APIs d'indexation
- indexation manuelle (legacy)
- auto-indexation (legacy)
- indexation par label
- Présentation d'exemples inspirés de cas réels
- catalogue d'un opérateur mobile
- recommandations de contacts professionnels
- réseau de transport ferroviaire
Requêtage des données
- Exposition des différents algorithmes de traversée et utilisation avec Neo4j
- Breadth-First Search
- Depth-First Search
- Framework de traversée Neo4J
- Découvrir Cypher
- pattern matching sur graphe
- syntaxe
- plans d'exécution
Exposition des données
- API REST standard
- CRUD
- indexation
- exécution de requêtes Cypher
- streaming des résultats
- Extension des APIS standards
- unmanaged extensions
- sécurisation des accès
Mapping Graphe-Object avec Spring Data
- motivations et concepts derrière Spring Data
- découverte des @NodeEntity, @RelationshipEntity et GraphRepository
- indexation
- requêtes Géospatiales
Import de données
- insertion en batch [BatchInserters]
- utilisation du module d'import Talend
- découverte de Geoff
Déploiement
Découverte des PAAS disponibles.
Visualisation de données
- Neoclipse, Gephi
- Linkurious
- Console Neo4J
- visualisation custom [sigma.js]