Pré-requis:
On clone, dans le répertoire de notre choix, par exemple /opt/skosmos les sources, on prend la dernière branche maintenance:
$ cd /opt $ git clone -b v2.1-maintenance https://github.com/NatLibFi/Skosmos.git skosmos
Pour installer les dépendances, on a besoin de composer:
cd /opt/skosmos wget https://getcomposer.org/composer.phar
Puis on va chercher les dépendances:
cd /opt/skosmos php composer.phar install --no-dev
En fait, on installe toutes les dépendances, même celles pour le dev
cd /opt/skosmos php composer.phar install
cd /var/www ln -s /opt/skosmos/ skosmos
Pour la création du virtualhost sous apache voir la page: Création de virtualHost]]
On édite le fichier /etc/apache2/sites-available/monsite.fr.conf pour ajouter un *alias*.
Le but étant que l'url http://monsite.fr/vocabularies me renvoie vers l'application skosmos
<VirtualHost *:80>
ServerName monsite.fr
ServerAdmin admin@monsite.fr
DocumentRoot /var/www/html
<Directory /var/www/html>
AllowOverride All
</Directory>
# skosmos
# -------
Alias /vocabularies /var/www/skosmos
<Directory /var/www/skosmos>
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Il faut maintenant configurer skosmos pour qu'il interroge mon serveur jena-fuseki.
Il faut donc copier le fichier /opt/skosmos/config.ttl.dist dans /opt/skosmos/config.ttl
cd /opt/skosmos sudo cp config.ttl.dist config.ttl
Puis il faut éditer le fichier /opt/skosmos/config.ttl.
Les premiers paramètres sont les paramètres généraux de l'application, Voici les paramètres que nous modifions:
| Nom | Valeur | Remarque |
|---|---|---|
sparqlEndpoint | http://localhost:3030/formater/sparql | Pour le moment nous n'avons pas créé de dataset formater |
serviceName | ForM@Ter vocabularies | Il s'agit du nom de l'application/service |
baseHref | http://monsite.fr/vocabularies/ | l'url de l'application |
languages | On garde français et anglais (voir la syntaxe dans le fichier) | les langues utilisés pour l'interface |
customCss | resource/css/formater.css | L'adresse de notre propre fichier css |
La première partie de notre fichier ressemble à
:config a skosmos:Configuration ;
skosmos:sparqlEndpoint <http://localhost:3030/formater/sparql> ;
# --- etc
skosmos:serviceName "ForM@Ter Vocabularies" ;
skosmos:baseHref "http://monsite.fr/vocabularies/" ;
skosmos:languages (
[ rdfs:label "fr" ; rdf:value "fr_FR.utf8" ]
[ rdfs:label "en" ; rdf:value "en_GB.utf8" ]
) ;
# .....etc
skosmos:customCss "resource/css/formater.css" ;
Pour le moment, nous n'avons chargé dans jena-fuseki que le gcmd scientific keywords.
Il nous faut:
dataset entré dans jena-fuseki)Ce qui nous donne, quelque chose ressemblant à:
:gcmd-science-keywords a skosmos:Vocabulary, void:Dataset ;
dc:title "GCMD Earth Science keywords"@en ;
skosmos:shortName "GCMD";
dc:subject :cat_scientific ;
void:uriSpace "https://gcmdservices.gsfc.nasa.gov/kms/concept/";
skosmos:language "en";
skosmos:defaultLanguage "en";
skosmos:showTopConcepts true ;
skosmos:groupClass isothes:ConceptGroup ;
void:sparqlEndpoint <http://localhost:3030/gcmd/sparql> ;
skosmos:sparqlGraph <https://gcmdservices.gsfc.nasa.gov/kms/concept/> .
Il est possible de définir des catégories de vocabulaires. Elles seront affichées sur la page d'accueil.
Les vocabulaires pour être triés par catégorie doivent comporter dans leur déclaration, un champ dc:subject (voir le paragraphe précédent)
Ici nous définissons 2 catégories:
:categories a skos:ConceptScheme;
skos:prefLabel "Skosmos Vocabulary Categories"@en
.
:cat_general a skos:Concept ;
skos:topConceptOf :categories ;
skos:inScheme :categories ;
skos:prefLabel
"General concepts"@en,
"Concepts généraux"@fr
.
:cat_scientific a skos:Concept ;
skos:topConceptOf :categories ;
skos:inScheme :categories ;
skos:prefLabel "Scientific concepts"@en,
"Concepts scientifiques"@fr
.