Generating Cutter numbers

S

skryskalla

Gerard said:
All

would anyone happen to have code to generate Cutter Numbers:

eg. http://www1.kfupm.edu.sa/library/cod-web/Cutter-numbers.htm

or is anyone looking for something to do?-) (I'm under pressure!)

def cutter(lname, fname, book_title):

What do you use lname and fname (author first name and last name?) for?
The page you linked to does not have any information (that I could
see) about first names or last names.

I wrote a script to see if I could capture what the table is doing on
the page you linked to. It gets the Cutter number right about 50% of
the time, otherwise its off by a few digits.

I am stumped about what to do when the first letter is Q not followed
by U. It says to use numbers 2-29 for the second letters a-t, but that
is obviously not right (for one thing t would be 21, not 29).

Since you seem a little bit more experienced in library science could
you explain what is going on? :)

you can find the script here:
http://lost-theory.org/python/cutter.txt

Title mine real match?
---------------------------------------
IBM I26 I26 True
Idaho I33 I33 True
Ilardo I43 I4 False
Import I47 I48 False
Inman I56 I56 True
Ipswich I67 I67 True
Ito I86 I87 False
Ivy I99 I94 False
Sadron S23 S23 True
Scanlon S33 S29 False
Schreiber S37 S37 True
Shillingburg S55 S53 False
Singer S56 S57 False
Stinson S75 S75 True
Suryani S87 S87 True
Symposium S96 S96 True
Qadduri Q23 Q23 True
Qiao Q103 Q27 False
Quade Q33 Q33 True
Queiroz Q45 Q45 True
Quinn Q56 Q56 True
Quorum Q67 Q67 True
Qutub Q88 Q88 True
Qvortrup Q236 Q97 False
Campbell C46 C36 False
Ceccaldi C53 C43 False
Chertok C64 C48 False
Clark C73 C58 False
Cobblestone C43 C63 False
Cryer C79 C79 True
Cuellar C74 C84 False
Cymbal C36 C96 False


Steve
 
R

Rick Zantow

(e-mail address removed) wrote in 38g2000cwa.googlegroups.com:
Gerard said:
All

would anyone happen to have code to generate Cutter Numbers:

eg. http://www1.kfupm.edu.sa/library/cod-web/Cutter-numbers.htm
[...]

I wrote a script to see if I could capture what the table is doing on
the page you linked to. It gets the Cutter number right about 50% of
the time, otherwise its off by a few digits.

I am stumped about what to do when the first letter is Q not followed
by U. It says to use numbers 2-29 for the second letters a-t, but that
is obviously not right (for one thing t would be 21, not 29).

Since you seem a little bit more experienced in library science could
you explain what is going on? :)

you can find the script here:
http://lost-theory.org/python/cutter.txt

I found another page
<http://ublib.buffalo.edu/libraries/units/cts/codes/cutter.html> that
expresses the letter codes more fully than the one the OP posted. But
nothing I've seen so far accounts for an example like " Chertok (.C48)".

This page <http://www.itsmarc.com/crs/cutr0020.htm> shows essentially
the same information the OP posted, including the Chertok example, which
is linked to another page that says this (and only this): "These Cutters
reflect the adjustments made to allow for a range of letters on the
table, e.g., l-m, or for letters not explicitly stated, e.g., h after an
initial consonant." Given that some unnamed adjustment is made, it's not
clear how one would go about programming it. I mean, Python's good, but
it only has a serpent brain.
 
T

Tim Chase

I am stumped about what to do when the first letter is Q not
followed by U. It says to use numbers 2-29 for the second
letters a-t, but that is obviously not right (for one thing t
would be 21, not 29).

Since you seem a little bit more experienced in library
science could you explain what is going on? :)

I too tried to play with it, and Steve found one of the cases
with which I was having trouble ("Q[^u]"). Additionally, is "Y"
considered a consonant or vowel for the sake of this exercise?
Other trouble came when consonants were not followed by the list
of letters given. It also looks like the definiton of "initial
letter" seems to change a bit. In some cases, "initial letter"
seems to refer to the first letter (which gets output
carte-blanche), and in other cases, it seems to be used to refer
to "the first letter that should be converted to a number"
(meaning the second letter of the input).

Some examples for which expected results (and the
reasoning/logic/algorithm/table behind how they were generated)
would be helpful:
"Cyr", "Cyprus", "Mbarine", "McGrady", "Sczepanski", "Yvette"

They're all are sample last-names pulled from my local phonebook.

Too bad my librarian wife is working today :)

-tkc
 
G

Gerard Flanagan

What do you use lname and fname (author first name and last name?) for?
The page you linked to does not have any information (that I could
see) about first names or last names.

Sorry, couldn't find a better link, I'm struggling to find anything
definitive about this.

I'm cataloging a small library and want to generate a unique id (called
a 'call number') for each book. This id is composed of:

* Dewey 3-digit Subject Classification Number
* Dewey Decimal (always 0 for the minute)
* Cutter Number
* Copy number (multiple copies or volumes)

(That Celestial Emporium again...)

I haven't researched it much but it seems the Cutter number is used to
distinguish between authors with the same name, and between different
books written by the same author - so you need last name, first name
and title. But it may be as much art as science.
I wrote a script to see if I could capture what the table is doing on
the page you linked to. It gets the Cutter number right about 50% of
the time, otherwise its off by a few digits.

I am stumped about what to do when the first letter is Q not followed
by U. It says to use numbers 2-29 for the second letters a-t, but that
is obviously not right (for one thing t would be 21, not 29).

Since you seem a little bit more experienced in library science could
you explain what is going on? :)

you can find the script here:
http://lost-theory.org/python/cutter.txt

Thanks very much for taking the time - I'll have to go study it now!
But I don't think it will be as simple now since the Cutter may depend
on books already in the database. Maybe I'll just stick a random
string on the end of what your function produces!

Thanks again.

Gerard
 
T

Terry Reedy

Gerard Flanagan said:
I'm cataloging a small library and want to generate a unique id (called
a 'call number') for each book. This id is composed of:

* Dewey 3-digit Subject Classification Number
* Dewey Decimal (always 0 for the minute)
* Cutter Number
* Copy number (multiple copies or volumes)

(That Celestial Emporium again...)

I haven't researched it much but it seems the Cutter number is used to
distinguish between authors with the same name, and between different
books written by the same author - so you need last name, first name
and title. But it may be as much art as science.

I seems you are mixing pieces of two cataloging systems. The link you gave
was for creating Cutter numbers to represent subtopics of Library of
Congress classes. For instance, 'algorithms' is .A43.
 
G

Gerard Flanagan

Terry said:
I seems you are mixing pieces of two cataloging systems. The link you gave
was for creating Cutter numbers to represent subtopics of Library of
Congress classes. For instance, 'algorithms' is .A43.

I think 'Cuttering' is a general term for identifying any given book
within a subject area. Whether you use Dewey or Library of Congress
system of subject classification you still need to have a way of
identifying particuar books.
From the link below:

<quote>
[Examples of] LC (Library of Congress) call numbers:

LB 1631.S686 1994

QA 76.76.H94 C36 1997

The first part of those call numbers, i.e. before the final decimal
point, are the "filing numbers" as they are often called. They
indicate the general subject area and are of no interest to us at this
point for they are shared by all other books in this class. All
libraries using the system will all use the same "pre-decimal" filing
number. But ... there could still be a whole wallfull of books sharing
those numbers so we still have a problem.

The part of the call number that really made Cutter's system famous --
and a winner -- was the stuff after the (final) decimal point. Those
are the
cutter numbers -- and those are the numbers that guarantee not only
every
book's uniqueness, but also lead us straight to its location once we
are in the right general area of the library.

Cutter numbers are in a sense "relative". They are not assigned in
some kind of absolute way, as are the filing numbers that precede
the decimal point. Thus if a book is "about science" then its filing
number will begin with a Q in a more absolute or determinate sense
because Q is the Library of Congress Classification for books on
science. All books using the LC system will end up giving each book
the same filing number, but they are unlikely to end up giving it
exactly the same cutter because every library is different and will
have different books on its shelf. Cutters depend, relatively, on what
other books are located in the general area in which a given book is
to be placed in that particular library.

So when a book has to be cuttered, then the table that Cutter provided
for allocating numbers is used. However, the resulting numbers must
fit into the order established by already existing books in the
library. That's to say, it is the librarian's responsibility to check
to be sure that no other book in this class has the same cutter
number.
</quote>

http://mailman.code404.com/pipermail/nord-modular/2002-December/003910.html

(Before clicking on the link give yourself 10 geek-points if you can
complete the following sentence:

<quote>
The first real library -- i.e. the first one known to have
systematically tried to solve the problems of maintaining a collection
by imposing a "logical order" on its objects was the
Great Library of Alexandria. The Great Library's first librarian was...
</quote>
)

Gerard
 
G

Gerard Flanagan

Gerard said:
All

would anyone happen to have code to generate Cutter Numbers:

eg. http://www1.kfupm.edu.sa/library/cod-web/Cutter-numbers.htm

or is anyone looking for something to do?-) (I'm under pressure!)

def cutter(lname, fname, book_title):

(maybe more to it than that).


cheers

Gerard

Just for the archives - used a Cutter-Sanborn table obtained by
html-scraping (BeautifulSoup). The final Cutter will depend on the
Cutters of existing books on the same shelf.

-------------------------------------------------------------------------------------------
from urllib import urlopen
from BeautifulSoup import BeautifulSoup as Soup

baseurl = 'http://www.librarian.or.kr/reference/mark/cutter%s.htm'

out = open('cutter2.txt','w')

try:
for i in range(1,10):
html = urlopen(baseurl % i).read()
soup = Soup(html)
for pre in soup('pre'):
for line in pre.string.split('\n'):
out.write(line.strip().replace(' ', ' ') + '\n')
finally:
out.close()
-------------------------------------------------------------------------------------------

111 Aa
112 Aal
113 Aar
114 Aars
115 Aas
116 Aba
117 Abal
118 Abar
119 Abat
121 Abau
122 Abb
123 Abbat
124 Abbe
125 Abbo

....

86 Zol
87 Zon
88 Zop
89 Zot
91 Zou
92 Zs
93 Zu
94 Zuc
95 Zun
96 Zur
97 Zw
98 Zwi
99 Zy
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,743
Messages
2,569,478
Members
44,899
Latest member
RodneyMcAu

Latest Threads

Top