MATCHING ITEMS FROM A LIST IN MARC REVIEW
MARC Review has the ability to match MARC Data (specified on the pattern form) against a list of items entered into a text file.
The first step is decide what 'kind' of match you want to perform: simple string matching, or value list matching.
SIMPLE STRING MATCH
Simple string matching is the default MARC Review match behavior. This type of matching simply checks for the presence of a string anywhere in the MARC data specified on the pattern form.
For example, if the pattern form specifies
TAG=650 SUBF=a DATA=librar CASE=False
then the program will find all records that contains a 650 $a with the term 'librar' in it:
$aDigital libraries $aFriends of the library $aInternational librarianship $aLibrarians $aLibraries and people with disabilities $aLibrary catalogs
We can anchor a match to the beginning or end of the MARC data by using regular expressions. Continuing with the 650 $a example, if we change DATA to:
DATA=^librar CASE=False RegEx=True
it then matches only subfields beginning with the string:
$aLibrarians $aLibraries and people with disabilities $aLibrary catalogs
Matching to the end of a field is a bit harder, because a pattern like:
DATA=librar.*$ CASE=False RegEx=True
will still match a heading like:
$aLibraries and people with disabilities
due to the 'greediness' of the regular expression support in the program. So what we would have to do is something like this:
DATA=libraries$||library$||librarians$||librarianship$ CASE=True RegEx=True
turning on case-sensitivity so that we do not match '$aLibraries' (additionally, we could add a blank space in front of our search terms).
VALUE LIST MATCH
Value list string matching was added to the program in version 236. The purpose of a value list is to support a controlled vocabulary. Examples of value lists are everything from the 'MARC Code List for Languages' to the Library of Congress Subject Headings.
Ideally, MARC fields that are to contain data from a controlled vocabulary should be entered using dropdown menus that contain all available values. For example, in MARC Report we may click on the 008 element for 'Language' and press <F1> to select from a list of all valid Language codes. However, this type of data entry may not be feasible for a large list of subject headings, which may contain many thousands (or hundreds of thousands) of items.
Searching of value lists in MARC Review is somewhat different than the default string matching described above. Whereas above, we asked the question 'is the specified data (“librar”) present in the field we are searching (“650$a”)?', value list support asks the question 'is the field I am searching present in the value list I have specified?'.
Value list matching is always left-anchored in MARC Review. We assume, by definition, that a subject heading of
650 $aLibraries.
should never match a value list item like
Technical services (Libraries)
Thus, we do not match strings within strings when validating a term in a MARC record against a value list. This has a benefit in that we can programmatically support very large lists when the search term is left-anchored.
Also, in value list matching there is no Regular expression option, as matching is always left-anchored.
Instead, there are the options 'Partial' and 'Complete'. If the 'Partial' option is selected, then the MARC field
650 $aLibraries.
would match all of the following items from a LCSH value list:
Libraries Libraries (Rooms) Libraries and adult education Libraries and booksellers Libraries and colleges Libraries and community Libraries and distance education. Libraries and education Libraries and electronic publishing Libraries and families. ... Libraries, Medical
But if the 'Complete' option was selected, then the MARC field above would match only the value list item
Libraries
Note: the Case sensitive option is also supported in value list matching.