Working with MARC

Revision as of 18:49, 13 March 2010 by 171.66.191.75 (Talk) (Getting Marc into Searching and Indexing Systems)

Revision as of 18:49, 13 March 2010 by 171.66.191.75 (Talk) (Getting Marc into Searching and Indexing Systems)

Working with MaRC

MaRC stands for Machine Readable Cataloging, and many folks in the code4lib community find themselves working with marc records at some point. This page is meant to be a round-up of the tools for working with marc. If you want a general introduction to the standard, the wikipedia article is a good place to start.

Desktop tools

MarcEdit http://people.oregonstate.edu/~reeset/marcedit/html/index.php

Getting Marc Indexed for Search Engines

Marc in Solr

SolrMarc http://code.google.com/p/solrmarc/

Solr http://lucene.apache.org/solr

Marc in Zebra

Getting Started with Zebra http://wiki.code4lib.org/index.php/Getting_Started_with_Zebra

Zebra http://www.zebra.com

Marc Programming Libraries

Java

marc4j http://marc4j.tigris.org/

Perl

There are quite a few options for manipulating MaRC with perl. You can find many of them at CPAN at

http://search.cpan.org/search?query=marc&mode=all

PHP

File_MARC (Pear package) http://pear.php.net/package/File_MARC/

Python

pymarc http://pypi.python.org/pypi/pymarc

Ruby

ruby-marc ruby-marc

- some notes and recipes for processing MARC files in ruby

Getting Sample Data

One common question is where to get sample marc records for testing or playing around with. If you work at a library, chances are good that you can get some records out of your ILS (go ask your systems librarian if you don't know how to do this yourself). If you don't work in a library, you can get marc records from the internet archive at http://www.archive.org/details/marcrecords.

There is a nascent movement within the code4lib community to establish a test set of problematic marc records, especially records that are representative of the kinds of weirdness that is encountered in real libraries. It is hoped that this could eventually become a test corpus against which to run various marc processing implementations. For more information, watch Simon Spero's excellent talk from Code4LibCon 2010.