Cette page présente un certain nombre d'outils Java open source pour le web sémantique
-
Apache Jena:
Un framework Java gratuit et open source pour la création d'applications Web sémantiques et
de données liées (Linked Data).
- Apache Jena Commands : contient les APIs, ARQ le moteur SPARQL, TDB la base de données RDF native et les outils de ligne de commande
- Apache Jena Fuseki: serveur SPARQL
-
Protégé Desktop: éditeur d'ontologies OWL (Web Ontology Language).
1. Plateforme Apache JENA
site web: http://apache.jena.org
Apache Jena est un framework Java open source de la fondation open-source Apache conçu pour la construction d’applications du Web sémantique et de données liées. Il fournit une collection d’outils et de bibliothèques Java pour aider les développeurs à manipuler des données RDF, RDFS, RDFa, OWL et SPARQL, conformément aux recommandations publiées par le W3C
La plateforme Apache Jena est fournie sous forme de téléchargements contenant les parties les plus couramment utilisées des systèmes :
- apache-jena – contient les APIs, ARQ le moteur SPARQL, TDB la base de données RDF native et les outils de ligne de commande
- apache-jena-fuseki – le serveur SPARQL de Jena qui permet d'exposer les triplets RDF stockés dans untriplestore TDB via un point de terminaison SPARQL (SPARQL end-point) accessible à travers HTTP..
Attention: Jena5 nécessite une version 17 ou plus récente de Java.
1.1 apache-jena : APIs et outils en ligne de commande
Pour l'installation des APIs et outils JENA vous procéderez de la manière suivante
1.1.1 Télécharger une distribution binaire de apache-jena
Sur la page de téléchargement de JENA téléchargez la dernière version de JENA (5.1.0 au 29/09/2024) et décompressez le fichier (.tar.gz ou .zip).
1.1.2 Configurer votre environnement
Pour pouvoir utiliser les programme Jena depuis ligne de commande, il vous faut modifier votre environnement système pour que les commandes Jena soient reconnues
-
Ajoutez une variable d'environnement
JENA_HOME
dont la valeur est le nom du dossier où vous avez extrait JENA. -
Ajoutez le répertoire contenant les scripts des outils JENA à votre variable
d'environnement PATH.
- Windows: %JENA_HOME%\bat
- Unix: %JENA_HOME%/bin
Pour effectuer cela sur un système UNIX, en supposant que vous avez
extrait JENA dans le répertoire apache-jena-5.1.0
de votre
home dir, vous pouvez ajouter les lignes suivantes
à votre fichier .bashrc
:
export JENA_HOME="$HOME/apache-jena-5.1.0"
PATH="$JENA_HOME/bin:$PATH"
1.1.3 Verification du bon fonctionnement des outils Jena
Verifiez que les outils de la ligne de commande sont reconnus et s'exécutent bien
-
Ouvrez un nouveau terminal.
-
Tappez la commande : riot --version. Vous devez obtenir une sortie similaire à:
Apache Jena RIOT version 5.1.0
-
Verifier que JENA peut effectuer une requête SPARQL sur un serveur distant
La requête SPARQL ci-dessous permet de retrouver tous les écrivains (type
dbo:Writer
nés dans la même ville que Paul Auster présents dans DBpedia, et d'afficher pour ceux-ci leur label (en anglais) qui correspond à leur nom, leur date de naissance et éventuellement leur date de décès. Cette liste est obtenue dans l'ordre croissant des dates de naissance.PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX dbr: <http://dbpedia.org/resource/> PREFIX dbo: <http://dbpedia.org/ontology/> SELECT DISTINCT ?label ?birthDate ?deathDate WHERE { dbr:Paul_Auster dbo:birthPlace ?bplace. ?bplace rdf:type dbo:City. ?x rdf:type dbo:Writer; rdfs:label ?label; dbo:birthDate ?birthD; dbo:birthPlace ?bplace. FILTER (?x != dbr:Paul_Auster && LANG(?label) = "en") BIND(STR(?birthD) AS ?birthDate) OPTIONAL { ?x dbo:deathDate ?deathD BIND(STR(?deathD) AS ?deathDate) } } ORDER by ?birthDate
Sauvegardez cette requête dans un fichier
testDBpedia.rq
puis exécutez la commande suivante :rsparql --service=http://dbpedia.org/sparql --query=testDBpedia.rq
Vous devez obtenir un résultat similaire à :
----------------------------------------------------------------- | label | birthDate | deathDate | ================================================================= | "Stephen Johnson (minister)"@en | "1724-05-17" | "1786-11-08" | | "Stephen Crane"@en | "1871-11-01" | "1900-06-05" | | "Harriet Adams"@en | "1892-12-12" | "1982-03-27" | | "Louis Ginsberg"@en | "1895-10-01" | "1976-07-06" | | "Roger Garis"@en | "1901-09-10" | "1967-09-30" | | "John W. Campbell"@en | "1910-06-08" | "1971-07-11" | | "Sam Moskowitz"@en | "1920-06-30" | "1997-04-15" | | "Allan Manings"@en | "1924-03-28" | "2010-05-12" | | "Allen Ginsberg"@en | "1926-06-03" | "1997-04-05" | | "W. E. B. Griffin"@en | "1929-11-10" | "2019-02-12" | | "Judith Viorst"@en | "1931-02-02" | | | "Philip Roth"@en | "1933-03-19" | "2018-05-22" | | "Amiri Baraka"@en | "1934-10-07" | "2014-01-09" | | "C. K. Williams"@en | "1936-11-04" | "2015-09-20" | | "Donald Crews"@en | "1938-08-30" | | | "Charles L. Grant"@en | "1942-09-12" | "2006-09-15" | | "Joanna Cole (author)"@en | "1944-08-11" | "2020-07-12" | | "Marc Leepson"@en | "1945-06-20" | | | "Robert Weinberg (author)"@en | "1946-08-29" | "2016-09-25" | | "Jack Cashill"@en | "1947-12-15" | | | "Nick Tosches"@en | "1949-10-23" | "2019-10-20" | | "Alan Pizzarelli"@en | "1950-01-12" | | | "Michael Leahy (author)"@en | "1953-01-28" | | | "Carol Colatrella"@en | "1957-08-18" | | | "Tom Perrotta"@en | "1961-08-13" | | | "Taalam Acey"@en | "1970-09-16" | | | "Michael Seitzman"@en | "1977-11-01" | | | "Thomas Chatterton Williams"@en | "1981-03-26" | | -----------------------------------------------------------------
ATTENTION si votre sytème utilise un proxy HTTP, afin de pouvoir faire des requêtes sur des SPARQL Endpoints externes (par exemple
dbpedia.org/sparql
) vous devez aussi modifier la variable d'environnementJVM_ARGS
permettant de controler les arguments par défaut de la machine virtuelle Java (JVM) pour indiquer les caractéristiques de votre proxy HTTP. Par exemple:export JVM_ARGS="-Xmx1024M -Dhttp.proxyHost=www-cache.univ-grenoble-alpes.fr -Dhttp.proxyPort=3128"
1.2 : apache-fuseki: serveur SPARQL
site web: http://jena.apache.org/documentation/fuseki2/index.html
Pour l'installation du serveur FUSEKI (version 5.1.0 au 29 septembre 2024) procédez comme suit
1.2.1 Télecharger FUSEKI
Sur la page de téléchargement de Jena téléchargez le serveur FUSEKI et décompressez le fichier correspondant (.tar.gz ou .zip).
1.2.2 Démarer le serveur Fuseki
-
Dans un terminal, placez vous sur le répertoire
apache-jena-fuseki-5.1.0
où vous avez décompressé jena-fuseki -
Exécutez le script
fuseki-server
1.2.3 Verification du bon fonctionnement de Fuseki
Pour verifier le bon fonctionnement de Fuseki, tapez l'url
http://localhost:3030
dans
votre navigateur. Vous devez obtenir une page similaire à celle affichée dans la figure
ci-dessous.
1.2.4 Arrêter le serveur Fuseki
Pour arrêter le serveur Fuseki il suffit de taper Ctrl+C dans la console du serveur.
2. L'éditeur d'ontologies Protégé
site web: http://protege.stanford.edu
2.1 Télecharger l'application Desktop Protégé
Sur le site web de Protégé (http://protege.stanford.edu) téléchargez l'application Protégé Desktop et décompressez le fichier correspondant (.tar.gz ou .zip).
2.2 Exécuter Desktop Protégé
Dans un terminal, placez vous sur le répertoire Protege-5.6.4
(version au
29/09/2024)
où vous avez décompressé l'application Protégé Desktop et exécuter le script de
lancement de l'application
(run.sh
sous linux ou run.bat
sous windows).
2.3 Vérifier le bon fonctionnement de Protégé
Si votre machine est correctement configurée pour l'utilisation de Protégé vous devez obtenir la fenêtre suivante