Héberger une instance de Fuseki sur OpenShift

Nous allons voir comment héberger une instance de serveur RDF Fuseki sur OpenShift, l’hébergement de RedHat.

Vous devez avoir un compte sur OpenShift (possibilité de comptes gratuits).

Sur la console d’administration OpenShift, créez une application de type ‘Do It Yourself’. Cela va prendre quelques minutes. Ici, je nomme l’application fuseki.

Chargez l’outil RHC , outil RedHat qui facilitera la configuration (attention: à la date d’écriture de cet article, rhc ne fonctionne bien qu’avec la version 1.9.3 de ruby, pas avec les versions ultérieures).

Dans une fenêtre de ligne de commande Windows, en tapant

rhc show-app fuseki

Vous verrez les caractéristiques de l’application créée, dont l’URL du git distant utilisé pour gérer l’installation de l’application. Comme vous avez créé l’application à partir de la console web, vous devez la cloner localement. Créez un directory pour contenir l’application (fuseki pour l’exemple), puis clonez le git

git clone <url du git distant> fuseki

Allez dans ce directory.

Pour récupérer sur github une installation de base toute prête, tapez

puis

Vous avez localement une version 0.2.7  de Fuseki (qu’il faudra mettre à jour).

Poussez-la sur OpenShift

L’application est alors accessible à l’URL

On ne va pas essayer tester de façon approfondie cette version ancienne, mais plutôt faire dès maintenant une mise à jour.

Mise à jour de Fuseki

Sur la page Apache Fuseki, on trouve un zip à télécharger; on va se limiter à la version 1.4, car la version 2.4 nécessite Java 8 qui n’est pas encore disponible en standard sur OpenShift et nécessite pas mal d’ajustements (la version 2.4 permet notamment un meilleur contrôle des autorisations). On va le décompresser dans le dossier de notre application. Cela va créer un dossier jena-fuseki-1.4.0.

Dans le dossier .openshift/action_hooks, dans le fichier start, modifier la ligne

par

 

Ajouter et commiter les modifications faites à votre application:

Pousser le tout sur OpenShift

Cela peut être assez long.

Quand c’est terminé, retournez sur

Tests avec Fuseki

Dans le fichier start du dossier .openshift/action_hooks  sont indiquées les commandes exécutées par OpenShift au lancement de votre application.

Sur la ligne

se trouve l’option –config suivie du chemin du fichier de configuration de Fuseki.

Remplacez ce chemin par config.ttl:

Commitez et poussez le résultat.

En allant à l’adresse, http://fuseki-$youropenshiftaccountname.rhcloud.com vous voyez l’interface d’utilisation de Fuseki. Clic sur Control Panel, puis sur books.

Apparaît une page avec une interface d’interrogation (query), une interface de mise à jour (update) et une interface de chargement de données (upload); ces deux dernières ne fonctionneront pas car, comme nous le verrons plus, la base n’est configurée qu’en lecture pour le moment.

Tapez une requête sparql dans la première interface, par exemple:

et vous obtiendrez une série de triplets définis dans le dataset books.

Ces données sont accessibles sur votre instance OpenShift de Fuseki parce qu’un ‘service’ est défini dans le fichier config.ttl:

Le format est du Turtle générique. les spécificités sont -modérément- documentées sur le site de Fuseki.

Il est indiqué ici

  • qu’un dataset du nom de books va être mis en place,
  • qu’il sera accessible par les commandes query et get,
  • que les données sont définies dans le dataset <#books> qui suit

suit la description du dataset:

  • il est associé au label Books
  • il sera exploité en mémoire
  • le contenu initial proviendra du fichier books.ttl du sous-dossier Data du dossier de lancement de fuseki

Vous pouvez sur ce modèle exploiter vos propres données en mettant à jour sur votre instance locale le fichier Turtle de vos données et en le référençant dans le fichier config.ttl. Cela permet d’éviter de laisser votre instance OpenShift ouverte en écriture et de publier vos données via git à partir de leur représentation locale.

Pour une utilisation par logiciel, vous avez le service query, par exemple, la requête de tout à l’heure peut être appelée avec l’URL

On voit l’URL de l’instance, le nom du dataset, la commande query, suivie de paramètres, ici:

  • query: la requête proprement dite, formattée pour une URL
  • output: le format de sortie
  • stylesheet: une éventuelle feuille de style pour mettre en forme la sortie si elle est au format xml

Vous y êtes: vous avez un entrepôt de triplets en place. A vous de jouer avec vos propres données!

À propos de Moissinac

Maitre de conférence à Télécom ParisTech, Département Signal et Image, Groupe Multimédia

Jean-Claude Moissinac mène des recherches sur les techniques avancées pour la production, le transport, la représentation et l’utilisation des documents multimédia.
Principaux axes de recherche actuel : représentations sémantiques, adaptation de documents multimédias à des contextes variés d’utilisation ; utilisation du multimédia pervasif

Ce contenu a été publié dans Outils, SPARQL, Tutoriel. Vous pouvez le mettre en favoris avec ce permalien.