There is also java MHLD processing code in Stanford’s branch of Solrmarc:
https://github.com/sul-dlss/solrmarc-sw/blob/master/stanford-sw/src/edu/stanford/MhldDisplayUtil.java esp towards bottom of that class.
- Naomi
On Jan 25, 2018, at 7:16 AM, Robert Haschart <[log in to unmask]<mailto:[log in to unmask]>> wrote:
There is another MARC handling library, written in Java, called marc4j ( https://github.com/marc4j/marc4j ) it is used heavily by the Open Source project named SolrMarc, which extracts information from MARC records and builds Solr records.
One of the plug-ins for SolrMarc that our University's Library uses gathers Summary Holdings information including translating the 853 and 863 fields to text. It even makes an attempt to collapse a series of consecutive holdings into a range for example:
2015, no.1- 2017, no.46 (2015:Jan 5-2017:Nov 13)
Although I just found that in that case it missed a few gaps in the middle of the range. I can make the necessary code available is anyone is interested.
-Bob Haschart
University of Virginia Library
On 1/19/2018 7:32 PM, Julie Cole wrote:
It will take me awhile to delve into this all and understand it so I can determine that the code IS indeed helpful. But one thing I know is that as people you are all very helpful. Thanks so much for sharing. I love this community.
Julie.
-----Original Message-----
From: Code for Libraries [mailto:[log in to unmask]] On Behalf Of Spurgin, Kristina M.
Sent: Friday, January 19, 2018 8:13 AM
To: [log in to unmask]<mailto:[log in to unmask]>
Subject: Re: [CODE4LIB] MARC Holdings
That MFHD.pm code is so helpful! Thanks for sharing.
-Kristina
-----Original Message-----
From: Code for Libraries [mailto:[log in to unmask]] On Behalf Of
Mike Rylander
Sent: Thursday, January 18, 2018 5:49 PM
To: [log in to unmask]<mailto:[log in to unmask]>
Subject: Re: [CODE4LIB] MARC Holdings
Evergreen has Perl code for generating holdings statements from MFHD
that we use in the serials module. The core MFHD module could
certainly be used directly (with, perhaps, a namespace change), and
the serials module code could serve as a guide for how to make use of
the MFHD module. The latter is, of course, tied to Evergreen's data
structures and general architecture, but the specific calls made by
the serials code to use the MFHD module should be relatively
transparent to a Perl developer and you can ignore all the Evergreen
bits. We're dealing with MARC data (MARC::Record objects) at the
point that we're calling the MFHD module, so that should be translatable to one's own code.
See MFHD.pm and the contents of the MFHD directory here:
http://git.evergreen-ils.org/?p=Evergreen.git;a=tree;f=Open-
ILS/src/perlmods/lib/OpenILS/Utils
The serials module is implemented by the code here:
http://git.evergreen-ils.org/?p=Evergreen.git;a=blob;f=Open-
ILS/src/perlmods/lib/OpenILS/Application/Serial.pm
HTH,
--
Mike Rylander
| President
| Equinox Open Library Initiative
| phone: 1-877-OPEN-ILS (673-6457)
| email: [log in to unmask] | web:
http://equinoxinitiative.org
On Thu, Jan 18, 2018 at 4:25 PM, Spurgin, Kristina M.
<[log in to unmask]> wrote:
The MARC libraries cited make it easy to work with MARC in general,
but
unfortunately the Perl and Ruby versions don't come with any help for
the "interesting" problem of transforming Holdings 853s and 863s into
human- readablesummary holdings statements (like you'd record in the
866 or 867). (I haven't worked with PyMARC).
We had the same sort of need you describe years ago and came up with
some Perl code that clunkily (and in some cases not quite 100%
accurately) does this. It's not publicly available to point to, but I
could send the relevant part of that code if you are interested.
There has been mild grumbling (from those who pay attention to our
serials
display) about the not-great way this works, and we are working on a
new discovery interface, so it's on my list to improve the summary
holdings generation from 853s/863s.
I did some searching for code to do this, but didn't find anything
in my first
attempt. If you find something useful that someone else has for this,
please do share!
I've been thinking through a good approach, but don't have anything
implemented yet.
best,
Kristina
-=-
Kristina M. Spurgin -- Library Data Strategist
E-Resources & Serials Management, Davis Library
University of North Carolina at Chapel Hill
CB#3938, Davis Library -- Chapel Hill, NC 27514-8890
919-962-3825 -- [log in to unmask]
-----Original Message-----
From: Code for Libraries [mailto:[log in to unmask]] On Behalf
Of Andromeda Yelton
Sent: Thursday, January 18, 2018 4:01 PM
To: [log in to unmask]
Subject: Re: [CODE4LIB] MARC Holdings
Note that if perl isn't your thing there are MARC libraries in
several languages
- python and ruby at least, probably others I don't remember off
the top of my head (since I work in python and ruby, no shade to
other people's languages :). https://github.com/edsu/pymarc ,
https://github.com/ruby-marc/ruby-
marc .
On Thu, Jan 18, 2018 at 12:50 PM, Julie Cole <[log in to unmask]> wrote:
Hello all,
I'm pretty new to the world of library systems and this is my first post.
Anyone have any experience parsing MARC Holding records (853 and
863) into a more readable 866 or 867 format?
We are wanting to export our holdings from our ILS into our
Discovery Layer and trying to save some of the money that the ILS
vendor would charge us to create the records.
The parsing doesn't look fun, so I was hoping someone has some
code to use as a starting point.
Also, I'm not sure how clean our data in 853 and 863 is so any
scripts or advice on gotchas when cleaning that up would be
appreciated.
We have about 60,000 holding records.
Thanks,
Julie.
Julie Cole
Library Systems Administrator
Langara College Library
Vancouver, BC
--
Andromeda Yelton
Senior Software Engineer, MIT Libraries: https://libraries.mit.edu/
President, Library & Information Technology Association:
http://www.lita.org http://andromedayelton.com @ThatAndromeda
<http://twitter.com/ThatAndromeda>
|