The three (Perl) modules described below look pretty cool, as well as "kewl" -- an interface to read/write MODS, an interface to interact with Fedora Commons, an interface to convert data from one thing to another. I can see how these can be useful tools in some of my work. Thank you. --Eric Lease Morgan
On Aug 6, 2013, at 2:59 AM, Patrick Hochstenbach <[log in to unmask]> wrote:
> LibreCat is an open collaboration of the university libraries of Lund,
> Ghent, and Bielefeld to create tools for library and research services.
> One of the toolkits we provide is called 'Catmandu'
> (http://search.cpan.org/~nics/Catmandu-0.5004/lib/Catmandu.pm) which is
> a suite of tools to do ETL processing on library data. We provide tools
> to import data via JSON, YAML, CSV, MARC, SRU, OAI-PMH and more. To
> transform this data we created a small DSL language that librarians use
> in our institutions. Also we make it very easy to store the results in
> MongoDB, ElasticSearch, Solr or export it into various formats.
> We create also command line tools because we felt that in our daily jobs
> we were creating the same type of adhoc Perl scripts over and over for
> endless reports.
> E.g. to create a CSV file of all titles in a MARC export we say something like:
> $ catmandu convert MARC to CSV --fix 'marc_map("245","title"); retain_field("record");' < records.mrc
> To get all titles from our institutional repository we say:
> $ catmandu convert OAI --url http://biblio.ugent.be/oai to JSON --fix 'retain_field("title")'
> To store a MARC export into a MongoDB we do:
> $ catmandu import MARC to MongoDB --database_name mydb --bag data < records.mrc
> Here is a blog post about the commands that are available: http://librecat.org/catmandu/2013/06/21/catmandu-cheat-sheet.html
> See our project page for more information about LibreCat and Catmandu :
> and a tutorial how to work with the API
> In one of our Catmandu projects we created a Perl connector for Fedora
> Commons (http://search.cpan.org/~hochsten/Catmandu-FedoraCommons-0.24).
> One of our goals was to integrate better with the Islandora project. For
> this we needed a Perl MODS parser. As there was no module available on
> CPAN we provide a top level module like MARC::Record called MODS::Record
> http://search.cpan.org/~hochsten/MODS-Record-0.05/lib/MODS/Record.pm. I
> hope this will be of some help for the community. If there are coders
> here who would like to contribute to the MODS package please drop me a
> line. I think CPAN MODS support shouldn't be dependent on one coder, one
> Greetings from a sunny Belgium,