Commencer avec D2RQ

Julien Plu

Cette page donne une rapide introduction pour vous préparer et démarrer avec D2RQ. Commentez

- Titre : Commencer avec D2RQ

- Auteur : Julien Plu

- Parution : 6 avril 2012

- Mise à jour : 11 janvier 2016

- Public visé :

- Licence : Copyright ® 2012-2016 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Démarrage rapide

- II. Personnalisation des associations de D2RQ

- III. Remerciements

I - Démarrage rapide

Ce dont vous avez besoin :

- Java 1.5 au minimum dans l'environnement (vérifier avec java -version si vous n'êtes pas sûr) ;

- une base de données supportée comme Oracle, SQL Server, PostgreSQL, MySQL ou HSQLDB ;

- optionnellement, un conteneur de servlet J2EE comme une cible de déploiement. D2R Server peut être lancé soit comme un serveur Web autonome, soit dans un conteneur de servlet existant.

Marche à suivre.

1. Télécharger et extraire l'archive dans un emplacement approprié.

2. Télécharger un pilote JDBC chez votre fournisseur de bases de données. Placer le fichier JAR du pilote dans le répertoire /lib de D2R Server. Une liste de pilotes JDBC venant de différents fournisseurs de bases de données est maintenu par Sun. Aussi, prenez note du nom de la classe du pilote (par exemple, org.postgresql.Driver pour PostgreSQL ou oracle.jdbc.driver.OracleDriver pour Oracle) et le modèle de l'URL JDBC (par exemple jdbc:mysql://servername/database pour MySQL) dans la documentation des pilotes. Les pilotes pour MySQL et PostgreSQL sont déjà inclus avec D2R Server.

3. Générer un fichier d'associations pour le schéma de votre base de données, utiliser l'outil generate-mapping. Se placer dans le répertoire de D2R Server et exécuter :

generate-mapping -o mapping.ttl -d driver.class.name
-u db-user -p db-password jdbc:url:...

mapping.ttl est le nom pour le nouveau fichier d'associations. -d peut être omis pour MySQL.

4. Démarrer D2R Server :

d2r-server mapping.ttl

5. Tester le serveur : ouvrir http://localhost:2020 dans un navigateur Web.

Vous pouvez naviguer dans le contenu de la base de données ou utiliser l'explorateur SPARQL pour exécuter des requêtes et afficher les résultats dans plusieurs formats.

6. Exécuter une requête SPARQL à partir de la ligne de commande en utilisant l'outil d2r-query :

d2r-query mapping.ttl "SELECT * { ?s ?p ?o } LIMIT 10"

Ou charger la requête à partir d'un fichier, ici appelé query.sparql :

d2r-query mapping.ttl @query.sparql

7. Générer un dump RDF en utilisant l'outil dump-rdf :

dump-rdf mapping.ttl -o dump.nt

II - Personnalisation des associations de D2RQ

Maintenant que vous êtes prêt, la prochaine étape est généralement d'affiner la sortie RDF en personnalisant les associations D2RQ.

La plate-forme D2RQ utilise le langage d'association D2RQ pour associer le contenu d'une base de données relationnelle en RDF. Une association D2RQ spécifie comment les ressources sont identifiées et quelles propriétés sont utilisées pour décrire les ressources.

Le script generate-mapping génère automatiquement une association D2RQ à partir de la structure des tables d'une base de données. L'outil génère un nouveau vocabulaire RDF pour chaque base de données, utilisant les noms de tables comme noms de classes et les noms de colonnes comme noms de propriétés. Les applications Web sémantique clientes comprendront davantage vos données si vous personnalisez les associations et remplacez les termes autogénérés avec des termes provenant de vocabulaires RDF bien connus et publiquement accessibles.

Le fichier d'associations peut être édité avec n'importe quel éditeur de texte. Sa syntaxe est décrite dans la spécification du langage D2RQ.

D2R Server détectera automatiquement les changements dans le fichier d'associations et rechargera de manière appropriée le fichier quand vous appuierez sur le bouton « Actualiser » de votre navigateur.

Note : les interfaces RDF et HTML navigables fonctionnent seulement pour des modèles d'URI qui sont relatives et ne doivent pas contenir le caractère croisillon (#). Par exemple, un modèle d'URI comme entrees/@@matable.id@@ est navigable, mais http://exemple.com/entrees#@@matable.id@@ ne l'est pas. Le générateur d'associations créé seulement des modèles navigables. Les modèles non navigables fonctionnent toujours dans l'interface SPARQL et dans les dumps RDF.

III - Remerciements

Merci à Richard Cyganiak pour son aide et ses conseils durant la réalisation de cette traduction, à Thibaut Cuvelier pour ses corrections et à Gurdil le nain ainsi qu'à Claude Leloup pour leur relecture orthographique.