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
yaml pub]
Menu : html yaml json edit check reindex dump unset
* 

file

name yamlskos.inc.php
title 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

classes

YamlSkos

name class YamlSkos
title gestion d'un thésaurus Skos organisé en micro-thésaurus
doc

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

  • des champs de métadonnées DublinCore dont au moins:
    • title: le titre du thésaurus
    • language: la ou les langues utilisées
  • un champ domainScheme qui contient le Scheme des domaines qui est un objet de la classe DomainScheme l'objet domainScheme comporte le champ suivant:
    • hasTopConcept qui liste les identifiants des domaines de premier niveau
  • un champ domains qui contient le dictionnaire des domaines ; chaque domaine est défini comme un concept Skos, identifié par une clé et objet de la classe Domain, il contient au moins les champs:
    • prefLabel qui porte une étiquette mono ou multi-lingue, Les domaines qui ne sont pas de premier niveau doivent définir un champ broader définissant un concept plus générique.
  • un champ schemes qui contient le dictionnaire des micro-thésaurus ; chacun défini comme scheme Skos, identifié par une clé et objet de la classe Scheme
  • un champ concepts qui contient le dictionnaire des concepts ; chacun identifié par une clé et objet de la classe Concept

SkosElt

name class SkosElt
title définition de la classe abstraite SkosElt super-classe de DomainScheme, Domain, Scheme et Concept
doc

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.

DomainScheme

title définition de la classe DomainScheme

Domain

title définition de la classe Domain

Scheme

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

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

Concept

name class Concept
title définition de la classe Concept
doc

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