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 ydata.inc.php
Fichier ydata.inc.php
File: ydata.inc.php - sous-classes YData et YDataTable pour la gestion des données
journal
5/11/2020:
- modif YData::checkSchemaConformity() pour renvoyer un JsonSchStatus
3-5/1/2019:
- correction affichage
- ajout test de conformité d'une table à son schéma
- traitement du ypath
29/7/2018:
- mécanismes d'accès de base
- manque projection, sélection
- manque json-schema
classe YData : gestion des données structurées en tables
Un document YData correspond à un ensemble de tables, chacune composée d'un ensemble de lignes appelées n-uplets,
qui doivent tous respecter un schéma JSON commun défini pour la table.
Chaque n-uplet est identifié par un champ particulier noté _id comme dans MongoDB.
Cette structuration homogène des n-uplets permet de leur appliquer des traitements,
comme de sélectionner uniquement certains champs dans les n-uplets.
Chaque table comporte des métadonnées.
Cette classe remplace la classe YamlData, elle utilise les schémas JSON et hérite de YamlDoc.
Un document YData contient une liste de tables stockée dans une structure Yaml
tables:
{nomtable}:
title: titre de la table
data: enregistrements contenus dans la table
Une version serialisée du doc est enregistrée pour accélérer la lecture des gros documents.
prototype de Ydata: http://georef.eu/yamldoc/?doc=dublincore
Le ypath peut prendre une des formes suivantes:
- métadonnée du document,
ex
- une table, renvoie la table y compris ses MD,
ex
- métadonnée d'une table dont le nom de MD ne correspond pas à un identifiant de tuple,
ex
- métadonnée d'une table dont le nom de MD correspond à un identifiant de tuple,
ex
- un tuple d'une table identifié par sa clé,
ex
- valeur d'un champ d'un tuple d'une table, tuple identifié par sa clé,
ex
- valeur d'un sous-champ d'un tuple d'une table, tuple identifié par sa clé,
ex,
ex
- valeur d'un champ d'un tuple d'une table, tuple identifié par une valeur qqc,
ex
- valeur d'un champ des tuples d'une table,
ex
- valeurs de champs des tuples d'une table,
ex,
ex,
ex
ex
classe YDataTable : stockage des données contenues dans une table, classe utilisée par YData