-
Notifications
You must be signed in to change notification settings - Fork 0
Modélisation
D2RQ est une plateforme permettant d'accéder à des données stockées dans une base de données relationnelle comme un graphe rdf (en lecture seule). D2RQ est basé sur Jena, et peut être utilisé soit en tant qu'API enrichissant Jena, soit en tant que serveur autonome. C'est cette deuxième solution que nous avons choisi.
La première étape consiste en la définition du modèle de données coté relationnel. Nous avons fait le choix de stocker les données dans une base de données relationnelle afin de profiter des avantage de cette dernière, notamment sur la possibilité de garantir l'intégrité des données.
Nous avons définit une ontologie propre à nos données rdf générées par D2RQ. Celle-ci est disponible à l'adresse suivante : http://ontology.um2opendata.thibautmarmin.fr
L'accès aux données via le graphe rdf généré à la volée par D2RQ nécessite la configuration du serveur via un mapping, rédigé en turtle. Chaque classe est typée, et chaque attribut des classes est mappé avec un champ d'une table en base de données. Il est également possible d'effectuer des jointure, et de créer des nœuds blancs.
################
# Course table #
################
map:Course a d2rq:ClassMap;
d2rq:dataStorage map:database;
d2rq:uriPattern "Course/@@Course.id@@";
d2rq:class mo:Course;
d2rq:classDefinitionLabel "Course";
d2rq:classDefinitionComment "Course class";
d2rq:dataStorage map:database;
.
map:Course_label a d2rq:PropertyBridge;
d2rq:belongsToClassMap map:Course;
d2rq:property rdfs:label;
d2rq:column "Course.libelle";
.
map:Course_comment a d2rq:PropertyBridge;
d2rq:belongsToClassMap map:Course;
d2rq:property rdfs:comment;
d2rq:column "Course.comments";
.
map:Course_managedby a d2rq:PropertyBridge;
d2rq:belongsToClassMap map:Course;
d2rq:property mo:managedby;
d2rq:refersToClassMap map:Person;
d2rq:join "Course.managed_by = Personne.id";
.
