UP | HOME

Modèles unifiés de données structurées

Les besoins d'intégration et d'échanges permis par le web supposent la définition de modèles unifiés de données, c'est-à-dire de langages permettant de représenter toutes les sortes de données échangées. On esquisse ici la théorie sous-jacente à ces modèles.

Table of Contents

Modèle unifié de données

Besoin

Langage pour représenter toute sorte de données échangées

  1. suffisamment abstrait pour être compréhensible par des humains,
  2. suffisamment structuré pour être traitable par des machines.

Alternative

  • forme binaire : eg. RMI (Remote Method Invocation), qui utilise une représentation de bas niveau pour représenter des objets (propriété 1 non vérifiée).

Principe général

Algèbre de termes

t ::= f(t_1, ..., t_n) (n : arité) 
  • L'arité peut être fixe ou variable.
  • Un terme = un arbre
  • Représentation par un mot (une chaîne de caractères) après un parcours en profondeur (ou en largeur)

Exemple : (5 + 3 * 2) représentation (classique) de l'arbre

  +
 / \
5   *
   / \
  3   2 

Propriété fondamentale : bijection entre les termes et les mots les représentant

Plusieurs bijections classiques

  • Notation préfixe (polonaise) ou suffixe (polonaise inversée) lorsque l'arité des opérateurs est fixée
    + 5 * 3 2
    5 3 2 * +
    
  • Notation infixe avec parenthèses
    5 + (3 * 2) 
    
  • Notation infixe avec parenthèses et règles de priorité (* prioritaire sur +)
    5 + 3 * 2
    
  • Notation préfixe avec parenthèses (à la Lisp)
    (+ 5 (* 3 2))   
    

Applications

Deux langages dominants : XML et JSON

XML : langage utilisant essentiellement des parenthèses paramétrées (les balises)

JSON : langage plus simple utilisant des parenthèses (accolades ou crochets)

Cf. les compléments sur XML et JSON, ainsi que l'étude des correspondances entre données, et particulièrement entre les langages à objets et les langages de documents.

Last Updated 2015-10-23T19:10+0200. Comments or questions: Send a mail.