Metadata Mapping

ADL_mapper is a Python module that supports mapping of XML-encoded metadata to the ADL item-level metadata views. Using ADL_mapper, a mapping is expressed as a procedural Python script that can be invoked on a source metadata document. At the same time, a mapping is for the most part written using short declarative statements; in effect, ADL_mapper provides a language in which mappings can be expressed. Thus a mapping created using ADL_mapper is both an abstract, declarative specification and a functional implementation.

ADL_mapper's features include: a general XML query facility built on top of XPath queries; common value conversions and idioms; full validation of mappings; an "opportunistic" mapping mode; checking of mapping-specified requirements and expectations; an extensible type mechanism; and, most significantly, the ability to derive new mappings from existing mappings.

Limitation: currently, only mappings to the ADL bucket view are supported.

Mapping language tutorial

Download
mm.tar.gz
Browse
Declarations:
ADL_buckets.py
DLESE_buckets.py
Mappings:
ADN_mapping.py
FGDC_mapping.py
Maya_mapping.py (derived from FGDC)
MARC_mapping.py
MODS_mapping.py
Rumsey_mapping.py (derived from MODS)
Samples:
ADN: input, output
Maya: input, output
MARC: input, output
Rumsey: input, output
Software:
ADL_mapper.py
Bucket type plugins:
hierarchical.py
identification.py
numeric.py
relational.py
spatial.py
temporal.py
textual.py
Metadata mapping notes
An experiment in metadata mapping
ADN metadata mapping
Literature
PDF A Hybrid Declarative/Procedural Metadata Mapping Language Based on Python. Greg Janée and James Frew (2005). Research and Advanced Technology for Digital Libraries: Proceedings of the 9th European Conference (ECDL) (Vienna, Austria; September 18-23, 2005): 302-313.

last modified 2009-11-19 11:01