URI : identification du contenu de manière unique
L'objectif de Scrutari est de rassembler des informations provenant de sites différents. Se pose alors la question de donner une identification unique à chacun des contenus transmis par le format de ScrutariData (autrement dit les fiches, les mots-clés, les corpus, les thésaurus et les bases elles-mêmes) afin d'éviter les conflits. En interne, le serveur Scrutari attribue un numéro à chacun de ces contenus mais ce numéro n'est pas pérenne (sauf paramétrage particulier), n'est pas signifiant et reste propre au serveur lui-même alors qu'un même fichier au format ScrutariData peut être utilisé par plusieurs serveurs différents.
Le principe adopté dans Scrutari repose sur la construction d'un URI (Unique Resource Identifier) pour chacun de ces éléments. Tous ces éléments ont un tronc commun constitué d'un nom identifiant de l'autorité productrice de la base et du nom de la base.
Cela donne les formes suivantes :
- URI d'une base : base:/nom de l'autorité/nom de la base
- URI d'un corpus : corpus:/nom de l'autorité/nom de la base/nom du corpus
- URI d'une fiche : fiche:/nom de l'autorité/nom de la base/nom du corpus/identifiant de la fiche
- URI d'un thésaurus : thesaurus:/nom de l'autorité/nom de la base/nom du thésaurus
- URI d'un mot-clé : motcle:/nom de l'autorité/nom de la base/nom du thésaurus/identifiant du mot-clé
Nous pouvons voir que l'URI commence par un protocole qui indique la nature de l'élément. Cela permet notamment de distinguer un corpus d'un thésaurus qui auraient le même nom. Le fait que l'URI commence par le nom de l'autorité donne toute latitude à celle-ci pour les noms de base, de corpus ou de thésaurus.
Le nom de l'autorité peut être un nom de domaine, un identifiant universel unique (UUID), voire le sigle de la structure lorsque Scrutari est utilisé en interne et qu'il n'a a pas de risque de conflit. Dans les premières versions de Scrutari, le nom de l'autorité devait être un UUID, ce qui explique que de nombreux exemples utilisent cette forme. Le nom de l'autorité doit être composé de minuscules et majuscules sans accent, de chiffres et des caractères .-_.
Le nom de l'autorité et celui de la base sont déclarés dans l'élément <base-metadata> comme dans l'exemple suivant :
<base> <base-metadata> <authority>e17a05b0-c45e-11d8-9669-0800200c9a66</authority> <base-name>gouvafrique</base-name> ... </base-metadata> <corpus corpus-name="analyse"> ... </corpus> </base>