240 likes | 392 Views
Metadata Interoperability Framework (MIF). Naeem Muhammad Sam Alloing. ELAG 2014. Agenda. Who are we? Europeana inside Mapping and transformation service Demo Future. LIBIS. Service provider for libraries , museums and archives
E N D
Metadata Interoperability Framework (MIF) Naeem Muhammad Sam Alloing ELAG 2014
Agenda • Who are we? • Europeanainside • Mappingandtransformation service • Demo • Future
LIBIS • Service provider forlibraries, museums andarchives • Part of university of Leuven (Belgium), but alsoexternal partners • 19 team members
Europeana Inside • Goal is tofacilitate the content delivery toEuropeanathrough CMS (=ECK) • Europeana is a portal foraggregation of culturalheritageobjects • 26 partners (Culturalinstitutions, software providers ( Adlib, Zetcom,… )) • 30 months (April 2012 – September 2014) • Deliver960000 records toEuropeana • Special topic content re-ingestion • Europeanaenrichmentssend back to the CMS
Europeana Connection Kit (ECK) ECK ECK local
Core ECK services • MetadataDefinition • Set Manager • Statistics • PID Generation • Preview • Validation • Data push (Sword)/ data pull (OAI-PMH) • Mappingandtransformation
Europeana Connection Kit (ECK) ECK ECK local
LibisCoDe – example of ECK local • Ourversion of the ECK local • A pluginforCollectiveAccess (http://collectiveaccess.org/) • CollectiveAccess is an open source CMS • LibisCode is also open source • Supports a LIDO, MARC and (future?) EAD installation profile.
LibisCoDe – How touseit CollectiveAccesswithLIBIScoDe Europeana ECK core CollectiveAccess or other CMS YourCollectiveAccesswithLIBIScoDe Europeana ECK core Convertyour format to MARC/LIDO Convert EDM toyour format
Mappingandtransformation service • Transformsonemetadata format in another • Youcanuse a default mapping, this is only the transformation service • Or create a mapping file with a custommapping (mappingandtransformation service) • Implemented are MARC to EDM, LIDO toEDM • LIDO = XML format usedby museum • EDM = RDF format fromEuropeana • Why we created the service? • Service-orientedarchitecture • Different metadata formats neededtobesupported
Input • MARC XML or LIDO • Mappingrule file Output • Only EDM is supported • RDF based format fromEuropeana • Coreclasses are supported (ProvidedCHO, Aggregation, WebResource) • We willbeaddingContextual classes shortly (Place, Agent, Concept,…)
Mappingrules • Example MARC • [command],[marc tag + subfield],[edm field] • Doesn’tuse indicators at this moment, could change
Mappingrules • Example MARC (2) • Youonlyneedtoknowthe EDM field not the format • For exampleedm:rightscanbe in multiple classes, but youjust put edm:rights, the EDM class is derived ProvidedCHO WebResource
Mappingrules • Example LIDO • No concise way to select the correct LIDO field, so we use XPATH-likeexpression • [command],[LIDO path],[edm field] • Attributes are supported
Web service • No user interface • Meanttobeintegrated in CMS or use a REST client • dmt.php/DataMapping/<provider>/<batch>/Transform • POST request • Provider: This is the name of the organization making the request. • Batch: This is the name of the batch submitted for transformation.
Webservice - Parameters • records or record • Zip file with multiple XML files or one XML with multiple records are supported (the mimetype needs to be correct) • mappingRulesFile • Needs to have mimetype text/csv • Without this parameter you use the Transformation service • sourceFormat • Needs to be LIDO or MARC • targetFormat • Needs to be EDM
Web service - Response • Returns a request_id • Useitto download finished record(s) • Use status: • 0: no request exist with this id • 1: not yet mapped/transformed • 2: ready to be fetched
Web service – Other (GET) requests • Status • Fetch • Download records • Parameter is request_id • List • List of supportedmetadata formats
Demo • Three possibilities • Rest client tool (e.g. restclient) • Libiscode with input records generation + mapping • Libiscode with external records + mapping
Future? • Add input formats (CSV, Filemaker XML, somecustomXMLs…) • Update/addoutput formats (add EDM contextual classes, addother formats) • Extend/add/update actions • Addqueuing (nearfuture) • Addmapping interface (or integratewith MINT?)