« SPARQL Protocol and RDF Query Language/Travail pratique/Faire un serveur SPARQL » : différence entre les versions

Contenu supprimé Contenu ajouté
m Robot : Changement de type cosmétique
Relecture
Ligne 1 :
{{ébauche informatique}}
{{Travail pratique présentation
| objectif1 = installer un serveur SPARQL
Ligne 17 ⟶ 16 :
}}
 
Dans ce TP, nous allons installer notre propre triplestore, qui possédera un service HTTP pour répondre à des requêterequêtes SPARQL.
== Pourquoi installer 4Store ? ==
Il existe de nombreux triplestores.
 
L'un d'eux se nomme [http://4store.org/about 4Store].
Ce logiciel est sous [[w:Licence publique générale GNU|Licence publique générale GNU version 3]]
 
L'objectif de la licence GNU GPL, selon ses créateurs est de garantir à l'utilisateur les droits suivants (appelés libertés) sur un programme informatique :
Ligne 30 :
 
 
Cette licence est donc adaptée à l'utilisation de ce logiciel dans les établissements publics (et donc aussi privées)privés.
 
Ce TP a pour objectif d'installer 4Store. Nous verrons dans un prochain TP comment interroger un serveur SPARQL sans se soucier du logiciel utilisé.
 
== A savoir avant de commencer ==
Les logiciels sous une licence GPL sont souvent des agglomérationsagglomérats de nombreux logiciels qui ont chacun une installation propre ou même des communautés de développeurs distinctes. La compatibilité entre sesces logiciels provoquentcrée souvent des problèmes qui découragent les jeunes informaticiens.
 
 
 
L'avantage de la licence GNU d'offrir un logiciel gratuit est souvent rattrapé par le coût caché depour maintenir ou de débugger ce logiciel. AOr, a-t-on les moyens de payer un logiciel ou de payerrémunérer une société de serviceservices ?
 
4Store ne déroge pas à la règle et les autres triplestores également.
 
Mais commeToutefois, il y a quelques années, bienalors que MySQL était moins performanteperformant qu'Oracle ou que d'autres logiciels, MySQL est arrivé à s'imposer comme la BDD la plus utiliséutilisée, en étant une BDD sous licence GPL.
 
 
Un jeune informaticien peut donc à juste titre faire l’effort de maîtriser ce logiciel dès maintenant pour être récompenser dans l'avenir.
 
Un jeune informaticien peut donc à juste titre faire l’effort de maîtriser ce logiciel4Store dès maintenant pour être récompenserrécompensé dansà l'avenir.
Ce TP n'a pas l'objectif de devenir un expert mais de comprendre l'installation de ce logiciel et de trouver des points d'entrées dans les communautés qui pourront vous aider en cas de difficultés.
 
Ce TP n'a pas l'pour objectif de devenirformer undes expertexperts, mais de comprendre l'installation de ce logiciel et de trouver des points d'entréesentrée dans les communautés, qui pourront vous aider en cas de difficultés.
== Installation ==
=== Automatique ===
==== Ubuntu 11.10 Oneiric (bientôt disponible) ====
 
La version Oneiric est disponible,. vousVous pouvez installer en théorie installer 4Store via la commande suivante sur '''Ubuntu''':
<source lang="bash">
sudo apt-get install 4store
Ligne 61 ⟶ 62 :
Il semble qu'il existe de nombreuses difficultés à installer 4Store sur la version Oneiric d'Ubuntu.
 
Préférez la version entreprise d'Ubuntu 10.04 LTS et faites la suite du TP, si vous ne voulez pas perdre de temps suravec l'installation de 4Store.
}}
Il faudra lire la documentation et le port du service sera 9000 pour la suite du TP si vous intallezinstallez 4Store de cette manière  :
* https://launchpad.net/ubuntu/oneiric/+source/4store
 
Ligne 70 ⟶ 71 :
On nomme dépendances les logiciels nécessaires au fonctionnement ou à la compilation d'un autre logiciel.
 
Ici, nous allons justeseulement décrire les dépendances de 4Store pour Fedora et Ubuntu.
 
Si vous avez un autre système, il vous faudra consulter [http://4store.org/trac/wiki/Dependencies la documentation de 4Store pour installer les bonnes dépendances].
Ligne 87 ⟶ 88 :
 
==== Installation des librairies Redland : Raptor, Rasqal ====
La librairie Redland est aussi une des dépendances de 4Store, mais certaines librairies ne sont pas à misemises à jour régulièrement.
Voici comment installer les librairies manquantes :
 
Création du répertoire pourdestiné à contenir les librairies à installer :
<source lang="bash">
mkdir ~/projets
Ligne 100 ⟶ 101 :
Définir le répertoire de configuration des packages.
Il y a deux possibilités :
* Si votre système est sous 32 bits :
<source lang="bash">
export PKG_CONFIG_PATH=/usr/lib/pkgconfig
</source>
* sinon, sous 64 bits :
<source lang="bash">
export PKG_CONFIG_PATH=/usr/lib64/pkgconfig
Ligne 118 ⟶ 119 :
 
Il y a deux possibilités :
*Si votre système est sous 32 bits :
<source lang="bash">
./configure --libdir=/usr/lib
</source>
*sinon, sous 64 bits :
<source lang="bash">
./configure --libdir=/usr/lib64
Ligne 189 ⟶ 190 :
 
{{remarque|contenu=
Un outil bien pratique est contenu dans le logiciel Raptor de Redland. C'est l'outil Rapper, qui permet de voir si un fichier contient des erreurs ou de convertir un fichier dans un autre format.
 
AfficheAfficher le nombre de triplets et les erreurs si ils’il y en a.
<source lang="bash">
rapper -c myFile.RDF
</source>
 
ConvertitConvertir le fichier "ontology.owl" en entrée (format automatiquement détecté) dans le format NTriples pour être enregistré dans le fichier "ontology.n3".
<source lang="bash">
rapper ontology.owl -o ntriples > ontology.n3
Ligne 208 ⟶ 209 :
 
==== Configuration réseau ====
En principe, on donne à 4Store un port comme 9000, car il est rarement ouvert sur le réseau dans la configuration réseau par défaut. Ce paramètre est indiqué à 4Store au moment de son exécution.
 
Cependant '''pour Fedora uniquement''', il faut rajouterajouter une ligne dans le fichier /etc/sysconfig/iptables (attention : il faut rajouterajouter cette ligne juste après la dernière ligne qui commence par "-A INPUT") :
<source lang="text">
-A INPUT -m state --state NEW -m udp -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
Ligne 216 ⟶ 217 :
Cette ligne est nécessaire au logiciel Avahi qu'utilise 4Store.
 
Pour prendre en compte cette modification sousous Fedora :
<source lang="bash">
service iptables restart
Ligne 222 ⟶ 223 :
 
==== Compilation & installation ====
4Store est encore un jeune logiciel et ne peut pas encore être installé via des packages. Le plus simple est encore de le compiler à partir des dernières sources en suivantavec la méthode suivante :
 
<source lang="bash">
Ligne 256 ⟶ 257 :
</source>
 
Pour tester : (Attentionattention : seule la première série de tests doiventdoit passer au vert, les autres tests sont surconcernent la partie en cours de développement.) :
<source lang="bash">
make test
Ligne 270 ⟶ 271 :
 
=== Démarrer le serveur SPARQL ===
Ici, nous exécuterons le service sur le port 8081 (paramètre -p) et nous désirons voir les erreurs en sortie (paramètre -D, mode debug).
<source lang="bash">
sudo 4s-backend test
Ligne 278 ⟶ 279 :
=== Vérifier l'état du serveur SPARQL ===
 
AllerAllez sur la page : http://localhost:8081/status
 
Vous devez voir la page status du serveur 4Store.
Ligne 298 ⟶ 299 :
 
== Service automatique ==
4Store ne démarrese lance pas automatiquement au démarrage de votre ordinateur. CelaOr, cela est indispensable, si l'on veut avoir un service robuste qui redémarre en même temps que son serveur (et çacela évitera de le redémarrer manuellement durant les prochains TP).
 
=== Installation ===
On commence par créer notre base de données, ou silo de données, qui contiendra nos graphes. On va l'appeler "DefaultKB" (KB pour KnowledgeBase).
<source lang="bash">
sudo 4s-backend-setup DefaultKB
</source>
 
On va maintenant fabriquer rapidement un service 4Store pour démarrer et arrêter le service SPARQL avec la base de données "DefaultKB".
 
On fabrique le script pour lancer le service automatiquement au démarrage du serveur :
<source lang="bash">
sudo vim /etc/init.d/4s-httpd
Ligne 369 ⟶ 370 :
</source>
 
On autorise le droit d’exécutionl'exécution de ce script. :
<source lang="bash">
sudo chmod 0755 /etc/init.d/4s-httpd
</source>
 
On teste le service :
<source lang="bash">
sudo service 4s-httpd start
Ligne 389 ⟶ 390 :
</source>
 
On vérifie que le serveur s'est arrêté avec le même lien, qui doit afficher "serveur inconnu" ou "incapable de se connecter".
 
On déclare le service 4s-httpd au système et on le lance pour la dernière fois manuellement.
Ligne 404 ⟶ 405 :
 
=== Mode d'emploi ===
Vous pouvez stopper et le redémarrer le service manuellement quand vous le souhaitez. Vous pouvez également suivre les logs et ainsi débugger vos requêtes SPARQL.
 
==== Démarrer le service ====
Ligne 538 ⟶ 539 :
</source>
 
Ce code est un des exemples dansde la [http://bordercloud.github.com/pear/doc/php4store-0.4.4/Bourdercloud-PHP4store/Endpoint.html documentation de PHP4Store].
 
On exécute notre exemple :
Ligne 550 ⟶ 551 :
</source>
 
Vous pouvez voir également voir les logs du serveur et ainsi voir toutes les requêtes SPARQL envoyées par votre programme PHP :
<source lang="bash">
sudo tail -f /var/log/4store/query-DefaultKB.log -n100
</source>
 
Maintenant, ! Touttout est en place pour apprendre à utiliser SPARQL. !
 
== Références ==
Ce TP a été fabriquéconçu avec les documents suivants :
* [http://4store.org/trac/wiki/Documentation 4Store installation]
{{Bas de page