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 |