Openlibrary: Methode zum Konvertieren von LCCs in LCC-Klassennamen

Erstellt am 23. Apr. 2020  ·  5Kommentare  ·  Quelle: internetarchive/openlibrary

LCCs können als ~Pfad im Klassifizierungsbaum angezeigt werden. Diese liefern nützliche Informationen, die wir dem Benutzer anzeigen möchten. Dazu müssen wir in der Lage sein, den LCC in Klassen zu entschlüsseln. (Diese Ausgabe wurde von #3290 abgespalten)

Beschreiben Sie das Problem, das Sie lösen möchten

Möchten Sie die Daten auf der rechten Seite programmatisch abrufen:

| Beispiel LCC aus einem echten Buch | Erwartetes Ergebnis |
| -- | -- |
| F1047 .C95 | [
("Geschichte Amerikas", ( F )),
("British American (einschließlich Kanada)", (F1001, F1145.2) ),
("Britisches Amerika", (F1001, F1145.2) ),
("Kanada", (F1001, F1145.2) ),
("Seeprovinzen", (F1035.8) ),
("Prinz-Edward-Insel", (F1046, F1049.7) ),
] |
| NC760 .B2813 2004 | [
("Bildende Kunst", (N) ),
("Zeichnung. Gestaltung. Illustration", (NC) ),
("Spezialfächer", (NC760, NC825) ),
] |
| QH81 .C3525 1996 | [
("Wissenschaft", (Q) ),
("Naturgeschichte - Biologie", (QH) ),
("Naturgeschichte (allgemein)", (QH1, QH278.5) ),
] |
| RF290 .E73 2009 | [
("Medizin", (R) ),
("HNO-Heilkunde", (RF) ),
("Otologie. Erkrankungen des Ohrs", (RF110, RF320) ),
] |
| NB699.N4 B4 1969b | [
("Bildende Kunst", (N) ),
("Skulptur", (NB) ),
("Geschichte", (NB60, NB1115) ),
] |

Weitere Beispiele finden Sie unter https://github.com/internetarchive/openlibrary/issues/3290 ; nicht der Tabelle dort fehlt die erste LCC-Klasse.

Angebot & Einschränkungen

  • [ ] Benötigt eine Funktion, die eine Liste von LCC-Klassen zurückgibt, wenn ein von Menschen eingegebener LCC von Open Library gegeben ist
  • [ ] Jede Klasse sollte auch entweder eine Reihe von LCCs oder ein LCC-Präfix enthalten (siehe Beispiele oben)

Anmerkungen:

  • Obwohl LCCs Informationen über die erste Ziffer hinaus bereitstellen (zB NB699.A14), wird diese Funktion für diese Stufe als abgeschlossen betrachtet, sobald Klassen für die LCC bis zur ersten Schneidenummer (ohne "A14" (dh ohne "A14") angegeben werden. in "NB699.A14"). Dies sind Erweiterungen, die wir in zukünftigen Ausgaben vornehmen können.
  • Optionale Erweiterung (nicht erforderlich, um dieses Problem zu schließen; kann in einem zukünftigen Problem durchgeführt werden): sollte die LCC-Klassennamen über i18n übergeben.
  • Die obigen Beispiele werden mit https://www.loc.gov/catdir/cpso/lcco/ generiert. Das Ergebnis muss nicht _identisch_ mit dem obigen sein, aber es sollte sehr ähnlich sein.

Zusätzlicher Kontext

Stakeholder

@cclauss @BrittanyBunk

Librarians @cclauss 2 Identifiers Feature Request

Hilfreichster Kommentar

Der nächste Schritt ist, sobald @cclauss eine Methode hat, die er für fertig hält, kann er oder ich sie der Benutzeroberfläche hinzufügen und sie zum Testen auf dev.openlibrary.org stellen :) Scheint das richtig

Alle 5 Kommentare

@cdrini Es gibt zwei Umrisse, den LCCO und den Zeitplan. @cclauss verwendete die Zeitplanskizzen: https://www.loc.gov/aba/cataloging/classification/. Sollten wir das LCCO verwenden, wenn die Arbeit von @cclauss auf den Zeitplänen basiert?

Obwohl unvollständig, ist es viel einfacher, mit dem LCCO zu arbeiten, da die Zeitpläne Unterklassen haben, in denen die Einrückung sowohl vorwärts als auch rückwärts erfolgt und die visualisieren oder programmieren, die für Betrachter und Programmierer geeignet sind. Der LCCO rückt nur nach vorne, die Klassen kommen also immer nacheinander (nicht sowohl vor als auch nacheinander).

Ein Beispiel wäre, wenn es in den Zeitplänen so aussieht:
------Unterklasse 1
Unterklasse 2
------Unterklasse 3

Wie lässt sich das einfach darstellen? Es kann nicht. Das kann der LCCO jedoch, denn er sieht so aus:
Unterklasse 1
----Unterklasse 2
-------Unterklasse 3

Das ist leicht darzustellen. Das einzige Problem mit dem LCCO ist, dass es nicht die vollständige Liste der Klassen und Unterklassen ist, sondern unvollständig ist. Der Zeitplan ist vollständig.

Das ist mein aktuelles Dilemma, bei dem etwas geopfert werden muss: 1) Vollständigkeit, 2) Genauigkeit in der Darstellung.

Es liegt an Ihnen und @cclauss, was Sie wählen. Ich denke, aufgrund der Vollständigkeit und der offiziellen Bedeutung sind die Zeitpläne die beste Wahl - da wir immer einen Weg finden konnten, die Informationen darzustellen, aber wir können nicht leicht bekommen, was uns fehlt.

Ich glaube, @cclauss verwendet die Dumps von https://github.com/thisismattmiller/lcc-pdf-to-json . Ich denke, diese zu verwenden scheint am besten zu sein, weil wir etwas zum Laufen bringen und damit experimentieren können, um zu sehen, wie es sich "anfühlt" :+1: Was auch immer wir wählen, ist nicht in Stein gemeißelt. Wir können es jederzeit anpassen, um mehr Komplexität zu bewältigen, wenn wir es für nötig halten :)

Es stellt sich immer heraus, dass ein komplexes System, das funktioniert, sich aus einem einfachen System entwickelt hat, das funktioniert. Der umgekehrte Satz scheint auch wahr zu sein: Ein komplexes System, das von Grund auf neu entwickelt wurde, funktioniert nie und kann nicht zum Laufen gebracht werden. Sie müssen von vorne beginnen, beginnend mit einem funktionierenden einfachen System. - John Gall

@cdrini stimmte zu. Lassen Sie uns mit dem fortfahren, was bereits verwendet wird, bevor wir mehr übernehmen :) Das heißt, was kommt als nächstes?

Der nächste Schritt ist, sobald @cclauss eine Methode hat, die er für fertig hält, kann er oder ich sie der Benutzeroberfläche hinzufügen und sie zum Testen auf dev.openlibrary.org stellen :) Scheint das richtig

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen