Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • F FrenchCropUsage
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 11
    • Issues 11
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

La forge institutionnelle d'INRAE étant en production depuis le 10 juin 2025, nous vous recommandons d'y créer tous vos nouveaux projets.

  • copain
  • FrenchCropUsage
  • Wiki
  • Publication sur le web

Publication sur le web · Changes

Page history
Update Publication sur le web authored Dec 09, 2022 by Bernard Stephan's avatar Bernard Stephan
Show whitespace changes
Inline Side-by-side
Publication-sur-le-web.md
View page @ 6887819d
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 :
## Erreurs détectées
### Publication du 9/12/2022
##### Labels qui se terminent par un caractère non alphabétique
- "Cambarre de Java "
- "plante sept chemises "
- "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
```
cd '/le/répertoire/git/de/frenchcropusage'
......@@ -17,17 +44,18 @@ git pull origin dev
### 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 :
1. Édition de `frenchCropUsage_{onto,thesaurus}_latest.owl` dans protege pour en faire des exports ttl.
2. Édition des exports *ttl* pour supprimer les properties, classes et instances 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*)
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 aussi la valeur de owl:priorVersion.~~
Sauvegarder et fermer.
5. 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
cp frenchCropUsage_thesaurus_latest.ttl toto.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
```sh
......@@ -35,17 +63,34 @@ cat frenchCropUsage_latest.bkp.ttl | sed -e 's/"\(.*\)"^^xsd:anyURI/<\1>/g;s/ont
```
7. Import du thesaurus :
```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
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.
""" | sed -e '/[^[:alpha:]]#/!d;s/^.*"value": \(.*\)#.*$/- \1"/'
```
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
s-update --service=http://localhost:3030/fcu """
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
......@@ -58,7 +103,7 @@ 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
12. **IMPORTANT** Suppression des skos:editorialNote
```sh
s-update --service=http://localhost:3030/fcu/ """
delete {
......@@ -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 }"""
#### ...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
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
14. Ouvrir toto.ttl avec Protege pour faire un export owl vers toto.owl
## Mise à jour du git
......@@ -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
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.
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 :
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 git add frenchCropUsage_latest.$i ; done
......@@ -108,14 +155,11 @@ Publication du git :
```sh
git commit -m "Version $vers mise en ligne le $( date )"
#git push
git push origin v$vers
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
......@@ -125,7 +169,7 @@ emacs toto.ttl
# 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
export vers=3.2
s-put http://ontology.inrae.fr:3030/frenchcropusage/ \
http://ontology.inrae.fr/frenchcropusage/$vers toto.ttl
......@@ -146,6 +190,12 @@ sudo micro config.ttl
## Changer la valeur de conf:indexResource
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
......
Clone repository
  • Add a new crop
  • Competency questions
  • Les cultures : définition et label
  • Outil Corése
  • Outil Protégé
  • Outil gitlab
  • Outil skosplay
  • Publication sur le web
  • catégorie de cultures
  • Home
  • justification de la position dans la hiérarchie
  • mapping vers les sources
  • nom de culture ambigus
  • sources