Les LCC peuvent être affichés sous forme de ~chemin vers le bas de l'arbre de classification. Ceux-ci fournissent des informations utiles que nous souhaitons afficher à l'utilisateur. Pour ce faire, nous devons être capables de décoder le LCC en classes. (Ce numéro s'est séparé du #3290)
Vous voulez pouvoir obtenir par programmation les données à droite :
| Exemple de LCC d'un vrai livre | Résultat attendu |
| -- | -- |
| F1047 .C95 | [
(« Histoire des Amériques », ( F )),
(« Américain britannique (y compris le Canada) », (F1001, F1145.2) ),
("Amérique britannique", (F1001, F1145.2) ),
("Canada", (F1001, F1145.2) ),
("Provinces maritimes", (F1035.8) ),
("Île-du-Prince-Édouard", (F1046, F1049.7) ),
] |
| NC760 .B2813 2004 | [
("Arts visuels", (N) ),
("Dessin. Conception. Illustration", (NC) ),
(" Matières spéciales",
] |
| QH81 .C3525 1996 | [
("Science", (Q) ),
("Histoire Naturelle - Biologie", (QH) ),
("Histoire Naturelle (Général)", (QH1, QH278.5) ),
] |
| RF290 .E73 2009 | [
("Médecine", (R) ),
("Otorhinolaryngologie", (RF) ),
("Otologie. Maladies de l'oreille", (RF110, RF320) ),
] |
| NB699.N4 B4 1969b | [
("Arts visuels", (N) ),
("Sculpture", (NB) ),
("Histoire", (NB60, NB1115) ),
] |
Voir https://github.com/internetarchive/openlibrary/issues/3290 pour plus d'exemples ; pas la table il manque la première classe LCC.
Remarques:
@cclauss @BrittanyBunk
@cdrini Il existe deux schémas, le LCCO et les schémas horaires. @cclauss utilisait les contours de l'horaire : https://www.loc.gov/aba/cataloging/classification/. Doit-on utiliser le LCCO si le travail de @cclauss est basé sur les horaires ?
Bien qu'incomplet, le LCCO est beaucoup plus facile à utiliser, car les horaires auront des sous-classes où l'indentation est à la fois en avant et en arrière et idk comment visualiser ou programmer cela d'une manière qui rend les téléspectateurs et les codeurs. Le LCCO ne fait que mettre en retrait, de sorte que les classes se succèdent toujours (pas à la fois avant et après l'autre).
Un exemple serait quand cela ressemble à ceci dans les horaires :
------sous-classe 1
sous-classe 2
------sous-classe 3
Comme comment cela peut-il être représenté facilement? Ça ne peut pas. Cependant, le LCCO peut, car il ressemble à ceci :
sous-classe 1
----sous-classe 2
-------sous-classe 3
C'est facile à représenter. Le seul problème avec le LCCO est que ce n'est pas la liste complète des classes et sous-classes, elle est incomplète. Les horaires sont complets.
C'est mon dilemme actuel, où quelque chose doit être sacrifié : 1) l'exhaustivité, 2) l'exactitude de la représentation.
C'est à vous et @cclauss que vous choisissez. Je pense qu'en raison de leur exhaustivité et de leur caractère officiel, les horaires sont le meilleur choix - car nous pouvons toujours trouver un moyen de représenter les informations, mais nous ne pouvons pas obtenir facilement ce qui nous manque.
Je crois que @cclauss utilise les dumps de https://github.com/thisismattmiller/lcc-pdf-to-json . Je pense que les utiliser semble le mieux, car nous pouvons faire fonctionner quelque chose et l'expérimenter pour voir comment il "se sent" :+1: Tout ce que nous choisissons n'est pas gravé dans le marbre. Nous pouvons toujours l'ajuster pour gérer plus de complexité si nous trouvons que nous en avons besoin :)
Un système complexe qui fonctionne s'avère invariablement avoir évolué à partir d'un système simple qui fonctionnait. La proposition inverse semble également vraie : un système complexe conçu à partir de zéro ne fonctionne jamais et ne peut pas fonctionner. Vous devez recommencer, en commençant par un système simple qui fonctionne. - John Gall
@cdrini a accepté. Allons-y avec ce qui est déjà utilisé avant d'en reprendre :) Cela dit, quelle est la suite ?
La prochaine étape est une fois que @cclauss a une méthode qu'il pense être prête, lui ou moi pouvons l'ajouter à l'interface utilisateur et la mettre sur dev.openlibrary.org pour le tester :) Cela semble-t-il correct @cclauss ?
Commentaire le plus utile
La prochaine étape est une fois que @cclauss a une méthode qu'il pense être prête, lui ou moi pouvons l'ajouter à l'interface utilisateur et la mettre sur dev.openlibrary.org pour le tester :) Cela semble-t-il correct @cclauss ?