A weblog following developments around the world in FRBR: Functional Requirements for Bibliographic Records.

Maintained by William Denton, Web Librarian at York University. Suggestions and comments welcome at wtd@pobox.com.


Confused? Try What Is FRBR? (2.8 MB PDF) by Barbara Tillett, or Jenn Riley's introduction. For more, see the basic reading list.

Books: FRBR: A Guide for the Perplexed by Robert Maxwell (ISBN 9780838909508) and Understanding FRBR: What It Is and How It Will Affect Our Retrieval Tools edited by Arlene Taylor (ISBN 9781591585091) (read my chapter FRBR and the History of Cataloging).

Calendar

May 2008
M T W T F S S
« Apr    
 1234
567891011
12131415161718
19202122232425
262728293031  

20 December 2007

Nice example illustrated by Rob Styles

Filed under: Examples — William Denton @ 7:30 am

From the December archives of the ngc4lib mailing list in the Martha Yee threads, which got into music. Dramatis personae: Karen Coyle, Jonathan Rochkind, and Rob Styles.

Karen Coyle said on 5 December:

So you could have:

A is a performance of Z
C is an arrangement of Z
F is a performance of C

All of these seem to be legitimate statements, although they may not map precisely to the FRBR Group 1 entities. I think this is an example of what I’ve been arguing — that it’s more important to establish the relationships than it is to fit everything into a set number of levels.

Jonathan Rochkind replied:

They can be legitimate statements despite those relationships not being the ‘canonical’ Group 1 to Group 1 relationships! FRBR does not limit you to one and only one kind of relationship only between one Group 1 entity and it’s immediate hiearchical superior!

In the above list, A is an expression. Z is a work. C is an expression. F is also an expression. Expression F may be related to Expression C with a “is a performance of” relationships—-that relationship may or may not be in FRBR right now, but should be! FRBR certainly allows you to draw relationships between one expression and another, or one work and another, or one exprsesion and a work other than it’s parent work, etc.

The specific list of relationships in the FRBR document (which may not include ‘is a performance of’, but may include some more generic category of this), the FRBR document all but admits was just an initial sketch of what relationships were possible, and was not meant to be definitive or complete. That we haven’t actually done work to polish off this list of relationships in the past ten years—is a pity.

Karen Coyle retorted:

But if “A is a performance of Z” means that Z is a work, doesn’t “F is a performance of C” mean that C could also be a work? As some of our music-enabled colleagues replied, by some definitions, an arrangement is a separate work. Could C be simultaneously an expression and a work?

I don’t know the answers, but I think we need to explore this further before we declare that we have four possible boxes (WEMI) and that everything fits neatly into one or the other. That’s why I think it is more important to state that C is an arrangement of Z than to say what box it fits into. It can remain an arrangement of Z and find itself in different boxes based on different contexts or functions.

Rob Styles weighed in:

A picture is worth a thousand words…

… and attached this great diagram showing how the whole shebang can be described in the FRBR model using the RDF syntax (197 KB PDF). (Image belongs to Rob Styles of Talis.) Have a look, it’s boss stuff.

Karen Coyle exclaimed:

Aha!


18 May 2007

Pride and Prejudice 8: Comments

Filed under: Pride and Prejudice — William Denton @ 7:41 am

This isn’t the end of the Pride and Prejudice experiment, so stay tuned. Today, a break for some comments. Coming up over the next few days are some pre-loaded posts so that I don’t have to work over the Victoria Day weekend.

  • What do you make of the FRBRized Pride and Prejudice results? The blanks at the start come from the non-English records that I obliterated, I think. Some non-Roman characters got wiped out, too, such as in Chinese and Swedish titles. For some manifestations the language is known, for others not. Sense and Sensibility got into the mix, as discussed earlier. LC’s algorithm did a pretty good job with the manifestations of the standard English expressions of the works, but translations, collections, and critical editions didn’t come out quite as well.
  • And what do you make of the FRBRized Harry Potter series?
  • There are a lot of ugly MARC records out there.
  • I don’t know a thing about character encodings in MARC records but I’m going to need to learn.
  • The world needs a good web-based MARC editor. I would like to be able to upload a file containing multiple MARC records and have a nice Web 2.0 tool parse them all and let me edit them, delete them, or add new ones, and then export a fresh new MARC file. This would be far easier than me grunting through scripts full of ugly late-night hacks. If you’re looking for a good web-based, Ajaxy project with some Ruby, Python, or Perl on the back end, consider making the world’s first free web-based MARC editor. (Those of you who can run Terry Reese’s MarcEdit may not feel the same need.)
  • The Library of Congress’s FRBR Display Tool needs to be robustified so it can withstand heinous MARC records, but it’s still a fine piece of work. My thanks to the Library of Congress for creating it and making it available!
  • The Java part of the LC’s FRBRization process can be replaced and the same XSL used. More on that next week.
  • There’s OCLC’s FRBR Work-Set Algorithm to consider. How do they compare?
  • How can they work together? How would results from one complement, support, and improve the other’s?

I plan to load the FRBRized Pride and Prejudice and Harry Potter data into OpenFRBR. When that happens, I’ll post more. I think it will be a very interesting step. In the meantime, all comments are welcome about the experiment so far, the FRBR Display Tool, the results, etc. Leave a note here, or on your own blog with a trackback.


17 May 2007

Pride and Prejudice 7.5: Harry Potter and the Bride of Pemberley

Filed under: Pride and Prejudice — William Denton @ 10:34 am

Last night I realized there was perhaps another way of running MARC records through the LC FRBR Display Tool, and I tried it. It’s easier, cleaner, and involves less character-obliterating. I’ll post about it next week, but in the meantime, here’s a FRBRization of all the Harry Potter books by J.K. Rowling. I superduped the ISBNs of my copies of the books, found MARC records for 404 different manifestations, ran them through the tool, and ended up with this XML file. The results are good. Even some of the American Harry Potter and the Sorceror’s Stone expressions and manifestations are grouped in with Harry Potter and the Philosopher’s Stone.

The question marks (”?”) you’ll see are my replacements for problem characters I had to clear out to get things to work. I didn’t wipe any MARC fields.


Pride and Prejudice 7: Triumph!

Filed under: Pride and Prejudice — William Denton @ 7:24 am

Yesterday, in the sixth entry in this series, Bad MARC Data, I left you at this thrilling error:

Transforming the MARCXML into FRBR XML and saving to pp.xml ...
Error on line 15908 column 46 of file:///usr/home/wtd/frbr-lc-tool/tmp/slimfrbr.xml:
  Error reported by XML parser: Character reference "&#31" is an invalid XML character.

As it turned out, &#30 caused problems too, and I got rid of them both by the old Perl technique of editing files in place:

perl -pi.bak -e 's/\&#(30|31)//g' slimfrbr.xml

Now I’m editing generated files mid-process, which is bad. Tough.

The next step in the process now worked:

java -jar saxon7.jar -u -o clean.xml slimfrbr.xml \
  http://www.loc.gov/standards/marcxml/frbr/v2/clean.xsl

But then this didn’t:

java -jar saxon7.jar -u -o match.xml clean.xml \
 http://www.loc.gov/standards/marcxml/frbr/v2/match.xsl

It generated a big ugly stack trace. I switched to using Saxon (version 8.9). Why it works and the older version doesn’t, I don’t know, nor, at this point, did I particularly care.

saxon -u -o match.xml clean.xml \
 http://www.loc.gov/standards/marcxml/frbr/v2/match.xsl

It complained: Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor. But it worked.

But then the final FRBRizattion XSL failed!

$ saxon -u -o pp.xml match.xml \
 http://www.loc.gov/standards/marcxml/frbr/v2/FRBRize.xsl
Validation error on line 18 of http://www.loc.gov/standards/marcxml/frbr/v2/FRBRize.xsl:
  Cannot convert string ” ” to a double
Transformation failed: Run-time errors were reported

What does line 18 of that XSL file say?

<xsl:sort
 select="normalize-space(translate(substring(marc:datafield[@tag=130
 or @tag=240 or @tag=243 or
 @tag=245][1]/marc:subfield[@code='a'][1],marc:datafield[@tag=130]/@ind1 |
 marc:datafield[@tag=240 or
 @tag=243 or @tag=245][1]/@ind2),
 'abcdefghijklmnopqrstuvwxyz,.;/-:[]()','ABCDEFGHIJKLMNOPQRSTUVWXYZ'))"/>

The XSL is expecting to find a number in the first or second indicator of the 245 Title Statement field, but in a few cases it’s seeing a space and it gets confused.

$ grep 245 match.xml | grep '" "'
      <datafield tag="245" ind1=" " ind2=" ">
      <datafield tag="245" ind1="1" ind2=" ">
      <datafield tag="245" ind1=" " ind2="0">
      <datafield tag="245" ind1=" " ind2=" ">
      <datafield tag="245" ind1=" " ind2=" ">
      <datafield tag="245" ind1=" " ind2=" ">
      <datafield tag="245" ind1=" " ind2=" ">
      <datafield tag="245" ind1=" " ind2=" ">
      <datafield tag="245" ind1=" " ind2=" ">

The first indicator says whether or not there should be a title added entry, 0 for no, 1 for yes. The second indicator tells how many nonfiling characters there are at the start of the title (for The Three Musketeers it would be 4, so the title sorts under Three, not The).

The second indicator might matter for how the FRBRizing algorithm works, but I didn’t care. I just set all these bad indicators to 0 with Perl again. This is the second time I edited generated files mid-process, but I was so close to the end nothing could restrain me now.

perl -npi.bak -e 'next unless /tag="245/; s/" "/"0"/g;' match.xml

And then this step worked:

saxon -u -o pp.xml match.xml \
 http://www.loc.gov/standards/marcxml/frbr/v2/FRBRize.xsl

And the final step worked:

saxon -a -o pp.html pp.xml

Phew! You can see the results of FRBRizing a superduped Pride and Prejudice here.

Tomorrow: some comments. Have a look at the FRBRized results and give them a think, and leave a comment below or tomorrow.


16 May 2007

Pride and Prejudice 6: Bad MARC Data

Filed under: Pride and Prejudice — William Denton @ 7:00 am

Today we’re going to try to run the big MARC file through Library of Congress’s FRBR tool. If that sentence is complete gibberish, look at the previous entry in this series and get caught up.

I have my marc2frbr.sh script, I have the MARC file, I have the LC stuff. When I ran the test with the Mahler MARC file the LC provided, everything went perfectly fine. Not an error in sight. Now I’ve got hundreds of MARC records I downloaded from hither and possibly yon. Perhaps one or two of them will cause a problem?

$ ./marc2frbr.sh pride-and-prejudice.marc pp
Transforming pride-and-prejudice.marc to MARCXML ...
** Error: Invalid directory length
   Record Number: 4240822
   Character: 90496

** Error: Directory not terminated
   Record Number: 4240822
   Character: 90604
[blah blah more errors blah blah]
[blah blah ugly stack trace blah blah]
[blah blah more errors blah blah]

“I say, Denton old bean,” you say. “That doesn’t look good.”

Indeed it doesn’t. There are several things I could have done at this stage. I took the “just hack on it until it works” approach. I didn’t care what the problem was with record number 4240822. I just wanted it gone. “Begone,” quoth I. If I had some fancy MARC editor, I might have fired it up and fixed the problem. I didn’t. I brute-forced it.

I did so with MARC/Perl, “a Perl 5 library for reading, manipulating, outputting and converting bibliographic records in the MARC format.” It’s a pretty hairy Perl module, more complicated and more powerful than the Ruby MARC library I’ve mentioned before.

Before I could get rid of that record, I wanted a Perl script that would just open up the MARC file and parse it. That’s always the first step in doing anything like this. I wrote:

#!/usr/local/bin/perl -w

my $marcfile  = shift;
die "Usage: $0 marc.mrc" unless defined $marcfile;

use MARC::Batch;
my $batch = MARC::Batch->new('USMARC', $marcfile);
$batch->strict_off();

while (my $record = $batch -> next()) {
    print $record->title(), "\\n";
}

I ran it and got this error: utf8 "\xB9" does not map to Unicode at /usr/local/lib/perl5/5.8.8/mach/Encode.pm line 166.

The second record in the file had some kind of character encoding problem. I hate those. I asked about it on the perl4lib mailing list, and Jason Ronallo said it was probably there because the ruby-marc library I’d used in my MARC-record-grabbing script had a bug. I upgraded the library to the new bug-free version and started my script over, but it was going to take hours to run.

Ronallo had suggested editing out the offending character. I fired up Emacs and used the hex mode (M-x hexl-find-file) to get the that character out of the way. And then another character. And another one. And another one. I ended up searching for multiple occurrences of thirty different characters and replacing them all with spaces. They were mostly in Chinese and Eastern European records.

If anyone ever says to you, “I say, old thing, would you mind editing this MARC file in a hex editor — your favourite, of course, I don’t care which — and removing all of these thirty different Unicode characters wherever they appear, until this Perl script runs more or less cleanly and doesn’t die with an error in the Encode module,” then I suggest you reply, “Sorry, old man, not even for one of Antoine’s famous omelettes and a half bot. of the Widow. And stop speaking like you’re in a Wodehouse novel.” (Why didn’t I do it in Perl? I didn’t think to try. My sed doesn’t seem to handle hex, and for some reason I went straight to my editor after that.)

Anyway, I ended up with a file that could, with errors, be parsed by a Perl script: pride-and-prejudice-cleaned-chars.marc. I wasn’t any closer to running the MARC file through the LC tool, though: I still had record number 4240822 to get rid of.

I’m not going to go into all of the gory detail here, but I wrote another Perl script, marc-wiper.pl, which deleted that record and twenty-four others. They were all bad enough that the LC tool just couldn’t parse them. So, away with them.

On top of that, the LC tool was complaining about some particular MARC fields in some records. Some, such as 400, don’t exist in the MARC 21 specification. Others, like 520 Summary, Etc. do, but I didn’t care.

I ended up wiping all mentions of these fields: 200, 240, 280, 380, 400, 450, 500, 520, 600, 840. “240!” you cry. Yes, I deleted all mentions of 240 Uniform Title. Two records had the same record number and had some kind of problem with their 240, and when I couldn’t get rid of them individually I got fed up and just wiped all 240s. That is not the proper way to treat such an important field in an experiment like this, but I told you I was brute-forcing it.

I seem to have mixed up something and now when I run the Perl script I get some warnings, so this may not work for you. I don’t recommend trying it, in any case. If you run marc-wiper.pl on the previous MARC file, you should end up with clean-pride-and-prejudice-cleaned-chars.marc. You may not. You can just download it directly, but I wouldn’t bother. There’s more ugliness to come.

Finally I could get through the first step in the process:

$ ./marc2frbr.sh clean-pride-and-prejudice-cleaned-chars.marc pp
Transforming clean-pride-and-prejudice-cleaned-chars.marc to MARCXML ...

But then …


Transforming the MARCXML into FRBR XML and saving to pp.xml ...
Error on line 15908 column 46 of file:///usr/home/wtd/frbr-lc-tool/tmp/slimfrbr.xml:
  Error reported by XML parser: Character reference "&#31" is an invalid XML character.

And on that cliffhanger, I leave you until tomorrow.


14 May 2007

Pride and Prejudice 5: Mahler

Filed under: Pride and Prejudice — William Denton @ 7:41 am

All right. If you haven’t downloaded the Library of Congress’s FRBR Display Tool, my shell scripts, and the big MARC file, go back to the last post, Pride and Prejudice 4: FRBR Display Tool and get yourself set.

Here are the files in the LC zip file:

-rw-r--r--  1 wtd  wtd     1076 Mar 30  2004 MARC2FRBR.BAT
-rw-rw-rw-  1 wtd  wtd  1270415 May  7  2003 MARC4J-B.ZIP
-rw-rw-rw-  1 wtd  wtd   261744 Jun  3  2003 MARC4J.JAR
-rw-r--r--  1 wtd  wtd      940 Feb  4  2003 MARCXML.BAT
-rw-rw-rw-  1 wtd  wtd     7009 Mar 24  2004 README.TXT
-rw-r--r--  1 wtd  wtd      941 Mar 30  2004 SLIM2FRBR.BAT
-rw-rw-rw-  1 wtd  wtd    25166 Jan 28  2004 mahler.html
-rw-rw-rw-  1 wtd  wtd    52148 Dec 19  2003 mahler.mrc
-rw-rw-rw-  1 wtd  wtd    47895 Aug 16  2005 mahler.mrk
-rw-rw-rw-  1 wtd  wtd    34495 Jan 28  2004 mahler.xml
-rw-rw-rw-  1 wtd  wtd    13563 Jul 28  2006 marcxml.jar
-rw-rw-rw-  1 wtd  wtd   966191 Nov 11  2003 saxon7.jar

README.TXT says at the bottom:

3.  Example using the MARC file "mahler.mrc"

C:\MARCXML>marc2frbr mahler.mrc mahler

will produce two files

mahler.xml:  The FRBR xml file
mahler.html: The FRBR HTML display file which you can view using any
             web browser.

As I said last time, I use Unix so I need a shell script, and I wrote marc2frbr.sh. Let’s run it on the sample MARC file that LC provided, and make sure everything is tickety-boo:

$ ./marc2frbr.sh mahler.mrc mahler
Transforming mahler.mrc to MARCXML ...
Transforming the MARCXML into FRBR XML and saving to mahler.xml ...
Transforming the FRBR XML into HTML and saving to mahler.html ...
Complete

Worked perfectly! The HTML generated is mahler.html. Have a look and see what it looks like. If you have any MARC editors or analysis tools, use them to have a look at mahler.mrc and compare the two.

Also of interest is mahler.xml, from which the HTML is generated. It uses the Metadata Object Description Schema (MODS) to help define metadata elements in a FRBR hierarchy with works, expressions, and manifestations. Here’s a section of the file, representing one particular work (which you can look for in the HTML):

<work>
  <mods:name type="personal">
    <mods:namePart>Mahler, Gustav, 1860</mods:namePart>
    <mods:role>
      <mods:text>creator</mods:text>
    </mods:role>
  </mods:name>
  <mods:titleInfo>
    <mods:title>Symphonies, no. 3, D minor. O Mensch. Vocal scores</mods:title>
  </mods:titleInfo>
  <expression>
    <mods:typeOfResource>text</mods:typeOfResource>
    <mods:language authority="iso639-2b">ger</mods:language>
    <manifestation>
      <imprint>
        <mods:titleInfo>
          <mods:title>Sehr Langsam, misterioso</mods:title>
        </mods:titleInfo>
        <mods:note type="statement of responsiblity">Gustav Mahler.</mods:note>
        <mods:originInfo>
          <mods:dateIssued>1896</mods:dateIssued>
        </mods:originInfo>
        <mods:physicalDescription>
          <mods:extent>1 ms. vocal score ([4] p.) ; 35 cm.</mods:extent>
        </mods:physicalDescription>
        <mods:identifier type="lccn">82770782</mods:identifier>
      </imprint>
    </manifestation>
  </expression>
</work>

(mods:something means that the something element comes from MODS and is being kept in the mods namespace. This is useful when mixing metadata elements from two different schemas.)

Even if you’re new to metadata in XML you can probably get the gist of what’s going on up there. There’s a work, with a creator and a title, and it has an expression and a manifestation. The MODS elements define attributes of the FRBR entities. All of this is transformed into HTML, as linked above.

That’s enough of LC’s example. Now we’re sure everything works with the test data. How well it work with the MARC records I downloaded? Not very well, but we’ll deal with that.

If you have any questions about any step of this worked example, or if you’re doing it at home and run into some trouble, feel free to leave a comment. Comments are always welcome!


11 May 2007

Pride and Prejudice 4: FRBR Display Toolkit

Filed under: Pride and Prejudice — William Denton @ 7:41 am

In Pride and Prejudice 3: MARC I told you about how I had superduped my copy of Jane Austen’s Pride and Prejudice, got 792 ISBNs, queried open Z39.50 servers around the world, and retrieved MARC records for 383 of those manifestations.

That’s a nice chunk of data to work with. “What,” I hear you cry, “will we do with it?” “We’re going to bung it into Library of Congress’s FRBR Display Tool and see what happens,” I reply. “Right ho!” you say.

Here’s a brief extract about the tool. Make your way over there to read the whole thing and poke around.

The FRBR Display Tool … is an XSLT program that transforms the bibliographic data found in MARC record retrieval files into meaningful displays by grouping the bibliographic data into the “Work,” “Expression” and “Manifestation” FRBR entities….

The FRBR Display Tool sorts and arranges bibliographic record sets using the FRBR model. It then generates useful hierarchical displays of these record sets containing works that consist of multiple expressions and manifestations.

The tool is very flexible. Because the tool is written in XSLT, it is easy to augment based on an institution’s individual needs. Likewise, the output may be augmented by simply changing the XSL stylesheet that controls display. No change in the XSLT program is needed.

The tool does not search bibliographic databases to create the record set on which it operates. A retrieved file (e.g., an OPAC search result) of MARC unit records must be created before using the tool.

We have the MARC records so we’re set to begin.

If you want to follow along at home, please download the FRBR Display Tool and get it working for next week. It requires Java.

The toolkit includes some Java JAR files and other things, including MARC2FRBR.BAT, a DOS or Windows batch file. That’s no good to me (I run FreeBSD) so I made a shell script replacement, marc2frbr.sh.

As it happened, while processing the MARC records I ran into various problems, which I’ll describe and solve next week. I ended up installing Saxon 8.9 to get around one of them. You’d be best off to install it too. For it, I made another new version of the batch file, new-marc2frbr.sh.

I worked through this at the command line on my Unix box, and that’s what I’ll show, so if you’re not using a Unix or a Linux, you’ll have to figure it out yourself or just follow and see the results.

“Strike me pink,” you say. “Do you mean you’re going to take those 383 MARC records and FRBRize Pride and Prejudice before my very eyes?”

Yes!


3 May 2007

Pride and Prejudice 3: MARC

Filed under: Pride and Prejudice — William Denton @ 7:38 am

Yesterday I superduped Pride and Prejudice and got 792 ISBNs, representing manifestations of that book in English and other languages, and some other books, mostly two other Jane Austen works. The day before that, I showed how to use an ISBN to get a free MARC record.

Today, as we slowly amble along this FRBRization experiment, I combined the two and created a file with MARC records for 383 of those manifestations. Why only 383? The other 409 couldn’t be found on the open Z39.50 servers I queried. That’s annoying — this information should be freely available to all — but 383 is enough for what we’re going to do.

It’s not 383 perfectly clean MARC records, either. MARC/Perl comes with a handy script called marclint, which will report errors in a MARC file. (Sadly, there’s no marctidy, which would clean up the errors!)

 Recs  Errs Filename
----- ----- --------
  383   249 pride-and-prejudice.marc

Some of those errors will be so heinously egregious that we’ll need to get rid of them, but we’ll see about that when we get there.


2 May 2007

Pride and Prejudice 2

Filed under: Pride and Prejudice — William Denton @ 7:14 am

I have in my collection an item that is an exemplar of an Oxford World’s Classics manifestation of their customized expression of Jane Austen’s work Pride and Prejudice. The note on the text (that is, the expression) says, “The present text is substantially that of R.W. Chapman’s edition (Oxford, 1923; revised by Mary Lascelles, 1965), based on the first edition collated with the second and third. Chapman’s textual apparatus has been revised and his emendations reconsidered.” I love sentences like that.

The manifestation seems to be the seventh impression of the first Oxford World’s Classics edition from 1998. The ISBN is 0192833553.

If we query thingISBN for 0192833553 we get back 254 ISBNs. If we query xISBN for 0192833553 we get 353 ISBNs. That’s a lot of ISBNs.

Superduping them goes along fairly normally for a while, picking up a lot of English manifestations (you can imagine how many of those there are, and this isn’t even counting the pre-ISBN editions) and many in other languages (my apologies for any character set problems): Orgoglio e Pregiudizio (Italian), Ylpeys ja Ennakkoluulo (Finnish), GhuÌbar aur Tasub (Urdu), Northanger Abbey (English), Stolz und Vorurteil (German), Duma i Uprzedzenie (Polish) …

Wait, Northanger Abbey? How did that get in there? I’m not sure. There are a lot of ISBNs going by and I didn’t narrow them all down. I did see thingISBN return a cluster of 44 ISBNs for 0140090029, The Penguin Complete Novels of Jane Austen, which xISBN grouped with Pride and Prejudice. That got us into a whole set of numbers for omnibus editions of Austen’s novels. Later a lot of Sense and Sensibility showed up.

The final superduping tally was:

Combining and deduping: 464
Superduping: 792 ISBNs
thingISBN: 254 at start; 367 calls; 199 ISBNs added; 350 unknown
    xISBN: 353 at start; 175 calls; 312 ISBNs added; 127 unknown

Had I wanted to stay just with Pride and Prejudice I would have probably been better off staying with the combined and deduped results, and not gone ahead and superduped them. However, having all those extra ISBNs makes the next steps more fun!

So now I have 792 ISBNs in hand. Next, I get MARC records for as many as possible.


1 May 2007

Pride and Prejudice 1

Filed under: Pride and Prejudice — William Denton @ 7:53 am

Over the next few days I’m going to work through an example of putting together some of the tools available by superduping and FRBRizing Jane Austen’s Pride and Prejudice.

To begin with, here’s a handy Ruby script to find free MARC records with Z39.50. I’m going to use an adapted version of this to get MARC records for all of the superduped ISBNs. I’ll post the binary MARC file for your own use, so you needn’t collect them yourself.


Next Page »