Commit 7087d91a authored by Paperman Charles's avatar Paperman Charles
Browse files

Paperman-graphdb

parent 260ab022
# Gremlin, un langage de requête dans les graphes
## Présentation générale
Le modèle relationnel s'est imposé dans l'industrie et son succès dans
la gestion des données des entreprises démontre la maturité de cette
technologie.
Cependant la numérisation de l'ensemble des activités humaines conduit
à une explosion des données stockées sur les ordinateurs.
La multitude des sources de données ainsi que leur volume rendent leur
exploitation particulièrement difficile dans le modèle relationnel.
Afin d'exploiter et de mettre en valeur ces données, de nouveaux
modèles et de nouveaux langages de requêtes pour ces modèles
s'imposent. Parmi ceux-ci le modèle des graphes fait un retour en
force. Il permet la représentation intuitive des liens reliant des
données entre elles.
Sujet pas encore affecté.
<!-- Sujet affecté à : ⟨...⟩. -->
### Résumé
De nombreux langages de requêtes pour les graphes co-existent: Cypher,
SPARQL, GraphQL. La fondation *Appache* a récemment introduit un nouveau
langage, Gremlin, présentant le double intérêt d'avoir une
spécification complète et d'avoir été conçu afin d'exploiter de grands
volumes de données de manière distribuée.
Il est interprété dans le modèle de calcul fortement parallèle *Bulk
Synchronous Parallel processing*.
L'un des aspects importants des bases de données porte sur
l'optimisation des requêtes. L'objet du stage est de faire une étude
bibliographique autour de ce langage afin d'en comprendre la nature,
ainsi que le modèle de calcul qui le sous-tend.
En fonction de l'intérêt du stagiaire, l'étude de l'implantation d'un moteur
de requêtes simple pour Gremlin peut être envisagé ainsi que l'étude
d'implantation d'algorithmes de graphes ou d'algorithmes de raisonnements.
### Mots-clés
Base de données, graphe, requêtes, Gremlin, calcul distribué
### Encadrement
Équipe(s) : LINKS
Encadrant(s) :
- Charles, Paperman
- Aurélien Lemay
- Sylvain Salvati
[Contacter les encadrants](mailto:charles.paperman@inria.fr?subject=Stage%20de%20recherche).
Localisation : Inria Lille – Nord Europe, bâtiment B
## Présentation détaillée
### Pré-requis
* Algorithmique
* Programmation
* Base de données
### Travail à effectuer
Le travail principal de ce stage consistera en:
1. Comprendre le modèle des bases de données graphes et le langage Gremlin
2. Réaliser une étude bibliographique autour du modèle de *Bulk Synchronous Parallel processing* (BSP)
Une fois ces deux tâches effectuées, et en fonction des intérêts de l'étudiant, il sera possible
d'étudier l'un des thèmes suivants au choix:
- implanter un *solveur de requêtes* pour Gremlin sur une seule
machine et éventuellement distribué.
- étudier la réalisation d'algorithmes de graphes classiques en Gremlin et étudier leur complexité dans le modèle BSP
- réaliser une étude bibliographique préliminaire autour de l'implantation de solveurs pour des logiques de descriptions en Gremlin
Ce stage pourrait être poursuivie éventuellement poursuivi en thèse.
### Bibliographie
[1] M. Rodriguez. The gremlin graph traversal machine and language (invited talk). In DBPL, 2015.
[2] L. Valiant. A bridging model for parallel computation. Commun. ACM, 33(8) :103–111, August 1990.
[3] L. Valiant. A bridging model for multi-core computing. Journal of Computer and System Sciences, 77(1) :154 – 166, 2011. Celebrating Karp’s Kyoto Prize.
[4] F. Baader, D. Calvanese, D. L. McGuiness, D. Nardi, P. F. Patel-Schneider : The Description Logic Handbook: Theory, Implementation, Applications. Cambridge University Press, Cambridge, UK, 2003.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment