Deprecated: Return type of YDataTable::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bdavid/prod/georef/yamldoc/ydclasses/ydata.inc.php on line 428

Deprecated: Return type of YamlDataTable::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bdavid/prod/georef/yamldoc/ydclasses/yamldata.inc.php on line 295
ydc yamlskos.inc.php

Fichier yamlskos.inc.php

File: yamlskos.inc.php - gestion d'un thésaurus Skos organisé en micro-thésaurus

doc

La structuration d'un thésaurus Skos est inspirée de celle utilisée pour EuroVoc.
Elle a été étendue pour gérer les listes de codes et énumérations du règlement interopérabilité Inspire.

Un YamlSkos définit un ensemble de concepts Skos organisés en micro-thésaurus.
Chaque micro-thésaurus est défini comme un ConceptScheme Skos et organisé par domaines.
Chaque domaine est défini comme concept d'un ConceptScheme particulier.
Ces domaines permettent un affichage hiérarchique des micro-thésaurus.

Ce fichier définit les classes YamlSkos, SkosElt, DomainScheme, Domain, Scheme et Concept

journal

18/7/2018:
- adaptation à la restructuration des classes
  la classe YamlSkos hérite de YamlDoc ; SkosElt implemente YamlDocElement
8/7/2018:
- utilisation de la classe MLString pour gérer les chaines multi-lingues
4/7/2018:
- possibilité d'une arborescence des domaines
27-29/6/2018:
- création

classe YamlSkos : gestion d'un thésaurus Skos organisé en micro-thésaurus

La classe YamlSkos hérite de la classe abstraite YamlDoc.
Un document YamlSkos comprend:

classe SkosElt : définition de la classe abstraite SkosElt super-classe de DomainScheme, Domain, Scheme et Concept

La classe SkosElt implémente YamlDocElement. Toutes les infos sont stockées dans la propriété $_c. A la construction les champs string et text sont transformés en objet MLString.

classe DomainScheme : définition de la classe DomainScheme

classe Domain : définition de la classe Domain

classe Scheme : définition de la classe Scheme des micro-thésaurus

La notion Skos de scheme est étendue pour gérer les listes de listes de codes définies pour Inspire. Une telle liste est définie comme liste de code et comporte une propriété hasPart contenant la liste des identifiants des différentes listes contenues. Les sous-listes comportent une propriété isPartOf avec les listes auxquelles elles appartiennent. Ces 2 propriétés hasPart et isPartOf proviennent de Dublin Core.

Chaque scheme, identifié par une clé, contient au moins les champs: - prefLabel qui porte une étiquete mono ou multi-lingue, - le rattachement hiérarchique qui est soit: - domain qui contient la liste des identifiants des domaines auxquels le scheme est rattaché - isPartOf qui contient la liste des identifiants des schemes auxquels le scheme fait partie

classe Concept : définition de la classe Concept

La notion Skos de concept est étendue avec la possibilité d'illustrer le concept par des images. On utilise pour cela le tag depiction défini par foaf (http://xmlns.com/foaf/0.1/) comme indiqué dans https://www.w3.org/2004/02/skos/core/guide/2004-11-25.html#secdepict

Chaque concept, identifié par une clé, contient au moins les champs: - prefLabel qui porte une étiquette mono ou multi-lingue, - inScheme qui contient la liste des identifiants des micro-thésaurus auquel le concept appartient, - le rattachement hiérarchique qui est soit: - topConceptOf qui contient les identifiants des micro-thésaurus dont le concept est concept de premier niveau - broader qui contient les identifiants des concepts plus génériques