Weiterentwicklung eingestellt

Die mabmapper Funktionen werden in den nächsten Wochen vollständig in das metacrunch Toolkit umgezogen. Im Rahmen von metacrunch wird die MAB2 Transformation wesentlich schneller sein. Die Transformations-DSL von metacrunch ist zudem einfacher und frei von Seiteneffekten.

Mabmapper Build Status Dependencies Code Climate

WARNING: This project is currently work in progress. Anything is subject to change.

Mabmapper is a powerful and extendable processing engine to normalize any kind of input data into a simple intermediate format made of fields and values.

Mabmapper was created by René Sprotte for the Library of the University of Paderborn, as part of an implementation project for a new search engine interface. It comes bundled with a ready to use engine and a simple and powerful domain-specific language (DSL) based on Ruby to process MabXML files created by the Aleph Integrated Library System. Hence the name Mabmapper.

Mabmapper is extadable and it is easy to create custom engines to process any kind of input data.

Why?

When working with heterogeneous data to feed into a search engine like Primo, Elastic Search or Solr it is often needed to do some kind of data normalization to fit the data into a defined schema and/or to enrich the data. This is espacially true when working with bibliographic data.

Some search solutions bundle normalization tools to deal with that problem. In case of Primo, the normalization is done as part of the ingest workflow configured by a web based normalization rule editor. We find that approach too cumbersome and inflexible to create and maintain complex normalization rules. This is where Mapmapper comes into play.

Installation

In a terminal install the gem by running

$ gem install mabmapper

Command line usage

Mabmapper provides the command line program mabmapper. In a terminal type

$ mabmapper --help

to explore how to use the program.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request