The Whispers Metadata Service: The Witness Relocation Program for Metadata
Pipeliner
David Fiander, Kristina Aston, William Wueppelmann, Tito Sierra
What is it?
What is the Service?
Standardized way to initiate translation from one metadata format to another using web services.
Why is it called The Whispers?
Chinese Whispers, also known as The (broken) Telephone Game ... [Wikipedia]
How it happens?
The theory, anyways:
- Requester packages metadata record into an XML request along with the desired output format.
- Server receives request, performs needed translation.
- Server returns an XML message with status information and the encoded transformed record.
- Requestor extracts and unpacks metadata record.
Structure of a Request
metadataTransformationRequest
- sourceFormat (e.g.: MARC21)
- targetFormat (e.g.: DC)
- data (Base64-encoded metadata record)
The request indicates the format of the original metadata record and the desired target format. The record itself is encoded using Base64 so that there can be no conflicts with the XML request container.
Structure of a Response
metadataTransformResponse
- status (code indicating success or type of failure)
- data (Base64-encoded transformed metadata record)
- reference (URL providing information about the transformation)
- (reference...)
The server returns an HTTP-style numeric code to indicate whether the request was successful or not and, if not, why not.
User would need to compare the losses all along the way between A and D. The API would provide documentation that would show the losses between each step of the translations in a user-friendly way, via a URL, that would describe the transformation process.
Issues and Future Roadmap
- If the server supports multiple ways of translating from format A to format B, can the requester specify which method to use?
- Can there be a centralized registry of translation services?
- Is there a way to automatically generate an analysis of how much information is lost in translation?
- Service providers could optionally provide multi-step translations (i.e. go from A -> B then B -> C when A -> C is impossible)