Sérialisation

La sérialisation canonique des données de la BODS se présente sous la forme d’un document JSON. IETF RFC 8256 et ECMA 404 fournissent des spécifications équivalentes de JSON. Les éditeurs sont invités à suivre les RECOMMANDATIONS suivantes :

  • utiliser UTF-8 pour une interopérabilité maximale (section 8.1 de RFC 8259) ;

  • Caractères d’échappement qui pourraient causer des problèmes lors de l’ingestion des données (par exemple : &, <).

Voir la section 9 de la spécification ECMA-404 JSON sur les chaînes, l’encodage et l’échappement.

Les lignes JSON PEUVENT également être utilisées pour la création de grands fichiers.

Ordre de l’énoncé

Un fichier BODS JSON DOIT être composé d’une série d’objets d’énoncé ordonnés dans un tableau de niveau supérieur.

En particulier, les valeurs interestedParty et subject d’un énoncé de relation, s’il s’agit d’une valeur recordId, DOIVENT correspondre à la valeur recordId d’au moins un autre énoncé précédent dans le tableau.

Autre forme de tableau

Les données de la BODS PEUVENT également être sérialisées sous forme de tableau dont chaque rangée représente un énoncé. Les colonnes DEVRAIENT représenter les champs de l’énoncé et les titres de colonne utiliser le JSON Pointer correspondant depuis la racine de l’énoncé.

Par exemple, l’extrait :

[
 {
   "statementId": "e3c07f34-1810-4eed-b845-4d9f4d97f9d5",
   "recordId": "1810-4eed-b845-4d9f4d97f9d5",
   "recordType": "entity",
   "recordDetails": {
     "identifiers": [
       {
         "scheme": "GB-COH",
         "id": "07444723"
       }
     ]
   }
 },
 {
   "statementId":"a2b485be-e3b6-4fd7-8a6a-930e46cf9957",
   "recordId": "e3b6-4fd7-8a6a-930e46cf9957",
   "recordType":"person",
   "recordDetails": {
     "identifiers":[
       {
         "scheme":"MX-RFC",
         "id":"ABC680524P-76"
       }
     ]
   }
 },
 {
   "statementId":"34b479f2-1681-4064-ab51-1e703fbafa",
   "recordId": "1681-4064-ab51-1e703fbafa",
   "recordType":"relationship"
 }
]

peut être sérialisé dans un tableau comme :

statementId

recordId

recordType

recordDetails/identifiers/0/scheme

recordDetails/identifiers/0/id

e3c07f34-1810-4eed-b845-4d9f4d97f9d5

1810-4eed-b845-4d9f4d97f9d5

entity

GB-COH

07444723

a2b485be-e3b6-4fd7-8a6a-930e46cf9957

e3b6-4fd7-8a6a-930e46cf9957

person

MX-RFC

ABC680524P-76

34b479f2-1681-4064-ab51-1e703fbafa

1681-4064-ab51-1e703fbafa

relationship