Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
ARK
ARK ou Archival Resource Key est un système d’identification créé et maintenu par la California Digital Library (CDL)<ref>California Digital Library (CDL)</ref>.
Anatomie du lien ARK
Une URL référençant un lien ARK, se présente de la manière suivante :
http://example.org/ark:/13030/654xz321/s3/f8.05v.tiff \________________/ \__/ \___/ \______/ \____________/ (replaceable) | | | Qualifier | ARK Label | | (NMA-supported) | | | Name Mapping Authority | Name (NAA-assigned) (NMA) | Name Assigning Authority Number (NAAN)
Terminologie
La spécification s'appuie sur une analogie avec la serrurerie pour décrire les parties d'un lien ARK. Le tableau ci-dessous reprend cette analogie. Noter l'URL décrite a été créé pour les besoins de l'explcaiton :
| NMA | schème | NAAN | Name | Services | Qualifieurs | ||
|---|---|---|---|---|---|---|---|
| http://exemple.com/ | ark:/ | 13030/ | tqb3 | kh97gh8 | w | /m1/f8 | .v2.tiff |
| chapeau | anneau | épaulement | lame | bout | - | ||
| Autorité de résolution des Noms | #Base de l'identifiant | - | |||||
_____ slips on _____
.-' ,_,'-.. ----> .-' '-.
/ (o,o) \\ / \
: {`"'} || : `____
/ .-. -"-"- || / .-. '--^. .^--^. .^.
{ ( ) || { ( ) `-' `-^--^-' '--^.
\ `-' _o || \ '-' ====================}
: _|<,_ || : __________________________________/
\ (*)/(*) / \ /
`-._____.-' `-._____.-'
|....................|...............|....|..........................|..|
^ ^ ^ ^ ^
: : : : :
Cover= Bow= Shoulder .------ Blade Tip
NMA Scheme+NAAN : : .-------------------'
: : : : : :
v v v v v v
|..........................|....+.....|...|......|.|
http://OwlBike.example.org/ark:/13030/tqb3kh97gh8w <---- Example Key
doi:10.30/tqb3kh97gh8w with parallel
hdl:13030/tqb3kh97gh8w parts in other
urn:13030:tqb3kh97gh8w id schemes.
|..........................|.......................|....
Name Mapping Authority Base identifier ...
NMA: Autorité de Résolution des Noms
Nom de l'Autorité responsable de la résolution des liens ARK<ref name="resolution" group="cdl">Resolution des liens</ref>, cette partie est remplaceable. Cela corresponds au nom de domaine du site du client. Il peut exister plusieurs autorités de résolution pour un même objet.
Une condition nécessaire pour être un NMA est d'être capable de résoudre les liens ARK. Le NMA doit être soit la source, la destination de la résolution, ou les deux. Une pratique courante est de faire suivre la requête à un organisme de type EZID, de façon à réduire la charge.
Base de l'identifiant
Cela corresponds à l'ensemble des 3 éléments suivants, et exclu les extensions – ou qualifiers – :
- Schème: ark:/ ;
- NAAN: Numéro de l'Autorité de Nommage ;
- Name: Nom de l'Objet.
Schème: ark:/
Le schème est fixe et vient du fait que les liens ARKs sont des URNs valides. Il est égale à la chaine « ark:/ ».
NAAN: Numéro de l'Autorité de Nommage
Identifiant de l'autorité responsable de la création et de l'assignation des liens ARK. Il devra être fournit par le client et c'est elle qui garantira la pérennité des liens. L'identifiant NAAN fait référence à l'entité dans son ensemble. Pour les grosses organisation, l'attribution des noms est généralement déléguée aux différents services. Pour prévenir la génération de nom non-unique, on utilisera un épaulement différent pour chaque service.
Name: Nom de l'Objet
Nom de l'objet, sous forme opaque, c'est l'autorité de nommage qui le fourni. Dans notre cas, se sera à Pleade de le générer. Il se décompose en 3 sous-parties :
| Épaulement | Lame | Bout |
|---|---|---|
| tqb3 | kh97gh8 | w |
| propre à chaque département | propre à chaque objet | caractère de contrôle |
L'Épaulement
C'est la racine du nom, il est propre à chaque département de l'autorité de nommage. De cette manière il permet d'éviter la génération de doublon d'un département à l'autre, en allouant un sous-espace de nom à chacun.<ref group="cdl" name="epaulement">NAAN et épaulement</ref>
Pour définir l'épaulement on recommande de suivre la convention dite du « premier digit »<ref group="cdl" name="first-digit-convention">Convetion du premier digit</ref>. Dans ce cas l'épaulement est une chaîne de une ou plusieurs lettres se terminant par un chiffre (inclus). Par exemple dans l'identifiant que nous utilisons, tqb3kh97gh8w, l'épaulement corresponds à tqb3. Il est donc possible d'utiliser des épaulement du type: t4, abc1, aa1, phdfmd3, etc.
Corps de l'identifiant (Lame)
Pour générer ses identifiants, la CDL, utilise un simple auto-incrément (pas de d'épaulement, ni de caractère de contrôle)<ref group="ezid" name="operation-mint-identifier">Opération de génération d'identifiant'</ref> :
Caractère de contrôle (Bout)
Ce caractère de contrôle s'applique à la chaîne représentait pas la base de l'identifiant . Bien qu'optionnel, on le recommande car c'est une garantie contre les erreurs de caractère isolées et des erreurs de transposition.<ref group="cdl" name="check-character-convention">Check character convention</ref><ref group="bnf" name="bnf-indentifier" />
La génération de ce caractère de contrôle peut s'appuyer sur la convention NOID1.<ref group="cdl" name="convetion-noid1">Convention Noid1 pour le caractère de contrôle (NOID: Nice Opaque Identifier)</ref><ref group="dev" name="NOID-ruby">Ruby version of NOID</ref> qui permet d'éviter l'utilisation de caractère ambigue (1 vs, l, 0 vs. O) et la génération accidentelle d'identifiant porteur de faux sens.
Strucuture de la base de données
On s'inspire de la documentation de l'API de EZID<ref name="identifier-status" group="ezid">Identifier status from The EZID API, Version 2</ref> <ref group="ezid">Internal metadata from The EZID API, Version 2</ref>
| Champ | Description |
|---|---|
| id | identifiant interne |
| nma | Autorité de Résolution des Noms |
| naan | Numéro de l'Autorité de Nommage |
| name | Nom de l'Objet |
| status<ref name="identifier-status" group="ezid" /> |
|
| target | URL de l'objet |
| created | horodatage |
| updated | horodatage |
Extensions d'identifiant: Services & Qualifieurs
Les extensions – ou qualifieurs – sont des suffixes permettant de préciser sa demande sur un objet. Ont distingue deux types de qualifier<ref group="bnf" name="ark-bnf">Identifiants ARK par la BnF</ref> :
- Les qualifieurs de granularité (ou « service »), commençant par un « / » (barre oblique), permettent de demander l'accès à une partie de l'objet (ex. : page d'un document, image). Ils suivent immédiatement le nom ARK ;
- Les qualifieurs de variante, commençant par un « . » (point), permettent de demander l'accès à une variante particulière d'un objet ou à un service particulier sur celui-ci (version, format, etc.).
Ces qualifieurs ne sont pas nécessairement diffuser publiquement et sont gérés par la NMA (l'Autorité de Résolution des Noms).<ref>Extension d'identifiant</ref>. Voici quelques exemples :
ark:/13030/tqb3kh8z/ # names an object containing...
ark:/13030/tqb3kh8z/chap3 # that in turn contains...
ark:/13030/tqb3kh8z/chap3/fig5.jpg # that is a variant of...
ark:/13030/tqb3kh8z/chap3/fig5.pdf # and so forth
Implémentations
| Service | Status | Description | Exemple |
|---|---|---|---|
| / | todo | la notice complète | ark:/67531/metadc3211/ |
| /thumbnail | todo | affiche la miniature | - |
| /square | drop | image carré (icone) | - |
| Statistiques | |||
| /stats | ? | statistique liés à l'objet | ark:/67531/metadc3211/stats/ |
| /stats/#### | ? | statistique liés à l'objet pour une année donnée. | ark:/67531/metadc3211/stats/2012/ |
| /stats/####/## | ? | statistique liés à l'objet | ark:/67531/metadc3211/stats/2012/08/ |
| /citation | todo | faire une citation d'un objet numérique (quel format?) | ark:/67531/metadc28359/citation/ |
| Méta-données | |||
| /metadata | todo | liste des métadonnées disponible | ark:/67531/metadc28359/metadata/ |
| /metadata.dc.xml | todo | DublinCore au format XML<ref>Guidelines for implementing Dublin Core in XML</ref> | ark:/67531/metadc28359/metadata.dc.xml |
| /metadata.dc.json | todo | DublinCore au format JSON | ark:/67531/metadc28359/metadata.dc.json |
| /metadata.dc.txt | todo | DublinCore au format Text<ref>Expressing Dublin Core metadata using the DC-Text format</ref> | ark:/67531/metadc28359/metadata.dc.txt |
| /metadata.dc.rdf | ? | DublinCore au format RDF/XML<ref>Expressing Dublin Core metadata using the Resource Description Framework (RDF)</ref> | ark:/67531/metadc28359/metadata.dc.rdf |
| /metadata.mets.xml | todo | Méta-données au format METS<ref>Doc/METS</ref> | ark:/67531/metadc28359/metadata.mets.xml |
| /metadata.untl.xml | ? | Méta-données au format UNTL<ref>UNTL Quick-Start Metadata Guide</ref><ref>The UNTL Metadata Guidelines (PDF)</ref> | ark:/67531/metadc28359/metadata.untl.xml |
| Manifestations | |||
|
Important :
Selon la nature de l'objet, les manifestations varies et les services associés également. Il n'y a pas de relation entre le numéro de la manifestation et son type MIME : /m1 peut renvoyer vers :
| |||
| /m | todo | Lites les différentes manifestations disponibles (web, PDF, ODP, etc.)
Remarques : Quid du format TXT ? On y accède déjà page par page. |
|
| /m1 | todo | Toutes les pages du document au format web (ex. : mosaïque) | ark:/67531/metadc28359/m1/ |
| /m2 | todo | Toutes les pages du document au format PDF | ark:/67531/metadc28359/m2/1/high_res_d/ARK_for_persistent_ID.pdf |
| /m3 | ? | Toutes les pages du document au format ODP | ark:/67531/metadc28359/m3/1/high_res_d/ARK_for_persistent_ID.odp |
| Manifestation[image]: Service | |||
| /m1/#/ocr | todo | reconnaissance optique de caractères (OCR) | ark:/67531/metadc28359/m1/14/ocr/ |
| /m1/#/sizes | todo | Liste les tailles disponibles | ark:/67531/metadc28359/m1/ |
| /m1/#/sizes/sq | ? | icone carrée | ark:/67531/metadc28359/m1/13/sizes/sq/ |
| /m1/#/sizes/t | todo | miniature | ark:/67531/metadc28359/m1/13/sizes/t/ |
| /m1/#/sizes/s | ? | small | ark:/67531/metadc28359/m1/13/sizes/s/ |
| /m1/#/sizes/m | ? | medium | ark:/67531/metadc28359/m1/13/sizes/m/ |
| /m1/#/sizes/l | ? | large | ark:/67531/metadc28359/m1/13/sizes/l/ |
| /m1/#/sizes/xl | todo | extra-large | ark:/67531/metadc28359/m1/13/sizes/xl/ |
| /1/highRes | ? | version haute définition | error: 404 ark:/67531/metadc348/1/highRes |
| /1/medRes | ? | version définition moyenne | error: 404 ark:/67531/metadc348/1/medRes |
Règle de génération des identifiants ARK
BnF
Politique d'attribution des identifiant ARK à la BNF<ref group="bnf" name="bnf-indentifier" >BnF policy for ARK identifiers</ref>
La BnF attribue des identifiants dans le domaine ARK 12148 (Bibliothèque nationale de France) selon les principes suivants :
Aucun identifiant ARK ne sera attribué à nouveau ; c'est-à-dire qu'une fois qu'un lien entre un identifiant ARK et un objet aura été publié, ce lien devra être considéré comme unique, et ce pour une durée indéfinie. Les identifiants ARK attribués par la BnF ne contiennent, dans la mesure du possible, aucune information sémantique facilement reconnaissable ; ceci contribue à faciliter leur utilisation indépendamment d'un contexte de temps ou de lieu. Les identifiants ARK attribués par la BnF contiennent un caractère de contrôle qui les garantit contre des erreurs de caractère isolées et des erreurs de transposition.
La BnF garantit la pérennité des identifiants ARK attribués, mais l'étendue précise des garanties est en cours de définition. En effet, la gestion d'un objet numérique pourra exiger des modifications appropriées de cet objet pour en assurer la persistance. Par ailleurs, le niveau déclaré des garanties pourra évoluer au fur et à mesure que les normes et méthodes de pérennisation seront mieux maîtrisées, et que la BnF mettra en application des procédures pour maintenir ces garanties et les associer aux objets qu'elle gère. Certaines des collections numériques de la BnF dupliquent des éléments de collections d'autres institutions.
Gestion au Niveau Serveur
Apache Httpd est connu pour être robuste relativement au différentes particularité des URLs ARK<ref group="dev" name="url-rewriting">Issues with some web server software @ ark-forum</ref> :
- présence de « : » (deux points) ;
- présence d'un « ?? » (deux points-d'interrogation).
Gestion du « ?? » (double interrogation)
Le second point d'interrogation peut être intercepté par Apache HTTPd et converti en paramètres d'URL classiques avec l'URL rewriting<ref group="dev" name="url-rewriting" />.
# Detect ? and ?? inflections and map with THUMP compatibility mode.
# One question mark case: ? -> ?show=brief
RewriteCond %{THE_REQUEST} \?
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(.*)$ "$1?show=brief"
# Two question mark case: ?? -> ?show=metadata
RewriteCond %{QUERY_STRING} ^\?$
RewriteRule ^(.*)$ "$1?show=metada"
Références
<references/>
CDL
<references group="cdl"/>
BNF
<references group="bnf"/>
EZID
<references group="ezid"/>
Sources
<references group="dev"/>