|
|
Pour publier une nouvelle version sur le web de FCU il faut:
|
|
|
|
|
|
- récupérer le fichier frenchCropUsage_latest.owl dans la branche dev,
|
|
|
- supprimer les skos:EditorialNote qui contiennent les définitions des sources comme le Larousse agricole et dont on n'a pas les droits de duplications.
|
|
|
|
|
|
Voici la marche à suivre :
|
|
|
|
|
|
## Récupération
|
|
|
```
|
|
|
cd '/le/répertoire/git/de/frenchcropusage'
|
|
|
git pull
|
|
|
git checkout dev
|
|
|
git pull origin dev
|
|
|
```
|
|
|
|
|
|
## Préparation
|
|
|
|
|
|
### Fichier ttl
|
|
|
|
|
|
1. Édition de frenchCropUsage_latest.owl dans protege pour en faire un export ttl.
|
|
|
1. Édition de l'export *ttl* pour supprimer les properties, classes et instances
|
|
|
redondants (ceux d'autres ontologies),
|
|
|
1. Vérifier aussi qu'on a bien un `owl:versionIRI` et qu'il pointe sur l'URI de version. **Écrire l'URI sous la forme complète** (*\<http://ontology.inrae.fr/frenchcropusage/3.0>* au lieu de *:3.0*)
|
|
|
Vérifier que le owl:versionInfo est bien un xsd:string.
|
|
|
Vérifier aussi la valeur de owl:priorVersion.
|
|
|
Sauvegarder et fermer.
|
|
|
1. Transformation des littéraux en URI. Au passage, on change les URI en `.irstea.fr` vers `.inrae.fr` s'il en reste :
|
|
|
```sh
|
|
|
cp frenchCropUsage_latest.ttl frenchCropUsage_latest.bkp.ttl
|
|
|
cat frenchCropUsage_latest.bkp.ttl | sed -e 's/"\(.*\)"^^xsd:anyURI/<\1>/g;s/ontology\.irstea\.fr/ontology.inrae.fr/g;s/"http\([^"]*\)".* /<http\1> /g' > frenchCropUsage_latest.ttl
|
|
|
```
|
|
|
6. Démarrage d'un serveur fuseki local dans un terminal à part
|
|
|
```sh
|
|
|
~/opt/share/jena-fuseki/fuseki-server --mem /fcu
|
|
|
```
|
|
|
7. Import du thesaurus :
|
|
|
```sh
|
|
|
s-put http://localhost:3030/fcu default frenchCropUsage_latest.ttl
|
|
|
```
|
|
|
8. Recherche de labels qui ne terminent pas par un caractère alphanumérique
|
|
|
```sh
|
|
|
s-query --service=http://localhost:3030/fcu """
|
|
|
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
|
|
|
SELECT CONCAT(?l, '#') WHERE {{ [] skos:prefLabel ?l } UNION { [] skos:altLabel ?l }}
|
|
|
""" | sed -e '/[^[:alpha:]]#/!d'
|
|
|
#### ...faire remonter les erreurs à Catherine et corriger.
|
|
|
```
|
|
|
9. Changer les rdfs:seeAlso vers larousse agricole en rdfs:comment :
|
|
|
```sh
|
|
|
s-update --service=http://localhost:3030/fcu """
|
|
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
|
|
DELETE { ?b rdfs:seeAlso ?sa }
|
|
|
INSERT { ?b rdfs:comment \"Extrait du larousse agricole qui n'est plus publié depuis 2021.\"@fr }
|
|
|
WHERE { ?b rdfs:seeAlso ?sa FILTER contains(?sa, 'www.larousse.fr') }"""
|
|
|
|
|
|
#### ...on peut vérifier qu'il n'y en a plus :
|
|
|
s-query --service=http://localhost:3030/fcu """
|
|
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
|
|
SELECT ?sa WHERE { [] rdfs:seeAlso ?sa FILTER contains(?sa, 'larousse.fr') }"""
|
|
|
```
|
|
|
10. **IMPORTANT** Suppression des skos:editorialNote
|
|
|
```sh
|
|
|
s-update --service=http://localhost:3030/fcu/ """
|
|
|
delete {
|
|
|
?x <http://www.w3.org/2004/02/skos/core#editorialNote> ?y
|
|
|
} where {
|
|
|
?x <http://www.w3.org/2004/02/skos/core#editorialNote> ?y
|
|
|
}"""
|
|
|
|
|
|
### Vérification :
|
|
|
s-query --service=http://localhost:3030/fcu """
|
|
|
SELECT ?s ?o WHERE { ?s <http://www.w3.org/2004/02/skos/core#editorialNote> ?o }"""
|
|
|
#### ...ne devrait renvoyer aucun résultat.
|
|
|
```
|
|
|
12. Récupération du contenu de l'instance locale et ttl et conversion en rdf :
|
|
|
```sh
|
|
|
s-get http://localhost:3030/fcu/ default > toto.ttl
|
|
|
rapper -o rdfxml -i turtle toto.ttl > toto.rdf
|
|
|
```
|
|
|
13. Ouvrir toto.ttl avec Protege pour faire un export owl vers toto.owl
|
|
|
|
|
|
## Mise à jour du git
|
|
|
|
|
|
```sh
|
|
|
# S'il y a des conflits dans la branche dev : git reset --merge
|
|
|
git checkout master
|
|
|
export dt=$( date +'%Y%m%d' )
|
|
|
export vers=3.0 # ← Attention, changer avec la version de fcu que l'on crée.
|
|
|
|
|
|
# Si l'on s'apprête à publier une nouvelle version on crée une nouvelle branche :
|
|
|
git switch -c v$vers
|
|
|
|
|
|
for i in owl rdf ttl; do mv toto.$i frenchCropUsage_latest.$i ; done
|
|
|
for i in owl rdf ttl; do git add frenchCropUsage_latest.$i ; done
|
|
|
```
|
|
|
|
|
|
Création d'une version qui s'affiche correctement dans SkosPlay :
|
|
|
```sh
|
|
|
cp frenchCropUsage_latest.ttl frenchCropUsage_latest_forSkosPlay.ttl
|
|
|
emacs frenchCropUsage_latest_forSkosPlay.ttl
|
|
|
# On recherche les deux instances de skos:Collection et on les supprime
|
|
|
|
|
|
rapper -o rdfxml -i turtle frenchCropUsage_latest_forSkosPlay.ttl > frenchCropUsage_latest_forSkosPlay.rdf
|
|
|
git add frenchCropUsage_latest_forSkosPlay.rdf
|
|
|
```
|
|
|
|
|
|
Publication du git :
|
|
|
```sh
|
|
|
git commit -m "Version $vers mise en ligne le $( date )"
|
|
|
#git push
|
|
|
git push origin v$vers
|
|
|
```
|
|
|
|
|
|
## Mise en ligne dans le triplestore
|
|
|
|
|
|
Avant de mettre en ligne, il faut **dupliquer** l'owl:Ontology en URI de version ; il s'agit de copier <http://ontology.inrae.fr/frenchcropusage> dans <http://ontology.inrae.fr/frenchcropusage/3.0> par exemple (pour la version 3.0).
|
|
|
**Attention:** ceci ne doit pas être sur la version en ligne dans le git.
|
|
|
|
|
|
```bash
|
|
|
cp frenchCropUsage_latest.ttl toto.ttl
|
|
|
|
|
|
emacs toto.ttl
|
|
|
# On renomme le owl:Ontology en un owl:Ontology versionné
|
|
|
# (p.ex : <http://ontology.inrae.fr/frenchcropusage/3.1>).
|
|
|
# Attention, il n'est plus au début du fichier :-(
|
|
|
|
|
|
# Si ça n'est pas déjà fait, ne pas oublier :
|
|
|
export vers=3.1
|
|
|
|
|
|
s-put http://ontology.inrae.fr:3030/frenchcropusage/ \
|
|
|
http://ontology.inrae.fr/frenchcropusage/$vers toto.ttl
|
|
|
s-put http://ontology.inrae.fr:3030/frenchcropusage/ default toto.ttl
|
|
|
|
|
|
rm toto.ttl # Il n'est pas suivi par le git.
|
|
|
```
|
|
|
|
|
|
### S'il y a eu un changement de version
|
|
|
|
|
|
Il faut mettre à jour la version déréférencée par [http://ontology.inrae.fr/frenchcropusage](http://ontology.inrae.fr/frenchcropusage) dans pubby.
|
|
|
|
|
|
```sh
|
|
|
ssh ontology
|
|
|
cd /var/lib/tomcat9/webapps/frenchcropusage/WEB-INF/
|
|
|
|
|
|
sudo micro config.ttl
|
|
|
## Changer la valeur de conf:indexResource
|
|
|
|
|
|
sudo systemctl restart tomcat9.service
|
|
|
```
|
|
|
|
|
|
## Serveur
|
|
|
|
|
|
Édition du fichier de config de fuseki.
|
|
|
|
|
|
Voilà la config actuelle :
|
|
|
|
|
|
```ttl
|
|
|
<#serviceFrenchCropusage> rdf:type fuseki:Service;
|
|
|
fuseki:name "frenchcropusage" ;
|
|
|
fuseki:serviceQuery "query" ;
|
|
|
fuseki:serviceQuery "sparql" ;
|
|
|
fuseki:serviceUpdate "update" ;
|
|
|
fuseki:serviceUpload "upload" ;
|
|
|
fuseki:serviceReadWriteGraphStore "data" ;
|
|
|
fuseki:serviceReadGraphStore "get" ;
|
|
|
fuseki:dataset [ rdf:type tdb2:DatasetTDB2;
|
|
|
tdb2:location "/data2/datasets/frenchcropusage-TDB2"; ]
|
|
|
.
|
|
|
``` |