Os LCCs podem ser exibidos como um caminho para baixo na árvore de classificação. Eles fornecem informações úteis que desejamos exibir ao usuário. Para fazer isso, precisamos ser capazes de decodificar o LCC em classes. (Este problema se separou de # 3290)
Quer ser capaz de obter os dados corretos de maneira programática:
| Amostra de LCC de um livro real | Resultado Esperado |
| - | - |
| F1047 .C95 | [
("História das Américas", ( F )),
("British American (including Canada)", (F1001, F1145.2) ),
("América Britânica", (F1001, F1145.2) ),
("Canadá", (F1001, F1145.2) ),
("Províncias Marítimas", (F1035.8) ),
("Ilha do Príncipe Eduardo", (F1046, F1049.7) ),
] |
| NC760 .B2813 2004 | [
("Artes Visuais", (N) ),
("Desenho. Design. Ilustração", (NC) ),
("Assuntos especiais", (NC760, NC825) ),
] |
| QH81 .C3525 1996 | [
("Ciência", (Q) ),
("História Natural - Biologia", (QH) ),
("História Natural (Geral)", (QH1, QH278.5) ),
] |
| RF290 .E73 2009 | [
("Medicamento", (R) ),
("Otorrinolaringologia", (RF) ),
("Otologia. Doenças do ouvido", (RF110, RF320) ),
] |
| NB699.N4 B4 1969b | [
("Artes Visuais", (N) ),
("Escultura", (NB) ),
("História", (NB60, NB1115) ),
] |
Consulte https://github.com/internetarchive/openlibrary/issues/3290 para obter mais exemplos; não a tabela lá está faltando a primeira classe LCC.
Notas:
@cclauss @BrittanyBunk
@cdrini Existem dois contornos, o LCCO e os contornos de programação. @cclauss estava usando os esquemas de programação: https://www.loc.gov/aba/cataloging/classification/. Devemos usar o LCCO se o trabalho de @cclauss for baseado nos horários?
Embora incompleto, o LCCO é muito mais fácil de trabalhar, porque os cronogramas terão subclasses onde a indentação é tanto para frente quanto para trás e idk como visualizar ou programar isso de uma forma que facilite aos visualizadores e codificadores. O LCCO apenas avança, então as classes sempre vêm uma após a outra (não antes e depois uma da outra).
Um exemplo seria quando se parecer com isto nas programações:
------ subclasse 1
subclasse 2
------ subclasse 3
Tipo, como isso pode ser representado facilmente? Não pode. No entanto, o LCCO pode, porque se parece com isto:
subclasse 1
---- subclasse 2
------- subclasse 3
Isso é fácil de representar. O único problema com o LCCO é que não é a lista completa de classes e subclasses, está incompleta. Os horários são os completos.
Esse é o meu dilema atual, onde algo precisa ser sacrificado: 1) integridade, 2) precisão na representação.
A escolha é sua e de @cclauss . Acho que devido à integridade e ao fato de ser oficial, as programações são a melhor escolha - já que sempre podemos encontrar uma maneira de representar as informações, mas não podemos obter facilmente o que está faltando.
Eu acredito que @cclauss está usando os dumps de https://github.com/thisismattmiller/lcc-pdf-to-json. Acho que usá-los parece melhor, porque podemos fazer algo funcionar e experimentar para ver como se "sente": +1: O que quer que escolhamos não está definido na pedra. Sempre podemos ajustá-lo para lidar com mais complexidade se acharmos necessário :)
Um sistema complexo que funciona invariavelmente evoluiu de um sistema simples que funcionava. A proposição inversa também parece ser verdadeira: um sistema complexo projetado do zero nunca funciona e não pode ser feito para funcionar. Você tem que começar de novo, começando com um sistema simples de trabalho. - John Gall
@cdrini concordou. Vamos ver o que já está sendo usado antes de assumir mais :) Dito isso, o que vem a seguir?
O próximo passo é quando @cclauss tiver um método que ele acha que está pronto, ele ou eu podemos adicioná-lo à IU e colocá-lo em dev.openlibrary.org para teste :) Isso parece correto @cclauss ?
Comentários muito úteis
O próximo passo é quando @cclauss tiver um método que ele acha que está pronto, ele ou eu podemos adicioná-lo à IU e colocá-lo em dev.openlibrary.org para teste :) Isso parece correto @cclauss ?