#1 Thu 05 November 2009 12:11
- cybernar
- Participant occasionnel
- Lieu: Montpellier
- Date d'inscription: 11 Mar 2009
- Messages: 13
[MDweb 1.6] Importer des lots de fiches de métadonnées
Bonjour !
Je travaille sur MDweb 1.6 et je cherche à importer quelques 5000 fiches de métadonnées concernant des cartes papiers de mon laboratoire.
Ces fiches sont enregistrées dans une base Access : je précise que les attributs ne suivent aucune norme particulière ... je m'occupe aussi de faire la correspondance avec ISO 19115 et le gabarit 'carte papier'. J'avais d'abord envisagé de créer des fichiers XML à partir d'Access et d'utiliser la fonction 'Import XML' de MDweb, mais je me rends compte que cela serait trop fastidieux (en effet il n'est pas possible d'importer + de 5 fichiers XML à la fois ...)
Aussi, j'ai l'intention de créer sous VBA Access une moulinette qui générerait un fichier dump SQL, de manière à intégrer ensuite directement dans la BD PostgreSQL les 5000 nouvelles fiches.
Je voulais savoir si quelqu'un (je m'adresse plus particulièrement aux développeurs de MDweb, mais aussi aux utilisateurs) aurait déjà réalisé quelque chose de semblable. Existe t-il un document qui décrit le modèle de la BD métadonnées de MDweb 1.6 ? La meilleure stratégie est-elle de s'inspirer du script 'XmlVersSql.php' issu du code source, comme je compte le faire ? Auriez-vous une meilleure idée, peut-être plus simple, pour faire ce que je cherche ?
Merci de vos réponses,
Cyril
Cyril BERNARD
CEFE-CNRS (UMR 5175)
Hors ligne
#2 Fri 06 November 2009 14:45
Re: [MDweb 1.6] Importer des lots de fiches de métadonnées
Bonjour Cyril,
effectivement, il me semble que la manière la plus efficace vu le nombre de fiches à importer serait de réaliser un scripts de transformation qui pourraient générer les insertions SQL pour la base de données MDweb. la difficulté (pas insurmontable) est de comprendre le modèle de la base, et de bien faire la correspondance entre ta base accès et les éléments ISO.
Le problème majeur est de calculer ce que l'on appelle le num_elmnt. il s'agit d'un indice affecté à chaque élément de métadonnées qui permet de le resituer dans la hiérarchie, notamment lorsqu'il a des éléments multi occurents ( un gabarit est un arbre). cela est déterminé à partir du num_elmnt affecté dans la table elmnt_gabarit.
la deuxième solution est d'utilisé le script qui importe les XML en le paramétrant puis en lançant des exécutions répétés. le souci avec cela, c'est la capacité du serveur web et la limite de php (temps d'éxécution).
je joint le modèle physique de la base mdweb
Jean Christophe
Jean Christophe Desconnets
Chef de projet MDweb
IRD Institut de Recherche pour le Développement
Hors ligne
#3 Fri 06 November 2009 17:57
- cybernar
- Participant occasionnel
- Lieu: Montpellier
- Date d'inscription: 11 Mar 2009
- Messages: 13
Re: [MDweb 1.6] Importer des lots de fiches de métadonnées
Bonjour Jean-Christophe, et merci bien pour le modèle de données.
Je vais aussi regarder des exemples de fiches déjà saisies pour bien comprendre le fonctionnement de num_elmt.
Pour ce qui concerne le script XmlVersSql.php, je n'ai pas encore bien compris où sont initialisés les tableaux relatifs aux fichiers à importer, qu'on voit au début du script ($code_observatoire_trans[], $mtd_sheet_id_trans[], $source_import_trans[], $update_date_trans[]) ... je continue à regarder et je reposte au cas où j'ai trop de mal ...
Cyril
Cyril BERNARD
CEFE-CNRS (UMR 5175)
Hors ligne