[Koha] schema question

s.yeates at cs.waikato.ac.nz say1 at goblin.cs.waikato.ac.nz
Mon May 13 18:31:16 NZST 2002


Hello

I've got a couple of quick questions about the Koha database schema. I think I've worked it out, but just want to double check. I'm working from the CVS version and data.

I'm interested in implementing a collaborative recommendation feature which allowed users to see which books other people who borrowed the current book had also borrowed. Both Amazon and Barnes and Noble use a similar feature.

In English the query I want is "Which books have been lent to the most people who have also borrowed the current book?" With the restriction that the books I recommend must be available for lending from the current library (it's pointless recommending a book that's not there) and must have more than N borrowers in common with the current book (to protect the privacy of borrowers, N is set to 5 or 10).

Logically what I want to do is a join across biblio--> items--> issues--> borrowernumber--> issues--> items--> biblio with SELECT, a COUNT and a SORT. This, of course, gives huge intermediate tables, so I'd have to do several SELECTs as I go.

I may also need to factor in a component of "how much has book A been borrowed by borrowers of book B compared to all other borrowers" to prevent very popular items (think Harry Potter) being recommended for every possible book. This effect would be similar to tf-idf ranking from classical information retrieval.

My questions are:
(1) How do I tell whether a book is 'available'? I think I need to check the items table and make sure that stack, notforloan, itemlost and wthdrawn are all zero does this sounds right?.
(2) I don't understand the distinction between items and biblioitems
(3) How to I differentiate between children's and adult's books, between fiction and non-fiction?
(4) Would collaborative recommendation be useful in a small library catalog?
(5) Would the small incursion of user privacy be acceptable in a small public library? 

thanks for your help
stuart




--    stuart yeates <s.yeates at cs.waikato.ac.nz> aka `loam'
  "To err is human--but it feels divine."  --  Mae West
X-no-archive:yes




More information about the Koha mailing list