Openlibrary: Metode untuk mengonversi LCC ke nama kelas LCC

Dibuat pada 23 Apr 2020  ·  5Komentar  ·  Sumber: internetarchive/openlibrary

LCC dapat ditampilkan sebagai ~path di bawah pohon klasifikasi. Ini memberikan informasi berguna yang ingin kami tampilkan kepada pengguna. Untuk melakukan itu, kita harus mampu mendekode LCC ke dalam kelas. (Masalah ini terpisah dari #3290)

Jelaskan masalah yang ingin Anda selesaikan

Ingin dapat secara terprogram mendapatkan data di sebelah kanan:

| Contoh LCC dari buku asli | Hasil yang Diharapkan |
| -- | -- |
| F1047 .C95 | [
("Sejarah Amerika", ( P )),
("British American (termasuk Kanada)", (F1001, F1145.2) ),
("British America", (F1001, F1145.2) ),
("Kanada", (F1001, F1145.2) ),
("Provinsi Maritim", (F1035.8) ),
("Pulau Pangeran Edward", (F1046, F1049.7) ),
] |
| NC760 .B2813 2004 | [
("Seni Visual", (N) ),
("Gambar. Desain. Ilustrasi", (NC) ),
("Mata pelajaran khusus", (NC760, NC825) ),
] |
| QH81 .C3525 1996 | [
("Ilmu", (Q) ),
("Sejarah Alam - Biologi", (QH) ),
("Sejarah Alam (Umum)", (QH1, QH278.5) ),
] |
| RF290 .E73 2009 | [
("Kedokteran", (R) ),
("Otorhinolaryngology", (RF) ),
("Otologi. Penyakit telinga", (RF110, RF320) ),
] |
| NB699.N4 B4 1969b | [
("Seni Visual", (N) ),
("Patung", (NB) ),
("Riwayat", (NB60, NB1115) ),
] |

Lihat https://github.com/internetarchive/openlibrary/issues/3290 untuk lebih banyak contoh; bukan meja di sana yang kehilangan kelas LCC pertama.

Usulan & Kendala

  • [ ] Membutuhkan fungsi yang diberi string, LCC yang dimasukkan manusia dari Open Library, mengembalikan daftar kelas LCC
  • [ ] Setiap kelas juga harus menyertakan rentang LCC atau awalan LCC (lihat contoh di atas)

Catatan:

  • Untuk tahap ini, meskipun LCC memberikan informasi di luar digit pertama (misalnya NB699.A14), fitur ini akan dianggap lengkap setelah kelas diberikan untuk LCC hingga, tetapi tidak termasuk, nomor pemotong pertama (yaitu tidak termasuk "A14" di "NB699.A14"). Ini adalah ekspansi yang bisa kita lakukan di edisi mendatang.
  • Perluasan opsional (tidak diperlukan untuk menutup masalah ini; dapat dilakukan di edisi mendatang): harus meneruskan nama kelas LCC melalui i18n.
  • Contoh di atas dibuat menggunakan https://www.loc.gov/catdir/cpso/lcco/ . Hasilnya tidak harus _identik_ dengan yang di atas, tetapi harus sangat mirip.

konteks tambahan

Pemangku Kepentingan

@cclauss @BrittanyBunk

Librarians @cclauss 2 Identifiers Feature Request

Komentar yang paling membantu

Langkah selanjutnya adalah setelah @cclauss memiliki metode yang menurutnya sudah siap, dia atau saya dapat menambahkannya ke UI, dan meletakkannya di dev.openlibrary.org untuk pengujian :) Apakah itu tampaknya benar @cclauss ?

Semua 5 komentar

@cdrini Ada dua garis besar, LCCO dan garis besar jadwal. @cclauss menggunakan garis besar jadwal: https://www.loc.gov/aba/cataloging/classification/. Haruskah kita menggunakan LCCO jika pekerjaan @cclauss didasarkan pada jadwal?

Meskipun tidak lengkap, LCCO jauh lebih mudah untuk dikerjakan, karena jadwal akan memiliki subkelas di mana lekukan maju dan mundur dan tidak tahu bagaimana memvisualisasikan atau memprogramnya dengan cara yang membuat pemirsa dan pembuat kode. LCCO hanya menjorok ke depan, sehingga kelas selalu saling menyusul (tidak sebelum dan sesudah satu sama lain).

Contohnya adalah ketika terlihat seperti ini di jadwal:
------ subkelas 1
subkelas 2
------ subkelas 3

Seperti bagaimana itu bisa direpresentasikan dengan mudah? Tidak bisa. Namun, LCCO bisa, karena tampilannya seperti ini:
subkelas 1
---- subkelas 2
------- subkelas 3

Itu mudah untuk diwakili. Satu-satunya masalah dengan LCCO adalah bahwa itu bukan daftar lengkap kelas dan subkelas, itu tidak lengkap. Jadwal adalah yang lengkap.

Itulah dilema saya saat ini, di mana ada sesuatu yang perlu dikorbankan: 1) kelengkapan, 2) ketepatan dalam representasi.

Terserah Anda dan @cclauss yang Anda pilih. Saya pikir karena kelengkapan dan menjadi resmi, jadwal adalah pilihan terbaik - karena kami selalu dapat menemukan cara untuk mewakili info, tetapi kami tidak dapat dengan mudah mendapatkan apa yang kami lewatkan.

Saya percaya @cclauss menggunakan dump dari https://github.com/thisismattmiller/lcc-pdf-to-json . Saya pikir menggunakan itu tampaknya yang terbaik, karena kita bisa membuat sesuatu bekerja dan bereksperimen dengannya untuk melihat bagaimana "rasanya" :+1: Apa pun yang kita pilih tidak ditentukan. Kami selalu dapat menyesuaikannya untuk menangani lebih banyak kerumitan jika kami merasa perlu :)

Sebuah sistem kompleks yang bekerja selalu ditemukan telah berevolusi dari sistem sederhana yang berhasil. Proposisi terbalik juga tampaknya benar: Sistem kompleks yang dirancang dari awal tidak pernah berfungsi dan tidak dapat dibuat berfungsi. Anda harus memulai dari awal, dimulai dengan sistem sederhana yang berfungsi. - John Gall

@cdrini setuju. Mari kita pergi dengan apa yang sudah digunakan sebelum mengambil lebih :) Yang mengatakan, apa selanjutnya?

Langkah selanjutnya adalah setelah @cclauss memiliki metode yang menurutnya sudah siap, dia atau saya dapat menambahkannya ke UI, dan meletakkannya di dev.openlibrary.org untuk pengujian :) Apakah itu tampaknya benar @cclauss ?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat