|
Pour publier une nouvelle version sur le web de FCU il faut:
|
|
## Erreurs détectées
|
|
|
|
### Publication du 9/12/2022
|
|
- récupérer le fichier frenchCropUsage_latest.owl dans la branche dev,
|
|
##### Labels qui se terminent par un caractère non alphabétique
|
|
- 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.
|
|
- "Cambarre de Java "
|
|
|
|
- "plante sept chemises "
|
|
Voici la marche à suivre :
|
|
- "chicorée sauvage "
|
|
|
|
- "reine des fruits (en hommage à la reine Victoria)"
|
|
|
|
- "Légumineuses potagères (sèches)"
|
|
|
|
|
|
|
|
##### Concepts liés à une date qui a un attribut de langue :
|
|
|
|
- Proteagineux
|
|
|
|
- Choux_verts_non_pommes
|
|
|
|
- Cedres_ornementaux
|
|
|
|
- Choux_pommes
|
|
|
|
- Hysopes
|
|
|
|
- Erables
|
|
|
|
- Choux_potagers
|
|
|
|
- Chenes_forestiers
|
|
|
|
- Erables_forestiers
|
|
|
|
- Epiceas
|
|
|
|
- Arboriculture
|
|
|
|
- Erables_sycomores
|
|
|
|
- Anemones
|
|
|
|
- Erables_ornementaux
|
|
|
|
- Oliviers_fruitiers
|
|
|
|
- Cotonniers_fibres
|
|
|
|
- Carottes_potageres
|
|
|
|
- Arbrisseaux_ornementaux
|
|
|
|
|
|
|
|
##### Concepts manquants
|
|
|
|
- Arbrisseaux_ornementaux n'est pas typé skos:Concept.
|
|
|
|
|
|
|
|
|
|
|
|
# Marche à suivre pour la publication
|
|
## Récupération
|
|
## Récupération
|
|
```
|
|
```
|
|
cd '/le/répertoire/git/de/frenchcropusage'
|
|
cd '/le/répertoire/git/de/frenchcropusage'
|
... | @@ -17,17 +44,18 @@ git pull origin dev |
... | @@ -17,17 +44,18 @@ git pull origin dev |
|
|
|
|
|
### Fichier ttl
|
|
### Fichier ttl
|
|
|
|
|
|
1. Édition de frenchCropUsage_latest.owl dans protege pour en faire un export ttl.
|
|
1. Édition de `frenchCropUsage_{onto,thesaurus}_latest.owl` dans protege pour en faire des exports ttl.
|
|
1. Édition de l'export *ttl* pour supprimer les properties, classes et instances
|
|
2. Édition des exports *ttl* pour supprimer les properties, classes et instances redondants (ceux d'autres ontologies),
|
|
redondants (ceux d'autres ontologies),
|
|
3. 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*)
|
|
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*)
|
|
4. Versionner les `owl:Ontology` (`fcu:/def/1.0` et `fcu:3.2` par exemple).
|
|
Vérifier que le owl:versionInfo est bien un xsd:string.
|
|
~~Vérifier que le owl:versionInfo est bien un xsd:string.~~
|
|
Vérifier aussi la valeur de owl:priorVersion.
|
|
~~Vérifier aussi la valeur de owl:priorVersion.~~
|
|
Sauvegarder et fermer.
|
|
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 :
|
|
5. Transformation des littéraux en URI. Au passage, on change les URI en `.irstea.fr` vers `.inrae.fr` s'il en reste :
|
|
```sh
|
|
```sh
|
|
cp frenchCropUsage_latest.ttl frenchCropUsage_latest.bkp.ttl
|
|
cp frenchCropUsage_thesaurus_latest.ttl toto.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
|
|
cat toto.ttl | sed -e 's/"\(.*\)"^^xsd:anyURI/<\1>/g;s/ontology\.irstea\.fr/ontology.inrae.fr/g;s/"http\([^"]*\)".* /<http\1> /g' > frenchCropUsage_thesaurus_latest.ttl
|
|
|
|
rm toto.ttl
|
|
```
|
|
```
|
|
6. Démarrage d'un serveur fuseki local dans un terminal à part
|
|
6. Démarrage d'un serveur fuseki local dans un terminal à part
|
|
```sh
|
|
```sh
|
... | @@ -35,17 +63,34 @@ cat frenchCropUsage_latest.bkp.ttl | sed -e 's/"\(.*\)"^^xsd:anyURI/<\1>/g;s/ont |
... | @@ -35,17 +63,34 @@ cat frenchCropUsage_latest.bkp.ttl | sed -e 's/"\(.*\)"^^xsd:anyURI/<\1>/g;s/ont |
|
```
|
|
```
|
|
7. Import du thesaurus :
|
|
7. Import du thesaurus :
|
|
```sh
|
|
```sh
|
|
s-put http://localhost:3030/fcu default frenchCropUsage_latest.ttl
|
|
s-put http://localhost:3030/fcu default \
|
|
|
|
frenchCropUsage_onto_latest.ttl
|
|
|
|
s-post http://localhost:3030/fcu default \
|
|
|
|
frenchCropUsage_thesaurus_latest.ttl
|
|
```
|
|
```
|
|
8. Recherche de labels qui ne terminent pas par un caractère alphanumérique
|
|
8. Recherche de labels qui ne terminent pas par un caractère alphanumérique, **et on écrit les erreurs dans le wiki, sur la page de publication**.
|
|
```sh
|
|
```sh
|
|
s-query --service=http://localhost:3030/fcu """
|
|
s-query --service=http://localhost:3030/fcu """
|
|
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
|
|
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
|
|
SELECT CONCAT(?l, '#') WHERE {{ [] skos:prefLabel ?l } UNION { [] skos:altLabel ?l }}
|
|
SELECT CONCAT(?l, '#') WHERE {{ [] skos:prefLabel ?l } UNION { [] skos:altLabel ?l }}
|
|
""" | sed -e '/[^[:alpha:]]#/!d'
|
|
""" | sed -e '/[^[:alpha:]]#/!d;s/^.*"value": \(.*\)#.*$/- \1"/'
|
|
#### ...faire remonter les erreurs à Catherine et corriger.
|
|
|
|
```
|
|
```
|
|
9. Changer les rdfs:seeAlso vers larousse agricole en rdfs:comment :
|
|
9. On cherche les dates qui n'ont pas de "xsd:date" **et on écrit les erreurs dans le wiki, dans la page de publication**.
|
|
|
|
```bash
|
|
|
|
s-query --service=http://localhost:3030/fcu """
|
|
|
|
prefix terms: <http://purl.org/dc/terms/>
|
|
|
|
SELECT ?c lang(?d) WHERE {?c terms:issued|terms:modified ?d
|
|
|
|
FILTER (lang(?d) != \"\")}
|
|
|
|
""" | grep "\"c\"" | sed -e 's/^.*\/\([^/]*\)" }.*$/- \1/'
|
|
|
|
```
|
|
|
|
10. On cherche des concepts liés par un skos:broader ou un skos:narrower qui ne sont pas définis, et on écrit les erreurs dans le wiki.
|
|
|
|
```bash
|
|
|
|
s-query --service=http://localhost:3030/fcu """
|
|
|
|
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
|
|
|
|
SELECT ?c WHERE {[] skos:broader|skos:narrower ?c
|
|
|
|
FILTER NOT EXISTS { ?c a skos:Concept }}"""
|
|
|
|
```
|
|
|
|
11. Changer les rdfs:seeAlso vers larousse agricole en rdfs:comment :
|
|
```sh
|
|
```sh
|
|
s-update --service=http://localhost:3030/fcu """
|
|
s-update --service=http://localhost:3030/fcu """
|
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
... | @@ -58,7 +103,7 @@ s-query --service=http://localhost:3030/fcu """ |
... | @@ -58,7 +103,7 @@ s-query --service=http://localhost:3030/fcu """ |
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
|
SELECT ?sa WHERE { [] rdfs:seeAlso ?sa FILTER contains(?sa, 'larousse.fr') }"""
|
|
SELECT ?sa WHERE { [] rdfs:seeAlso ?sa FILTER contains(?sa, 'larousse.fr') }"""
|
|
```
|
|
```
|
|
10. **IMPORTANT** Suppression des skos:editorialNote
|
|
12. **IMPORTANT** Suppression des skos:editorialNote
|
|
```sh
|
|
```sh
|
|
s-update --service=http://localhost:3030/fcu/ """
|
|
s-update --service=http://localhost:3030/fcu/ """
|
|
delete {
|
|
delete {
|
... | @@ -72,12 +117,12 @@ s-query --service=http://localhost:3030/fcu """ |
... | @@ -72,12 +117,12 @@ s-query --service=http://localhost:3030/fcu """ |
|
SELECT ?s ?o WHERE { ?s <http://www.w3.org/2004/02/skos/core#editorialNote> ?o }"""
|
|
SELECT ?s ?o WHERE { ?s <http://www.w3.org/2004/02/skos/core#editorialNote> ?o }"""
|
|
#### ...ne devrait renvoyer aucun résultat.
|
|
#### ...ne devrait renvoyer aucun résultat.
|
|
```
|
|
```
|
|
12. Récupération du contenu de l'instance locale et ttl et conversion en rdf :
|
|
13. Récupération du contenu de l'instance locale et ttl et conversion en rdf :
|
|
```sh
|
|
```sh
|
|
s-get http://localhost:3030/fcu/ default > toto.ttl
|
|
s-get http://localhost:3030/fcu/ default > toto.ttl
|
|
rapper -o rdfxml -i turtle toto.ttl > toto.rdf
|
|
rapper -o rdfxml -i turtle toto.ttl > toto.rdf
|
|
```
|
|
```
|
|
13. Ouvrir toto.ttl avec Protege pour faire un export owl vers toto.owl
|
|
14. Ouvrir toto.ttl avec Protege pour faire un export owl vers toto.owl
|
|
|
|
|
|
## Mise à jour du git
|
|
## Mise à jour du git
|
|
|
|
|
... | @@ -85,10 +130,12 @@ rapper -o rdfxml -i turtle toto.ttl > toto.rdf |
... | @@ -85,10 +130,12 @@ rapper -o rdfxml -i turtle toto.ttl > toto.rdf |
|
# S'il y a des conflits dans la branche dev : git reset --merge
|
|
# S'il y a des conflits dans la branche dev : git reset --merge
|
|
git checkout master
|
|
git checkout master
|
|
export dt=$( date +'%Y%m%d' )
|
|
export dt=$( date +'%Y%m%d' )
|
|
export vers=3.0 # ← Attention, changer avec la version de fcu que l'on crée.
|
|
export vers=3.2 # ← 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 :
|
|
# Si l'on s'apprête à publier une nouvelle version on crée une nouvelle branche :
|
|
git switch -c v$vers
|
|
### ATTENETION : On crée la branche de la version précédente ! La version en cours est master.
|
|
|
|
git switch -c v3.1
|
|
|
|
git checkout master
|
|
|
|
|
|
for i in owl rdf ttl; do mv toto.$i frenchCropUsage_latest.$i ; done
|
|
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
|
|
for i in owl rdf ttl; do git add frenchCropUsage_latest.$i ; done
|
... | @@ -108,14 +155,11 @@ Publication du git : |
... | @@ -108,14 +155,11 @@ Publication du git : |
|
```sh
|
|
```sh
|
|
git commit -m "Version $vers mise en ligne le $( date )"
|
|
git commit -m "Version $vers mise en ligne le $( date )"
|
|
#git push
|
|
#git push
|
|
git push origin v$vers
|
|
git push # origin v$vers
|
|
```
|
|
```
|
|
|
|
|
|
## Mise en ligne dans le triplestore
|
|
## 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
|
|
```bash
|
|
cp frenchCropUsage_latest.ttl toto.ttl
|
|
cp frenchCropUsage_latest.ttl toto.ttl
|
|
|
|
|
... | @@ -125,7 +169,7 @@ emacs toto.ttl |
... | @@ -125,7 +169,7 @@ emacs toto.ttl |
|
# Attention, il n'est plus au début du fichier :-(
|
|
# Attention, il n'est plus au début du fichier :-(
|
|
|
|
|
|
# Si ça n'est pas déjà fait, ne pas oublier :
|
|
# Si ça n'est pas déjà fait, ne pas oublier :
|
|
export vers=3.1
|
|
export vers=3.2
|
|
|
|
|
|
s-put http://ontology.inrae.fr:3030/frenchcropusage/ \
|
|
s-put http://ontology.inrae.fr:3030/frenchcropusage/ \
|
|
http://ontology.inrae.fr/frenchcropusage/$vers toto.ttl
|
|
http://ontology.inrae.fr/frenchcropusage/$vers toto.ttl
|
... | @@ -146,6 +190,12 @@ sudo micro config.ttl |
... | @@ -146,6 +190,12 @@ sudo micro config.ttl |
|
## Changer la valeur de conf:indexResource
|
|
## Changer la valeur de conf:indexResource
|
|
|
|
|
|
sudo systemctl restart tomcat9.service
|
|
sudo systemctl restart tomcat9.service
|
|
|
|
|
|
|
|
sudo micro /etc/apache2/sites-available/proxy-jena.conf
|
|
|
|
# Adampter la réécriture de la condition /frenchcropusage/def :
|
|
|
|
# RewriteCond "%{REQUEST_URI}" "/frenchcropusage/def/?$"
|
|
|
|
# RewriteRule "/frenchcropusage/def/?$" "http://ontology.inrae.fr/frenchcropusage/def/1.0" [P,L]
|
|
|
|
sudo systemctl restart apache2.service
|
|
```
|
|
```
|
|
|
|
|
|
## Serveur
|
|
## Serveur
|
... | | ... | |