1. ISISDM
The ISIS Data Model API
Uma API independente de banco de dados
para manipulação de
registros bibliográficos e documentais
Luciano Ramalho
BIREME/OPAS/OMS
2.
3.
4. Contexto tecnológico
• O modelo relacional normalizado (MRN)
reinava praticamente incontestável
• Em alguns nichos, usuários de bancos de
dados NoSQL resistiam (ex. ISIS, Adabas,
Mumps...)
• Grandes usuários de NoSQL saíram do
armário (Google, Amazon, Facebook...)
• Vários bancos NoSQL novos sendo
lançados
9. Uma aplicação: LILACS
• LILACS: Literatura Latinoamericana y del
Caribe en Ciencias de la Salud
• Catalogação cooperativa de artigos
científicos nos países de origem
• Registros fornecidos por mais de 100
bibliotecas e centros de informação, de
praticamente todos os países da região
• Promove a pesquisa relevante para os
nossos problemas de saúde
11. Dicionário de Dados da Metodologia Lilacs
Dicionário de Dados da Metodologia Lilacs
12. O absurdo
[...] seria interessante notar o absurdo do padrão do
MRN [Modelo Relacional Normalizado]: se um livro
tiver 3 autores e 5 assuntos, será necessário representá-
lo no MRN por meio de uma linha na tabela Livros, mais
3 na Nomes-de-autores (que implementaria o atributo
multivalorado correspondente) e mais 5 na de Assuntos,
num total de 9 linhas em três tabelas distintas [...]. Mas
o que se vê e e pega-se na mão no mundo real é um livro
só, e não um picadinho de livro!
SETZER, V. Bancos de dados: aprenda o que são,
melhore seu conhecimento, construa os seus.
1ª ed. São Paulo: Edgard Blücher, 2005.
14. Modelo de dados apoia
a metodologia
• Campos repetitivos
• Campos opcionais
• Subcampos
Características comuns aos formatos
Características comuns aos formatos
de registros MARC, ISO-2709 e ISIS
de registros MARC, ISO-2709 e ISIS
15. Exemplo de registro ISIS
10 «Lewis Carroll^y1832-1898^rauthor»
10 «John Tenniel^y1820-1914^rillustrator»
10 «Lewis Carroll^y1914-2010^reditor»
12 «The Annotated Alice^sThe Definitive Edition»
16. Exemplo de registro ISIS
Campo repetitivo
10 «Lewis Carroll^y1832-1898^rauthor»
10 «John Tenniel^y1820-1914^rillustrator»
10 «Lewis Carroll^y1914-2010^reditor»
12 «The Annotated Alice^sThe Definitive Edition»
17. Exemplo de registro ISIS
Marcador de sub-campo Sub-campo
10 «Lewis Carroll^y1832-1898^rauthor»
10 «John Tenniel^y1820-1914^rillustrator»
10 «Lewis Carroll^y1914-2010^reditor»
12 «The Annotated Alice^sThe Definitive Edition»
18. Exemplo de registro ISIS
Campo repetitivo
10 «Lewis Carroll^y1832-1898^rauthor»
10 «John Tenniel^y1820-1914^rillustrator»
10 «Lewis Carroll^y1914-2010^reditor»
12 «The Annotated Alice^sThe Definitive Edition»
Marcador de sub-campo Sub-campo
20. Projeto ISISDM: ISIS Data Model
• API para definição de esquemas de dados
através de classes, como em certos ORMs
• API de extração de dados tão ou mais
poderosa quanto a ISIS Format. Language
• Backends para BDs NF² modernos
– MongoDB
– Google Datastore
– PostgreSQL (hstore, JSON?)
– O seu BD favorito
23. Acesso a campos e subcampos
>>> book.title
>>> book.title
u'The Annotated Alice^sDefinitive Edition'
u'The Annotated Alice^sDefinitive Edition'
>>> print book.title.s
>>> print book.title.s
Definitive Edition
Definitive Edition
>>> print book.creators[0].y
>>> print book.creators[0].y
1832-1898
1832-1898
>>> for creator in book.creators:
>>> for creator in book.creators:
...
... print '%-12s: %s' %% (creator.r, creator[0])
print '%-12s: %s' (creator.r, creator[0])
Author
Author :: Lewis Carroll
Lewis Carroll
Illustrator :: John Tenniel
Illustrator John Tenniel
Editor
Editor :: Martin Gardner
Martin Gardner
24.
25. Projeto ISISDM
• FLOSS: Licença LGPL
• Iniciando agora: participe das decisões
cruciais, envolvase enquanto ainda é fácil
• Excelente oportunidade para ganhar
experiência com NoSQL, trabalhando com
massas de dados e necessidades reais
• Alto impacto social: a missão é democratizar
o acesso à informação em saúde
• Visibilidade internacional