Cette page présente un certain nombre d'outils Java open source pour le web sémantique


Attention: tous ces outils nécessitent une version 8 de Java.


Apache JENA

site web: http://apache.jena.org

Pour l'installation des outils JENA vous procéderez de la manière suivante

1) Télécharger jena

Sur la page de téléchargement de JENA téléchargez la dernière version de JENA (3.9.0 au 10/10/2018) et décompressez le fichier (.tar.gz ou .zip).

2) Configurer votre environnement

  1. Ajoutez une variable d'environnement JENA_HOME dont la valeur est le nom du dossier où vous avez extrait JENA.
  2. 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-3.9.0 de votre home dir, vous pouvez ajouter les lignes suivantes à votre fichier .bashrc :

export JENA_HOME="$HOME/apache-jena-3.9.0"
PATH="$JENA_HOME/bin:$PATH"

3) Verification du bon fonctionnement des outils Jena

  1. Verifier que les outils de la ligne de commande sont reconnus et s'exécutent bien

    Tappez la commande : riot --version. Vous devez obtenir une sortie similaire à:

    Jena:       VERSION: 3.1.1
    Jena:       BUILD_DATE: 2016-11-04T18:59:20+0000
    RIOT:       VERSION: 3.1.1
    RIOT:       BUILD_DATE: 2016-11-04T18:59:20+0000
  2. Verifier que les JENA peux 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) et si elle existe leur description (en anglais aussi).

    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/>
    PREFIX foaf: <http://xmlns.com/foaf/0.1/>
    PREFIX dc: <http://purl.org/dc/elements/1.1/> 
    
    SELECT DISTINCT ?x ?name ?descr
    WHERE {
      dbr:Paul_Auster dbo:birthPlace ?bplace.
      ?bplace rdf:type dbo:City.
      ?x rdf:type dbo:Writer;
         rdfs:label ?name;
         dbo:birthPlace ?bplace.
      FILTER (?x != dbr:Paul_Auster && LANG(?name) = "en")
      OPTIONAL {
        ?x dc:description ?descr.
        FILTER (LANG(?descr) =  "en")
      }
    } ORDER by ?x

    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 à :

    ------------------------------------------------------------------------------------------------------------------------------------
    | x                                                      | name                          | descr                                   |
    ====================================================================================================================================
    | dbr:Adrian_Spies                                       | "Adrian Spies"@en             | "Author, screenwriter"@en               |
    | dbr:Alan_Pizzarelli                                    | "Alan Pizzarelli"@en          | "American writer"@en                    |
    | dbr:Allan_Manings                                      | "Allan Manings"@en            |                                         |
    | dbr:Allen_Ginsberg                                     | "Allen Ginsberg"@en           |                                         |
    | dbr:Amiri_Baraka                                       | "Amiri Baraka"@en             | "Poet, playwright, critic, activist"@en |
    | dbr:C._K._Williams                                     | "C. K. Williams"@en           |                                         |
    | dbr:Carol_Colatrella                                   | "Carol Colatrella"@en         | "American writer"@en                    |
    | dbr:Charles_L._Grant                                   | "Charles L. Grant"@en         |                                         |
    | dbr:Clinton_H._Stagg                                   | "Clinton H. Stagg"@en         | "Author and screenwriter"@en            |
    | dbr:Harlan_Coben                                       | "Harlan Coben"@en             |                                         |
    | dbr:Harriet_Adams                                      | "Harriet Adams"@en            |                                         |
    | dbr:Jack_Cashill                                       | "Jack Cashill"@en             | "American journalist"@en                |
    | dbr:John_W._Campbell                                   | "John W. Campbell"@en         |                                         |
    | dbr:Marc_Leepson                                       | "Marc Leepson"@en             | "American journalist"@en                |
    | <http://dbpedia.org/resource/Michael_Leahy_(author)>   | "Michael Leahy (author)"@en   | "American journalist"@en                |
    | dbr:Nick_Tosches                                       | "Nick Tosches"@en             |                                         |
    | dbr:Niobia_Bryant                                      | "Niobia Bryant"@en            | "American novelist"@en                  |
    | dbr:Peter_Allen_Golden                                 | "Peter Allen Golden"@en       | "American writer"@en                    |
    | dbr:Philip_Roth                                        | "Philip Roth"@en              |                                         |
    | <http://dbpedia.org/resource/Robert_Weinberg_(author)> | "Robert Weinberg (author)"@en |                                         |
    | dbr:Sam_Moskowitz                                      | "Sam Moskowitz"@en            |                                         |
    | dbr:Taalam_Acey                                        | "Taalam Acey"@en              | "Poet, musician"@en                     |
    | dbr:Tom_Perrotta                                       | "Tom Perrotta"@en             |                                         |
    | dbr:W._E._B._Griffin                                   | "W. E. B. Griffin"@en         |                                         |
    ------------------------------------------------------------------------------------------------------------------------------------                                        
                                        

    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'environnement JVM_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.ujf-grenoble.fr -Dhttp.proxyPort=3128"

Serveur FUSEKI

site web: http://jena.apache.org/documentation/fuseki2/index.html

Pour l'installation du serveur FUSEKI procédez comme suit

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).

2) Démarer le serveur Fuseki

  1. Dans un terminal, placez vous sur le répertoire apache-jena-fuseki-3.x.x où vous avez décompressé jena-fuseki

  2. Exécutez le script fuseki-server

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.

L'éditeur d'ontologies Protégé

site web: http://protege.stanford.edu

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) Exécuter Desktop Protégé

Dans un terminal, placez vous sur le répertoire Protege-5.1.0 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).

3) Vérifier le bon fonctionnement de Protégé

Si votre machine est correctement configurée pour l'utilsiation de Protégé vous devez obtenir la fenêtre suivante