- Ao tentar criar um app de registro de livros limpo e prático, como o app de registro de filmes Letterboxd, o principal obstáculo acabou sendo um problema estrutural do sistema ISBN
- Foi descoberto que a Google Books API, usada para a função de busca de livros, retorna várias versões de ISBN da mesma obra como itens separados
- Isso acontece porque, na estrutura bibliográfica (modelo FRBR), há distinção entre ‘obra (work)’, ‘expressão (expression)’ e ‘manifestação (manifestation)’, e mesmo quando o usuário só quer registrar que ‘leu um livro’, os dados já vêm excessivamente fragmentados
- A OpenLibrary oferece uma estrutura de dados centrada em ‘obra’, mas ainda assim há duplicação e incompletude, então ela não se torna uma alternativa perfeita
- Diferentemente do banco de dados de filmes TMDB, no campo dos livros não existe uma infraestrutura pública de metadados de alta qualidade, e isso é um grande obstáculo para o desenvolvimento de plataformas sociais centradas em livros
Comparação entre Letterboxd e plataformas de livros
- O Letterboxd permite gerenciar com facilidade o registro de filmes assistidos graças à sua interface limpa e a recursos sociais não intrusivos
- O usuário pode registrar de forma simples quais filmes viu e quando viu
- Já o GoodReads torna o registro de livros desconfortável por causa de uma UI complexa e de uma estrutura com cliques em múltiplas etapas
- ‘Livros lidos’ e ‘livros para ler’ ficam misturados na mesma tela, enquanto desafios de leitura, newsletters e outros elementos extras ocupam espaço
- O motivo de o GoodReads ser tão inconveniente é que ele é um produto derivado de baixa prioridade dentro do negócio de venda de livros da Amazon
- O Storygraph também sofre de problemas semelhantes, então o usuário acaba gerenciando seus registros pessoais em arquivos do Obsidian
Google Books API e o problema do ISBN
- Para criar a função de busca de livros, foi usada a Google Books API, mas surgiu o fenômeno de resultados duplicados da mesma obra por causa de vários ISBNs
- Por exemplo, ao buscar “The Last Unicorn”, capa dura, brochura, eBook, edições revisadas etc. são retornados separadamente com ISBNs diferentes
- Cada ISBN representa um formato ou edição diferente, mas o usuário quer apenas registrar o fato de que ‘leu o livro’
- Essa estrutura dificulta a busca e a integração de dados, tornando-a inadequada para construir um sistema de registro por obra única
O modelo FRBR e a abordagem por ‘obra’
- O modelo FRBR, usado na biblioteconomia, divide os dados de livros em quatro camadas
- Work (obra): a criação abstrata em si (ex.: o romance "The Last Unicorn")
- Expression (expressão): uma edição específica
- Manifestation (manifestação): o formato físico de uma edição específica (brochura, capa dura etc.)
- Item (item): um objeto físico individual dentro de uma coleção
- O Google Books retorna principalmente dados no nível de ‘expressão’ ou ‘manifestação’, mas o usuário precisa de uma unidade abstrata no nível de ‘obra’
- A OpenLibrary oferece uma estrutura de dados centrada em ‘obra’, mas ainda assim existem itens duplicados
- Ex.: ao buscar Hotel Iris, de Yoko Ogawa, a mesma obra aparece quatro vezes em duplicidade
Limites da qualidade dos dados e do ecossistema
- O Letterboxd funciona com base no The Movie Database (TMDB), e o TMDB possui cerca de 1 milhão de dados de filmes
- Já a OpenLibrary inclui mais de 40 milhões de obras, mas há muitos dados incompletos e pouco refinados
- Os dados de filmes têm qualidade mais alta porque combinam plataformas comerciais com contribuições da comunidade, enquanto os dados de livros têm escala maior e menos financiamento
- Por isso, falta a base de dados necessária para criar um serviço ao estilo Letterboxd voltado para livros
Conclusão e tentativas futuras
- Como não existe uma infraestrutura open source completa de metadados de livros, desenvolver uma plataforma de registro de livros é uma tarefa muito mais difícil do que no caso dos filmes
- O autor ainda pretende tentar construir um sistema independente de registro de livros
- Assim como a experiência de descobrir preferências cinematográficas, o registro de leitura também precisa de uma abordagem personalizada
4 comentários
Pois é... ISBN é o identificador de uma publicação, não do conteúdo...
O título está chamativo demais kkk
Parece que o campo do identificador do conteúdo está em branco T_T
Também é verdade que o sistema ISBN não considera muito uma classificação realmente sistemática...
Pelas regras, cada nova edição deve receber um número separado, mas como a categoria mais baixa acaba sendo a editora, apesar da necessidade de classificar por obra, isso não é fácil de gerenciar.
Comentários do Hacker News
Isso lembra a estrutura de banco de dados do MusicBrainz
Por exemplo, o álbum Nevermind do Nirvana é um único release group, mas existem várias versões em fita, CD, LP, promocionais e relançamentos por país
Em alguns casos, o número de catálogo ou o código de barras diferem e permitem distinguir as edições, mas em outros casos versões diferentes acabam marcadas com o mesmo código
Mesmo a mesma gravação pode mudar por causa de remasterização, edição ou censura
O MusicBrainz acompanha essas diferenças com bastante detalhe e distingue claramente quando é ou não a mesma gravação
Quando vários artistas gravam a mesma obra, como em covers ou standards, ele conecta as informações de compositor e letrista no nível de
workAcho esse tipo de projeto refinado de banco de dados relacional muito útil para registrar identidade e diferenças entre obras criativas
Link relacionado
bookbrainz.org/about
Se usar um esquema parecido com o do MusicBrainz, imagino que será muito fácil extrair os dados
Criei uma conta, enviei os dados manualmente e, depois de várias correções, consegui registrar
Encontrei informações do mesmo CD da edição australiana em um site chinês e usei isso como referência, o que me fez perceber que existem versões sutilmente diferentes por mercado
Sinto muita empatia pela equipe do MusicBrainz nesse ponto: as pessoas são relaxadas demais na hora de atualizar um “identificador único”
As edições de 1987 e 1989 (a versão sem “Peace Train”) tinham o mesmo número UPC
Lembro de ter penado em lojas de CD usados em meados dos anos 90 tentando encontrar a versão anterior à remoção
O restante foi confuso porque havia várias versões com números de faixas diferentes dependendo da região
Se existisse um recurso para especificar informações de artista por faixa, acho que a precisão da busca seria maior
Mesmo diferenças como correções de typos já dificultam a distinção
O Wikidata é um banco de dados público compatível com FRBR, e a qualidade dos dados sobre livros melhorou muito nos últimos anos
O Hotel Iris, de Yoko Ogawa, citado como exemplo, não é a mesma obra, e sim traduções diferentes
Traduções devem ser vistas como obras derivadas, distintas do original
Ainda assim, as listagens estão misturadas e há muitos erros
work)No OpenLibrary, elas são agrupadas em um único work, e idioma e tradutor ficam salvos na edition
A duplicação atual parece ter surgido no processo de mesclagem automática por idioma
O ideal é permitir que o usuário navegue junto pelo original e pelas traduções
Recomendo o LibraryThing
Acho muito melhor que o Goodreads
É importante distinguir a estrutura WEMI (work, expression, manifestation, item) dos livros
“Li Dom Quixote” é uma afirmação no nível de work, enquanto “meu exemplar tem mancha de café” é uma afirmação no nível de item
Em uma competição de leitura estadual, os livros eram gerenciados apenas por ISBN, o que dificultava para os alunos encontrá-los
Então adicionei um
JOINem SQL usando o banco de dados de mapeamento de ISBNs do WorldCat para ligar ISBNs diferentes do mesmo conteúdoComo resultado, ao longo de 10 anos os alunos leram mais de um milhão de livros adicionais
A Anna’s Archive contribui bastante para organizar dados relacionados a ISBN
Eles usaram scraping do WorldCat e atualmente também estão montando um banco de dados de ISSN (periódicos)
Os dados de ISSN estão em situação bem pior do que os de livros
Vale lembrar que a Open Library começou a partir dos trabalhos iniciais de Brewster Kahle (fundador da Internet Archive) e Aaron Swartz
Blog relacionado
Já aconteceu várias vezes de eu ver um livro numa livraria, comprar e, quando cheguei em casa, perceber que já tinha exatamente a mesma edição
Se eu pudesse pesquisar minha coleção pelo ISBN, teria evitado essas compras duplicadas
Em um projeto pessoal, já criei um site de gerenciamento de livros usando a API do ISBNDB
Ao buscar por título, os resultados ficavam muito confusos porque se misturavam inúmeras edições, idiomas e formatos de encadernação
Organizei os resultados com base em similaridade de Jaccard, mas não ficou perfeito
Estou considerando o OpenLibrary como alternativa
Acho o app StoryGraph bem razoável
Gosto da interface, que leva em conta usuários que querem evitar recursos de IA
A busca também é muito boa
Pessoalmente uso desde 2017 e escolhi justamente com o objetivo de sair do oligopólio
O ISBN inclui um identificador da editora, então o mesmo livro pode ter ISBNs diferentes em mercados diferentes
É um serviço gratuito, mas isso pode variar de país para país
Então o nome da editora não entra diretamente, mas a estrutura permite essa identificação