Dilib, présentation générale 2001

De Wicri Outils

Cette page reprend les principaux éléments d'un ensemble de transparents utilisés en 2001 pour présenter la bibliothèque Dilib.

Voir aussi : Dilib présentation 2001 urfist.pdf

Introduction

Dilib 201 URFIST 07.dilib-1.gif

Dilib est :

  • Une plate-forme pour l'Ingénierie du Document et de l'Information Scientifiques et Techniques

Elle est destinée à :

  • Formation recherche en ingénierie de l'IST
  • Investigation documentaire
  • Construction de Systèmes de Recherche d'Information
  • Construction de plate-formes d'exploitation de l'Information

DILIB et la Normalisation SGML/XML, généralités

Données

Notices bibliographiques et informations normalisées 
  • formats simples
   titre : Annuaire
   aut   : La Poste
 
  <doc><titre>Annuaire</titre><aut>La Poste</aut>
  </doc>
  • formats professionnels (CCF, USMARC, Unimarc...)
   210 $a Paris $c Dunod $d 1988
 
   <unimarc>...<f210><sa>Paris</sa><sc>Dunod</sc>
    <sd>1988</sd><f210>...</unimarc>
  • fichiers inverses, index...
  <idx><loc>Paris</loc><f>2</f><l><e>0023</e><e>4123</e></l></idx>

Outils

Commandes Unix
  • orientées SGML
SgmlSelect -g unimarc/f210/sa#=Paris
Système de Recherche d'informations en KIT
IndexSelect -h base.ville.index -k Paris
Bibliothèque de fonctions en langage C
SgmlAddSon(zone210, SgmlCreateLeaf("sd","1990"));
Interfaces et outils spécifiques
  • avec des progiciels, exemple LaTeX, WWW, Texto...
  • extensions linguistiques, infométriques (clusterisation...)

Normalisation Dilib

Introduction

Dilib 2001 URFIST 07.dilib-2.gif

2 niveaux de normalisation :

  • normalisation forte : outils principaux

• normalisation intermédiaire : destinée à faciliter l'utilisation des outils de conversion

Manipulation des collections d'objets SGML

chemin de balises DILIB
  • philosophie proche de Xpath[1]
Idée générale
  • s'inspirer des path d'unix pour désigner un élément dans une structure SGML
 <doc>
  <tit>a</tit>
  <kw><e>m1</e><e>m2</e></kw>
 </doc>
  • doc/tit désigne de façon unique l'élément
    • <tit>a</tit>
  • doc/kw/e désigne les éléments :
    • <e>m1</e>
    • et <e>m2</e>
Chemins élémentaires sur enregistrements simples

• chemin de balise =

    • suite de spécifieurs de balises séparés par des /

•* spécifieur commençant par une lettre : ensemble des fils du noeud courant ayant un identificateur identique au spécifieur

doc/kw -> <kw><e>m1</e><e>m2</e></kw>
doc/kw/e -> <e>m1</e>
<e>m2</e>

Utilisation des métadonnées «anciennes» dans le monde SGML

Exemple de stratégie utilisée dans le projet MedExplore

Avantages :

  • Pas de modification des pratiques de catalogage
  • Utilisation de l'Ingénierie SGML
  • Pas de reformatage lourd
    • (outils indépendants d'une DTD)

Exemples, commandes DILIB avec chemin de balises (index communs à plusieurs sources hétérogènes).

  SgmlSelect -g usmarc/f130/sa#?Paris?
  SgmlSelect -g medline/TI#?Paris?

Normalisation niveau structure : SGML

chemin de balises - suite

Exemple de commande utilisant des chemins de balises (rappel)
  <doc><tit>a</tit><kw><e>m1</e><e>m2</e></kw></doc>
SgmlSelect -s doc/kw/e -p @s1
 <e>m1</e>
 <e>m2</e>
Compléments sur les chemins de balises
  • spécifieur réduit à une étoile : tous les fils
doc/* -> <tit>a</tit>
<kw><e>m1</e><e>m2</e></kw>
  • spécifieur numérique : rang du fils (1= premier, 0=dernier)
doc/kw/2 -> <e>m2</e>
doc/kw/2/1 -> m2
  • Accés aux chaines contenues dans un élément terminal : #
doc/tit -> <tit>a</tit>
doc/tit# ->a

Normalisation, exemple manipulation d'enregistrements

Commandes Dilib

  • SgmlCut

soit le fichier[2]

  fra ⇒ camus ⇒ <aut><n>Camus</n><f>Albert</f><c>France</c></aut>
  bel ⇒ herge ⇒ <aut><n>Hergé</n><c>Belgium</c><aut>

la commande

 SgmlCut 2 aut/f

produit :

 fra ⇒ <aut><n>Camus</n><c>France</c></aut>
 bel ⇒ <aut><n>Hergé</n><c>Belgium</c><aut>
  • SgmlSelect -g (analogue à grep)
  fra ⇒ camus ⇒ <aut><n>Camus</n><f>Albert</f><c>France</c></aut>
  bel ⇒ herge ⇒ <aut><n>Hergé</n><c>Belgium</c><aut>
 SgmlSelect -g aut/c#?[Ff]rance? -g aut/n -p @g2

génère :

<n>Camus</n>
  • SgmlSelect -s (split : éclatement)
01 ⇒ <doc><t>SGML</t><k>ISO</k><k>Document</k><k>SGML</k></doc>
02 ⇒ <doc><t>UNIMARC</t><k>IFLA</k><k>ISO 2709</k></doc>

La commade

SgmlSelect -s doc/k# -p @s1 -p @1

produit:

ISO       ⇒ 01
Document  ⇒ 01
SGML      ⇒ 01
IFLA      ⇒ 02
ISO 2709  ⇒ 02
  • Utilisation des commandes de base Unix
SgmlSelect -g aut/c#?[Ff]rance? -p @2 | wc

Ensemble de données DILIB, organisation HFD

(Hierarchic File organization for Documentation)
07.dilib-4.gif
Idée générale
1000000 records
= 100 répertoires de 100 fichiers de 100 enregistrements
  • record = key <tabulation> document
  • key = 6 chiffres
exemple de clé : 012433
2 premiers -> répertoire 01.dd
2 suivants -> fichier 24.df
2 derniers -> numéro d'enregistrement 33
  • adresse Unix du fichier contenant 012433
-> bib.hfd/01.dd/24.fd

Voir aussi

Notes
  1. En fat, ces chemins de balises ont été introduits en 92, bien avant Xpath
  2. ⇒ désigne une tabulation