59
UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO CIÊNCIA DA COMPUTAÇÃO LEONARDO MUNIZ NASCIMENTO UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO DE DADOS GOVERNAMENTAIS ABERTOS Niterói 2017 LEONARDO MUNIZ NASCIMENTO

UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO

CIÊNCIA DA COMPUTAÇÃO

LEONARDO MUNIZ NASCIMENTO UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO DE DADOS

GOVERNAMENTAIS ABERTOS

Niterói 2017

LEONARDO MUNIZ NASCIMENTO

Page 2: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO DE DADOS

GOVERNAMENTAIS ABERTOS

Trabalho de conclusão de curso apresentado ao curso de Bacharelado em Ciência da Computação, como requisito parcial para conclusão do curso.

Orientador: Prof. Dr. José Viterbo

Niterói 2017

LEONARDO MUNIZ NASCIMENTO

Page 3: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação da UFF

N244 Nascimento, Leonardo Muniz

Utilizando linked data para publicação e cruzamento de dados governamentais abertos / Leonardo Muniz Nascimento. – Niterói, RJ : [s.n.], 2017.

61 f.

Projeto Final (Bacharelado em Ciência da Computação) – Universidade Federal Fluminense, 2017.

Orientador: José Viterbo. 1. Tecnologia da informação. 2. Web semântica. 3. Ferramenta

computacional. I. Título.

CDD 004.21

Page 4: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação
Page 5: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

RESUMO A disponibilização de dados abertos governamentais tem se tornado uma tendência global. Mas ainda hoje é raro que os dados sejam oferecidos em formato RDF(Resource Description Framework) devido à dificuldade de criação de uma semântica formal. O objetivo desse trabalho é desenvolver uma ferramenta capaz de transformar dados em formato CSV(Comma-Separated Values) para RDF, realizando ligações semânticas automaticamente, e ajudando os interessados à compartilhá-los. Realizou-se uma pesquisa para conhecer melhor as ferramentas existentes, porém, não foi encontrada uma ferramenta que realizasse ligações semânticas automaticamente. Por esse motivo, foi desenvolvida uma ferramenta chamada de Data Linker, que oferece transformações de CSV para RDF, ligações semânticas automáticas e o download de dumps da base RDF gerada. Elaborou-se um estudo de caso com alguns conjuntos de dados presentes no portal dados.gov.br para testar resultados da ferramenta Data Linker. Apesar da má formatação, da falta de padronização e das diferenças de encoding encontradas em vários conjuntos de dados do portal, obteve-se resultados satisfatórios. Palavras-chave: RDF. Resource Description Framework. Dados Conectados. Web Semântica. CSV. Comma-Separated Values.

Page 6: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

ABSTRACT The availabity of open government data has become a global trend. But still today it is rare that the data is offered in RDF(Resource Description Framework) format due to the dificulty of creating a formal semantics. The objective of this work is to develop a tool capable of transforming a CSV(Comma-Separated Values) archive into RDF data, making semantic links automatically, and helping those instereted to share them. A research was done in order to better understand the existing tools, however, no tool that could make semantic links automatically was found. For this reason, a tool called Data Linker was developed, which offers CSV transformations for RDF, automatic semantic links and dump downloading of the RDF triple base generated. A case of study was prepared with some datasets present on the brazilian government main portal, dados.gov.br, to test results of the Data Linker tool. Despite poor formatting, lack of standardization and enconding diferences found in various portals datasets, satisfactory results were obtained. Keywords: RDF. Resource Description Framework. Linked Data. Semantic Web. CSV. Comma-Separated Values

Page 7: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

Lista de ilustrações

Figura 1 – Países participantes do Open Government Partnership e seu grau dematuração . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Figura 2 – Índice Global de Abertura de Dados 2017 . . . . . . . . . . . . . . . . 25Figura 3 – Proporção de ferramentas e funcionalidades que os respondentes gosta-

riam de encontrar no Portal Transparência . . . . . . . . . . . . . . . . 26Figura 4 – Informações do Portal Transparência consideradas mais difíceis de serem

acessadas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Figura 5 – Informações do Portal Transparência consideradas mais difíceis de serem

entendidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Figura 6 – Proporção de acesso por perfil de acesso do Portal Transparência . . . 28Figura 7 – Exemplo de formatos disponíveis no dados.gov . . . . . . . . . . . . . . 28Figura 8 – Exemplo de formatos disponíveis no Portal Transparência . . . . . . . 29Figura 9 – Camadas Web Semântica . . . . . . . . . . . . . . . . . . . . . . . . . 30Figura 10 – Exemplo Sujeito, objeto e predicado RDF . . . . . . . . . . . . . . . . 32Figura 11 – Exemplo representação RDF . . . . . . . . . . . . . . . . . . . . . . . . 32Figura 12 – Exemplo de Grafo RDF . . . . . . . . . . . . . . . . . . . . . . . . . . 34Figura 13 – Exemplo de Consulta SPARQL . . . . . . . . . . . . . . . . . . . . . . 34Figura 14 – Dados Conectados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Figura 15 – Arquitetura da plataforma D2RQ . . . . . . . . . . . . . . . . . . . . . 41Figura 16 – Visão Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Figura 17 – Ligações dados.gov.br . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Figura 18 – Hierarquia Territorial Brasileira . . . . . . . . . . . . . . . . . . . . . . 48Figura 19 – Categorizações Nacionais e Internacionais . . . . . . . . . . . . . . . . 50Figura 20 – Categorizações Nacionais e Internacionais . . . . . . . . . . . . . . . . 51Figura 21 – Estabelecimentos, Programas e Localizações encontrados no dados.gov.br 52Figura 22 – Página Inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53Figura 23 – Importar Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54Figura 24 – Conjuntos de Dados Importados . . . . . . . . . . . . . . . . . . . . . . 54Figura 25 – Chaves Estrangeiras Criadas . . . . . . . . . . . . . . . . . . . . . . . . 54Figura 26 – SPARQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55Figura 27 – Resultado de uma consulta SPARQL . . . . . . . . . . . . . . . . . . . 55Figura 28 – Detalhes Unidade Federativa . . . . . . . . . . . . . . . . . . . . . . . . 56Figura 29 – Detalhes Município . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Page 8: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação
Page 9: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

Lista de abreviaturas e siglas

API Application Programming Interface

CBO Classificação Brasileira de Ocupações

CID Classificação Internacional de Doenças

CIO Chief of Information Officer

CKAN Comprehensive Knowledge Archive Network

CNAE95 Classificação Nacional de Atividade Econômica

CONCLA Comissão Nacional de Classificação

CSV Comma-separated values

DDR3 Double Data Rate type 3

GHz GigaHertz

GODI Global Open Data Index

HTML HyperText Markup Language

HTTP Hypertext Transfer Protocol

IBGE Instituto Brasileiro de Geografia e Estatística

INDA Infraestrutura Nacional de Dados Abertos

ITU International Telecommunication Union

JPEG Joint Photographics Experts Group

JSON JavaScript Object Notation

MHz MegaHertz

OECD Organisation for Economic Co-operation and Development

OGD Open Government Data

ONU Organização das Nações Unidas

OWL Web Ontology Language

Page 10: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

PDF Portable Document Format

RDF Resource Description Framework

RDFS Resource Description Framework Schema

REST REpresentational State Tranfer

OGP Open Government Partnership

RTI Right To Information

SIDRA Sistema IBGE de Recuperação Automática

SPARQL Simple Protocol and RDF Query Language

SQL Structured Query Language

SSD Solid-State Drive

UNB Universidade Federal de Brasília

URI Uniform Resource Identifer

URL Uniform Resource Locator

UTF-8 8-bit Unicode Transformation Format

XML eXtensible Markup Language

Page 11: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

Sumário

1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.1 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.2 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.3 Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.4 Organização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2 REFERENCIAL TEÓRICO . . . . . . . . . . . . . . . . . . . . . . . . 19

2.1 Dados Abertos Governamentais . . . . . . . . . . . . . . . . . . . . 19

2.2 Cenário Brasileiro de Dados Abertos Governamentais . . . . . . . 24

2.3 Web Semântica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.3.1 RDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.3.2 RDF Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.3.3 SPARQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

2.3.4 Ontologias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

2.3.5 Linked Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

2.4 Ferramentas para Transformação em RDF . . . . . . . . . . . . . . 36

2.5 Ferramentas Utilizadas . . . . . . . . . . . . . . . . . . . . . . . . . . 38

2.5.1 CKAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

2.5.2 D2RQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3 DATA LINKER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.1 Visão Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.2 Coleta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.3 Descobrimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.4 Alterações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.5 Transformação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4 ESTUDO DE CASO: DADOS.GOV.BR . . . . . . . . . . . . . . . . . 47

4.1 Cenário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.2 Conjuntos de Dados Utilizados . . . . . . . . . . . . . . . . . . . . . 47

4.2.1 Dados de Hierarquias Regionais do Território Brasileiro . . . . . . . . 47

4.2.2 Categorizações Nacionais e Internacionais . . . . . . . . . . . . . . . . 48

4.2.3 Localidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.2.4 Estatísticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.3 Passo a Passo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Page 12: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

5 CONSIDERAÇÕES FINAIS . . . . . . . . . . . . . . . . . . . . . . . 57

5.1 Limitações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.2 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

Page 13: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

15

1 Introdução

Na última década, devido ao avanço das tecnologias de informação, houve umcrescimento exponencial dos dados criados pela sociedade gerando a necessidade de minerarinformações obtidas por meio da análise das conexões semânticas entre conceitos e relaçõespresentes nestes dados. [Isotani 2009] [Bittencourt. 2008] [Isotani e Bittencourt 2015]Essa explosão no volume e na velocidade com que os dados são produzidos, no númerode produtores, na sua disseminação, em conjunto ao crescimento da demanda de todosos setores da sociedade é tratada pela Organização das Nações Unidas (ONU) como aRevolução dos Dados [Morales et al. 2014]. Basta observar intrinsecamente o que acontececom cada passo dado por um usuário em um domínio Web ou num aplicativo de smartphone,por exemplo. Na maioria desses sistemas, todos os passos são gravados, gerando umaquantidade imensa de caminhos salvos e possíveis de serem analisados. Se for levadoem conta toda a infraestrutura, estes mesmos passos são gravados múltiplas vezes, pordiferentes entidades. Tomando como exemplo a simulação de uma compra online, primeiroo usuário loga no aplicativo, geralmente com o login disponibilizado pelo Facebook, gerandodados tanto no Facebook quanto na loja que o usuário está se logando. O cliente entra noaplicativo, escolhe o produto, põe seu dados no formulário e clica em comprar. Todos ospassos percorridos até o clique final em comprar geram uma cadeia de dados. Os do clientepor exemplo, excetuando-se os do cartão, são salvos na loja. Além disso, são salvos tambémem todas as entidades que participam desta compra online, como gateways, adquirentes,sistemas antifraude, bandeira e banco emissor. Pode-se imaginar também a utilizaçãodesses dados. Uma adquirente como a Cielo, por exemplo, que domina grande parte domercado brasileiro, pode saber antecipadamente qual a previsão da retração ou crescimentoda economia do país, por região.

Esses dados estão nas mãos de empresas privadas, mas há também os que estãonas mãos do poder público. Além de empresas, entidades governamentais podem sebeneficiar desta revolução colhendo dados de diversas áreas como educação, saúde, clima,segurança pública, energia entre outras possibilidades. Alguns exemplos são citados nasseções posteriores. São utilizados para melhorar o governo por meio de prestação decontas, da transparência, reatividade e controle democrático, além de alimentar a inovação,eficiência e eficácia dos serviços governamentais. O governo, ao ter uma base para tomarmelhores rumos, não é o único beneficiário. Os dados, se disponibilizados, podem ajudar aempoderar o cidadão, tornando-o mais engajado e aumentando a participação social nogoverno. Podem também ajudar pequenas empresas a inovar e criar soluções melhores que aspúblicas em cima destes, criando um ambiente mais competitivo e aberto à inovações. Taisideias estão relacionadas ao conceito de Dados Abertos. Segundo a Open Definition [Open

Page 14: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

16 Capítulo 1. Introdução

Knowledge Foundation 2015], dados abertos são dados que podem ser livremente utilizados,reutilizados e redistribuídos por qualquer pessoa.

A integração desses dados, vindos da conexão de diversas bases governamentais,e eventualmente de bases não governamentais, podem dar origem a informações muitomais poderosas, trazendo benefícios para todos os setores da sociedade. Tal conexão éfacilitada pela disponibilização de dados abertos com contextos, que podem ser inferidospor máquinas, abrindo as portas para a automatização de todo o processo de cruzamentoe integração de dados. Esse conceito de Linked Data ou Dados Conectados, foi introduzidopor Tim Berners-Lee quem estabeleceu as melhores práticas para a publicação e cruzamentode dados estruturados na Web a fim de estendê-la, tornando-a um espaço global que conectadados de diversos domínios. Dados Conectados e suas tecnologias associadas são os objetosde estudo deste trabalho, tendo como base dados do governo brasileiro.

1.1 Problema

No Brasil, os regulamentos previstos na Lei de Acesso à Informação [Presidênciada República 2011] destinam-se a assegurar o direito fundamental de acesso à informação.Para isso, algumas ferramentas como o Portal Transparência e o website dados.gov.brforam criadas. Entretanto algumas melhorias podem ser realizadas, principalmente nosformatos como os arquivos fornecidos pelos portais estão dispostos. [Salas, Casanova eViterbo 2011] [Breitman et al. 2011]

Como será visto no próximo capítulo, os principais formatos disponíveis no sitedados.gov.br são CSV e HTML, formatos que não disponibilizam contextos para quemáquinas possam fazer inferências automáticas. O mesmo pode ser dito para o PortalTransparência, que só disponibiliza dados em CSV. Uma das principais dificuldadesenfrentadas para a contribuição com dados RDF, formato padrão W3C para intercâmbiode dados com contextos, é a falta de uma ferramenta capaz de realizar a transformação doCSV para o RDF conectando-os automaticamente. [Breitman et al. 2011]

1.2 Objetivo Geral

O objetivo deste trabalho é apresentar uma ferramenta para ajudar os interessadosem transformar dados para RDF, motivando-os a disponibilizar os dados presentes emportais de dados abertos de maneira que sejam facilmente encontrados e manipulados pormáquinas, estimulando a comunidade de desenvolvedores a utilizá-los para fornecer umamelhor visualização para a sociedade civil, empresas e para o próprio governo.

Page 15: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

1.3. Objetivos Específicos 17

1.3 Objetivos Específicos

1. Desenvolver uma ferramenta capaz de consumir dados publicados em portais dedados abertos, conectá-los semanticamente e transformá-los em RDF;

2. Construir uma interface gráfica para facilitar o uso dessa ferramenta;

3. Testar a implementação através de um estudo de caso, disponibilizando dumps RDF.

1.4 Organização

O texto é organizado da seguinte forma:

No Capítulo 2 são apresentados os referenciais teóricos do trabalho, incluindo umbreve histórico de iniciativas para abertura dos dados pelo Brasil e pelo mundo e o conceitode Web Semântica e sua tecnologias. No Capítulo 3 são descritos todos os passos para aligação dos dados, e é exibida a interface gráfica construída. No Capítulo 4 é feita umademonstração da utilização de dados em RDF por meio de um estudo de caso. No capítulo5 são apresentadas as conclusões.

Page 16: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação
Page 17: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

19

2 Referencial Teórico

A primeira subseção deste capítulo visa elencar alguns movimentos de dados abertospelo mundo, estabelecendo definições e princípios através de uma linha do tempo. Nasubseção seguinte, o texto é aprofundado para cenário brasileiro, com destaque para ohistórico de dados abertos no Brasil e uma pesquisa de avaliação de um dos portaisbrasileiros mais utilizados. Nas outras seções serão abordados conceitos de Web Semântica,Linked Data, RDF, RDFS, SPARQL e Ontologias.

2.1 Dados Abertos Governamentais

O termo "Dados Abertos"do inglês Open Data, apareceu pela primeira vez em 1995em um documento de uma agência científica americana, abordando a divulgação de dadosgeofísicos e ambientais. [Chignard 2013] Mas esta ideia já havia sido teorizada por RobertKing Merton bem antes do advento da internet. Em 1942, o princípio de bens comunsaplicados ao conhecimento mostrou os benefícios de dados científicos abertos, explicando aimportância dos resultados de pesquisas serem acessíveis a todos. [Chignard 2013]

Mais tarde, foram criados diversos movimentos da sociedade civil e vários compro-missos de governos em prol da maior abertura dos dados principalmente os guardadospor entidades governamentais. Um dos primeiros movimentos, foi o Right to Information,uma iniciativa do Departamento de Pessoal e Treinamento, do Ministério de Pessoal,Reclamações Públicas e Pensões da Índia. O intuito era o de fornecer um portal ondeos cidadãos conseguissem fazer uma pesquisa rápida sobre informações detalhadas deprimeiras Autoridades de Apelação, entre outros. Além disso, era possível acessar in-formações relacionadas publicadas na Web por diversas administrações públicas, sob ogoverno da Índia e de governos estaduais. Segundo o ato, lançado em junho de 2005, seuobjetivo básico é "capacitar os cidadãos, promovendo a transparência e responsabilidadeno trabalho do Governo, contendo a corrupção, e fazendo a democracia trabalhar para opovo" [Ministry Of Law And Justice 2005].

Em julho de 2006, foi lançada a primeira versão da Definição de Aberto (OpenDefinition) que diz que "dados e conteúdos abertos podem ser usados, modificados,e compartilhados por quaisquer pessoas com quaisquer propósitos" [Open KnowledgeFoundation 2015]. Este conceito de aberto é também utilizado em outros movimentoscomo Código Aberto, Hardware Aberto, Conteúdo Aberto e Acesso Aberto, todos comobjetivos similares aos movimentos de Dados Abertos, cada um em sua área de atuação.

Durante o Open Government Working Group Meeting, em dezembro de 2007,

Page 18: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

20 Capítulo 2. Referencial Teórico

realizado em Sebastopol, Estados Unidos, que reuniu trinta defensores do governo abertoe foi organizado pela public.resource.org, com o patrocínio da Sunlight Foundation, doGoogle e do Yahoo, foram definidos oito princípios para Dados Abertos Governamentais(Open Government Data - OGD) [Malamud e O’Reilly. 2007]:

1. Completos: Todos os dados públicos estão disponíveis. Dado público é o dado quenão está sujeito a limitações válidas de privacidade, segurança ou privilégios deacesso;

2. Primários: Os dados são como os coletados na fonte, com o maior nível possível degranularidade e sem agregação ou modificação;

3. Atuais: Os dados são colocados à disposição tão rapidamente quanto necessáriopara preservar o seu valor;

4. Acessíveis: Os dados estão disponíveis para o maior escopo possível de usuários epara o maior escopo possível de finalidades;

5. Processáveis por máquina: Os dados são razoavelmente estruturados para per-mitir processamento automatizado;

6. Não-discriminatórios: Os dados estão disponíveis para todos, sem necessidade decadastro;

7. Não-proprietários: Os dados estão disponíveis em um formato sobre o qual ne-nhuma entidade tem controle exclusivo;

8. Livres de licença: Os dados não estão sujeitos a nenhuma regulação de direitosautorais, patentes, propriedade intelectual ou segredo industrial. Restrições sensatasrelacionadas à privacidade, segurança e privilégios de acesso podem ser permitidas.

Tais princípios foram fortalecidos, em janeiro de 2009, por um memorando do entãopresidente do Estados Unidos, Barack Obama, sobre Transparência e Dados Governamen-tais, cujo objetivo era desenvolver recomendações para uma Diretiva, que iria instruiragências e departamentos a implementar ações específicas para aumentar a transparência,a colaboração e a participação. [Obama et al. 2009]Em maio do mesmo ano, nasceu umdos maiores portais de dados abertos governamentais, o data.gov, permitindo aos cidadãosdos Estados Unidos acessarem dados do governo na Internet.

Em julho de 2011, o então CIO(Chief of Information Officer) do governo federaldos Estados Unidos, Vivek Kundra, publicou dez princípios para aumentar a transparênciafederal antes de seu pronunciamento no Comitê da Casa Branca: [Committee on Oversightand Government Reform 2011]

Page 19: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

2.1. Dados Abertos Governamentais 21

1. Contruir processos digitais fim a fim: Automatizar a transferência de dadosentre os sistemas para aumentar a produtividade, proteger a integridade e aumentar avelocidade de disseminação. Capitalizar em tecnologia revolucionária para aumentara transparência;

2. Construir uma vez, usar várias: Arquitetar sistemas para plataformas de reu-tilização e compartilhamento com o intuito de reduzir custos, agilizar processos esistemas, reduzir erros e fomentar a colaboração;

3. Usar fontes de dados confiáveis: Extrair dados diretamente de fontes autorizadaspara melhorar a qualidade dos dados, diminuir processos e proteger a integridadedos dados;

4. Liberar dados legíveis por máquina e incentivar aplicações de terceiros:Fazer com que os dados sejam legíveis por máquina para permitir que o públicofacilmente analise, visualize e use as informações;

5. Usar padrões de dados comuns: Desenvolver e utilizar, identificadores únicos euniformes e padrões de dados para facilitar o fluxo de dados e reduzir a complexidadedo sistema;

6. Validar dados desde o começo: Corrigir erros durante a sua coleta e no pontode entrada para impedir que dados ruins entrem no sistema;

7. Liberar dados em tempo real e preservar para uso futuro: Divulgar osdados o mais rápido possível para aumentar a sua relevância e utilidade enquanto omantêm para futuros acessos;

8. Reduzir a carga: Coletar dados uma vez e usar repetidamente. Utilizar conjuntosde dados existentes para reduzir custos e retrabalho e aumentar a produtividade euniformidade;

9. Proteger a segurança e a privacidade: Proteger a liberação de informações paraaumentar a confiança do público, a participação, a preservação da privacidade eproteger a segurança nacional;

10. Proporcionar igualdade de acesso e incorporar feedback do usuário: Pro-porcionar uma visão comum a todos os interessados, promovendo a colaboração.Incorporar o feedback para ajudar a identificar conjuntos de dados significativose de grande valor, definir prioridades para conduzir e melhorar continuamente osprocessos e planejamentos futuros.

Este discurso foi um prelúdio para a criação da Open Government Partnership, criada emsetembro de 2011 por oito países, com a coliderança do Brasil. Para fazer parte deste grupo

Page 20: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

22 Capítulo 2. Referencial Teórico

o país deve aprovar a Open Government Declaration, se comprometendo a "promover umacultura global de governo aberto que capacita e entrega para os cidadãos, e avança os ideaisde governo aberto e participativo do século vinte e um". [Open Government Partnership2011] Atualmente sessenta e cinco países fazem parte da parceria em diferentes estágios dematuração, conforme pode ser visualizado na Figura 1.

Figura 1 – Países participantes do Open Government Partnership e seu grau de maturação.Fonte: http://www.opengovpartnership.org

Em julho de 2012, o Quadro de Transparência do Setor Público do Reino Unido pu-blicou seus próprios princípios de dados abertos para servir de guia para outras organizaçõespúblicas.

1. A política e a prática de dados públicos será claramente dirigida pelo público e paraempresas que queiram utilizar os dados, incluindo que dados serão liberados, quandoe em que formato;

2. Os dados públicos serão publicados em forma reutilizável e legível por máquina;

Page 21: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

2.1. Dados Abertos Governamentais 23

3. Os dados públicos estarão liberados sobre a mesma licença aberta que permite olivre reuso em um ponto de acesso online;

4. Os dados públicos estarão disponíveis e fáceis de achar, em um ponto de acesso únicoe fácil de usar;

5. Os dados públicos serão publicados usando um padrão aberto e seguindo recomenda-ções relevantes do World Wide Web Consortium(W3C);

6. Dados públicos de diferentes departamentos sobre o mesmo assunto serão publicadosno mesmo padrão e mesmo formato com as mesmas definições;

7. Dados públicos vindos de sites do governo serão publicados de forma reutilizável;

8. Dados públicos serão atuais e granulares;

9. Dados públicos serão liberados rapidamente e depois trabalhados para que estejamdisponível em formatos padrões, incluindo formatos Linked Data;

10. Dados públicos serão livremente disponibilizados para uso em qualquer caminholegal;

11. Dados públicos estarão disponíveis mesmo sem registro ou qualquer detalhe dousuário;

12. Órgãos públicos devem encorajar ativamente o reuso de seus dados públicos;

13. Órgão públicos devem manter e publicar inventários de seus dados internos;

14. Órgãos públicos devem publicar metadados relevantes sobre seus conjuntos de dadosem um único ponto de acesso e publicar descrições de apoio ao formato provenientee de seu significado.

Em maio de 2013, a OECD criou seu projeto de dados abertos que busca progredircom esforços internacionais para, através do mapeamento das práticas entre países, estabe-lecer uma base de conhecimento de políticas, estratégias e iniciativas visando facilitar ocaminho para países que estejam em fase de adesão. Busca também apoiar o desenvolvi-mento de uma metodologia para avaliar o impacto e a criação de valores de iniciativasOGD. [Ubaldi 2013]

A Open Knowledge Foundation lançou em 2014 o Índice Global de Abertura deDados (Global Open Data Index - GODI) que ranqueia os países de acordo com seu graude abertura de dados. Ainda, em dezembro de 2014 a ONU lançou A World that Counts:Mobilising the Data Revolution for Sustainable Development, onde define a Revolução dosDados para Desenvolvimento Sustentável [Morales et al. 2014]:

Page 22: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

24 Capítulo 2. Referencial Teórico

1. A integração dos novos tipos de fontes de dados, com as fontes tradicionais existentespara produzir informações de alta qualidade, mais detalhadas, atuais e relevantespara vários propósitos e usuários e especialmente para fomentar e monitorar odesenvolvimento sustentável;

2. O aumento da usabilidade dos dados através de um grau muito maior de aberturae transparência, evitando a invasão de privacidade e abuso dos direitos humanosvindas do uso errado de dados individuais e de grupos. Minimizar a desigualdade naprodução, no acesso e no uso de dados;

3. Assim, pode-se ter pessoas empoderadas, melhores políticas, melhores decisões emaior participação e prestações de contas, trazendo melhores resultados para aspessoas e para o planeta.

A posição da ONU coloca a busca por aumentar a disponibilização de dados abertosgovernamentais em outro patamar, mobilizando todos os países a contribuírem,seguindo seu conceito de revolução de dados para o desenvolvimento sustentável.

2.2 Cenário Brasileiro de Dados Abertos Governamentais

Em 2012, no Brasil, foi criada a Lei de Acesso à Informação (Lei no 12.527/2011)que regulamenta o direito constitucional de acesso às informações públicas, criandomecanismos que possibilitam o recebimento de informações públicas dos órgãos e entidades.A Lei, baseada em princípios internacionais, segundo o Portal brasileiro de Acesso àInformação [Governo Federal 2017], tem como principais aspectos:

1. Divulgação Máxima: Acesso é a regra, o sigilo, a exceção;

2. Não Exigência de Motivação: Requerente não precisa dizer por que e para quedeseja a informação;

3. Limitação de Exceções: Hipóteses de sigilo são limitadas e legalmente estabeleci-das;

4. Gratuidade da Informação: Fornecimento gratuito de informação, salvo custo dereprodução;

5. Transparência Ativa: Divulgação proativa de informações de interesse coletivo egeral;

6. Transparência Passiva: Criação de procedimentos e prazos que facilitam o acessoà informação.

Page 23: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

2.2. Cenário Brasileiro de Dados Abertos Governamentais 25

No mesmo ano, foi criada a Infraestrutura Nacional de Dados Abertos (INDA),a política brasileira de dados abertos. Ela é baseada em um conjunto de padrões, tecno-logias, procedimentos e mecanismos de controle, necessários para atender às condiçõesde disseminação e compartilhamento de dados e informações públicas. Segundo o portalGoverno Eletrônico [Governo Federal 2017], ela visa proporcionar a busca, o acesso, oreuso e o cruzamento dos dados públicos de diferentes fontes e assuntos de maneira simplese eficiente, bem como coordenar e orientar a padronização na geração, armazenamento,acesso, compartilhamento, disseminação dos dados e de informações públicas de governo,além de incentivar a agregação de valor aos dados públicos e fomentar a colaboração como cidadão na implementação de novos serviços à sociedade.

O principal componente da INDA, criado também em 2012, é o Portal Brasileirode Dados Abertos, que pode ser acessado no endereço dados.gov.br. Ele tem o objetivode ser o ponto central para a busca, o acesso e uso dos dados abertos governamentais noBrasil [Governo Federal 2017]. Com essa infraestrutura, o Brasil passou a ocupar a oitavaposição no ranking de dados abertos da Open Knowledge como pode ser visto na Figura2.

Figura 2 – Índice Global de Abertura de Dados 2017. Fonte: https://index.okfn.org/place/

Alguns estudos realizados também buscaram avaliar a efetividade dos dados abertosno Brasil. Um deles foi realizado pela Universidade Federal de Brasília(UNB) e buscouavaliar o Portal Transparência do Governo Federal, por meio de uma pesquisa com seususuários, no período entre 10 de fevereiro de 2014 e 11 de abril de 2014, com mil seiscentose quarenta e nove respostas válidas. A metodologia foi a criação e aplicação de umquestionário e sua disponibilização diretamente no Portal, e divulgação em outros canaisde comunicação como redes sociais e portais de notícias. Analisando um dos resultados da

Page 24: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

26 Capítulo 2. Referencial Teórico

pesquisa apresentados na Figura 3, foi observado que a possibilidade de associar e cruzardados e informações é uma das maiores fontes de sugestões de modificações, seguida poruma melhor visualização dos gastos públicos e aperfeiçoamento de mecanismos de busca.

Figura 3 – Proporção de ferramentas e funcionalidades que os respondentes gostariam deencontrar no Portal. Fonte: Pesquisa de Avaliação do Portal da Transparên-cia(2014) [Batista e Freire 2014]

Na Figura 4 é possível observar que uma quantidade considerável de usuários têmdificuldade em acessar dados presentes no portal e na Figura 5 é visto que grande partetambém têm certa dificuldade em entender os mesmos. Levando em conta a categoria maisacessada no Portal, "Quanto e em que o governo gasta", vista na Figura 6 é observado umagravamento da situação, visto que ela também é a menos entendida e mais difícil de seracessada, isto reforça a necessidade de um aperfeiçoamento nos mecanismos de busca e namelhor visualização dos gastos públicos.

Além destes, apesar do volume de dados disponível, outro problema é a forma comoos arquivos fornecidos pelos portais estão dispostos. A Figura 7 ilustra bem este fato, elamostra todos os formatos disponíveis no site dados.gov.br, e o que pode ser visto é que osprincipais formatos são CSV e HTML, que não são legíveis por máquina, tendo apenasvinte e seis representações em RDF. O mesmo pode ser dito para o Portal Transparência,que só disponibiliza dados em CSV, um exemplo disto pode ser visto na Figura 8. Istotorna complicada a automatização de tarefas e a facilitação da navegação do usuário, jáque as aplicações que fazem uso destes dados não são capazes de interpretá-los.

Page 25: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

2.2. Cenário Brasileiro de Dados Abertos Governamentais 27

Figura 4 – Informações consideradas mais difíceis de serem acessadas. Fonte: Pesquisa deAvaliação do Portal da Transparência(2014) [Batista e Freire 2014]

Figura 5 – Informações consideradas mais difíceis de serem entendidas. Fonte: Pesquisa deAvaliação do Portal da Transparência(2014) [Batista e Freire 2014]

Page 26: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

28 Capítulo 2. Referencial Teórico

Figura 6 – Proporção de acesso por perfil de acesso. Fonte: Pesquisa de Avaliação do Portalda Transparência(2014) [Batista e Freire 2014]

Figura 7 – Formatos disponíveis em junho de 2017 no site www.dados.gov.br

Page 27: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

2.3. Web Semântica 29

Figura 8 – Exemplo de formato disponível em junho de 2017 no sitewww.portaltransparencia.gov.br

2.3 Web Semântica

A Web 2.0 com melhores formas de interação e comunicação difundiu o acesso àinternet e incentivou a colaboração por parte dos usuários. Consequentemente, o volumede dados disponíveis na Web vem crescendo em quantidades exponenciais. Mecanismos debuscas como o Google, utilizam estratégias baseadas em buscas por palavras-chave paraprover acesso a estes dados. Mas tais mecanismos possuem sérios problemas como altasensibilidade à sintaxe e pouca precisão e organização ineficiente dos dados. [Antonious eHarmelen 2008]

Para contornar tais problemas, procurou-se fazer com que os computadores ligadosà rede cumpram tarefas mais complexas na busca de informações. Um dos principaisdesafios é que eles compreendam e vinculem dados colocados na rede com semântica, istoé, os computadores, através de ontologias e regras de inferências, encontrem respostas maisprecisas para as consultas, descartando o que é irrelevante para o usuário. O objetivo daintrodução de semântica na Web é tornar a informação “compreensível” para o computador.Ela representa uma revolução no processamento da informação e, por consequência, umarevolução na maneira de se obter e organizar os conhecimentos. Pretende-se que os recursosdisponibilizados sejam expressivos o bastante para que máquinas e/ou agentes de softwaresejam capazes de processar e “entender” o real significado dos dados. [Lima e Carvalho2004]

O termo Web Semântica foi criado por James Hendler, Ora Lassila e Tim Berners-Lee, inventor da Web atual, numa publicação da revista Scientific American intitulada“Web Semântica: um novo formato de conteúdo para a Web que tem significado para

Page 28: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

30 Capítulo 2. Referencial Teórico

computadores vai iniciar uma revolução de novas possibilidades.” em 2001. [Berners-Lee,Hendler e Lassila 2001] Segundo Tim Berners-Lee, a Web Semântica, tem como objetivoestender a Web atual levando aos dados toda a estrutura utilizada nos documentos, ouseja, deixando-os acessíveis por identificadores únicos e interligando-os em uma plataformacomum, propiciando sua reutilização. Diferentemente da Web atual que é desenhada apenaspara humanos lerem, ela permitirá a cooperação entre computadores e humanos, trazendouma estrutura em que páginas Web tenham conteúdo significativo, onde agentes percorrampágina por página facilmente, realizando tarefas complexas para um humano. [Berners-Lee,Hendler e Lassila 2001] Ainda em 2001, os mesmo autores definiram sua arquiteturaseparada em camadas, onde cada camada possui uma determinada função, para aplicaçõesneste contexto e após várias modificações sua configuração atual é ilustrada na Figura 9.Algumas destas camadas são descritas a seguir:

Figura 9 – Camadas Web Semântica [Isotani e Bittencourt 2015].

1. Camada URI (Uniform Resource Identifier)/Unicode: Fornece interoperabilidadeatravés da identificação única de um recurso disponível na Web através de umendereço e através da codificação de caracteres;

2. Camada XML (Extensible Markup Language): Permite criar linguagens de marcaçõespara descrição de informações. A sintaxe das camadas superiores é baseada em XML;

Page 29: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

2.3. Web Semântica 31

3. Camada RDF (Resource Description Framework): Prover um modelo de descriçãológica de dados;

4. Camada RDFS: Permite a criação de um vocabulário para a camada RDF;

5. Camada da Ontologia: Prover um maior nível de expressividade para a definição dasemântica das informações;

6. Camada de Consulta: Prover meios para a realização de consultas sobre o modelo dedados;

7. Camada de Regras: Prover um mecanismo de criação de relações entre recursos quenão podem ser descritas diretamente na ontologia;

8. Camada Lógica: É responsável pelo raciocínio e execução de inferências lógicas apartir da semântica previamente descrita;

9. Camada de Prova e Confiança: Camada que provê um mecanismo para avaliar onível de confiabilidade das fontes de recursos e informações;

10. Camada de Aplicação: Camada que permite a interação entre o usuário e a aplicaçãoWeb Semântica.

2.3.1 RDF

O W3C [Cyganiak et al. 2017] o define como um modelo padrão para o intercâmbiode dados na Web. O RDF, por ser um modelo de dados que possibilita a formação desentenças entre recursos, facilita a fusão de dados, mesmo que os esquemas subjacentessejam diferentes, além disso suporta a evolução dos esquemas ao longo do tempo sem anecessidade de mudança na forma com que os consumidores consomem os dados. Entende-se por recurso qualquer objeto em que se deseja gerar uma sentença e por sentença umaestrutura no formato sujeito, predicado, objeto onde:

1. Sujeito: É o recurso sobre o qual a sentença diz algo;

2. Predicado: Relacionamento entre sujeito e objeto. O predicado é especificado atravésde relações binárias, geralmente nomeadas por um verbo, e permitem relacionar umrecurso a um dado ou a outro recurso;

3. Objeto: É o recurso que se relaciona com o sujeito.

Neste contexto, uma sentença geralmente é chamada de tripla, devido ao seu formato.Um documento RDF é composto por um conjunto de triplas que definem informaçõessobre o domínio de interesse.

Page 30: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

32 Capítulo 2. Referencial Teórico

Essa estrutura de ligação forma um grafo dirigido, em que as arestas representama ligação entre dois recursos, representados pelos nós do grafo. Um modelo gráfico dessaestrutura é um modelo mental mais fácil para se entender o RDF e é frequentementeusado para facilitar explicações visuais como pode ser visto na Figura 10, na qual sãorepresentados dois recursos.

Figura 10 – Exemplo sujeito, objeto e predicado RDF.

Para representação dos dados são utilizadas URIs (Universal Resource Identifier).Elas permitem a identificação única de recursos, assim como os relacionamentos entre eles.Outro papel muito importante no desenvolvimento da Web Semântica é desempenhado peloXML. Ela permite que usuários desenvolvam uma estrutura arbitrária para seus documen-tos, sem especificar o que cada estrutura significa. Um exemplo dessa representação pode servisto na Figura 11. Nela existe a representação de um documento em RDF onde "LeonardoNascimento"é autor do recurso http://www.ic.uff.br/projetos/ConectandoDadosAbertos.pdf.

Figura 11 – Exemplo representação RDF.

2.3.2 RDF Schema

Segundo a W3C [Brickley, Guha e McBride 2014], RDF Schema ou RDFS é umaextensão semântica para o RDF. Ela provê mecanismos para descrever grupos de recursosrelacionados e as relações entre esses recursos. O sistema de classes e propriedades é similarao de linguagens orientadas a objeto como o java. A diferença entre eles está no fato de queo RDFS, ao invés de definir suas classes em termos das propriedades que suas instânciaspodem ter, descreve suas propriedades em termos das classes de recursos aos quais elaspodem requerer. Por exemplo, pode-se definir uma propriedade autor que tem um domínio

Page 31: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

2.3. Web Semântica 33

Documento e que é uma instância de Pessoa. Num sistema de orientação a objetos clássicopossivelmente seria definida uma classe Livro com um atributo autor do tipo Pessoa. Coma abordagem RDF é muito mais fácil para outros definirem propriedades adicionais, semprecisar redefinir a descrição original das classes. [Berners-Lee 1998]

2.3.3 SPARQL

Bancos de dados relacionais se utilizam da linguagem SQL para consultas deregistros em sua base de dados. O SPARQL, seguindo a mesma linha, é como o SQL sóque para RDF. É a linguagem padrão para recuperação de dados contidos em grafos RDFrecomendada pelo W3C.

O SPARQL possui a estrutura SELECT-FROM-WHERE, onde:

1. Select: Especifica uma projeção sobre os dados como a ordem e a quantidade deatributos e/ou instâncias que serão retornados;

2. From: Declara as fontes que serão consultadas. Esta cláusula é opcional. Quando nãoespecificada, assumimos que a busca serão feitas em um documento RDF particular;

3. Where: Impõe restrições na consulta. Os registros retornados pela consulta deverãosatisfazer as restrições impostas por esta cláusula.

O retorno da consulta é um subgrafo resultante da execução da consulta sobre ografo que representa o modelo. Abaixo observa-se o grafo exemplo: Este grafo representa arelação entre instâncias de uma ontologia cujo domínio é focado na descrição e formalizaçãode escritores. O subgrafo em negrito destaca o que pode ser visto como o resultado de umaconsulta que retorna o escritor que escreveu King of Lear e é casado com Anne Hathaway.

Um exemplo de consulta SPARQL que retornaria esse subgrafo pode ser vistoabaixo:

Onde:

1. ?x é uma variável que representa o conjunto de recursos que será retornado comoresposta da consulta;

2. ?x rdf:type escritor é uma expressão, parte da cláusula WHERE que restringe aconsulta a apenas escritores;

3. AnneHathaway wri:married?x restringe o retorno a recursos casados com AnneHathaway;

4. x?wri:wrote KingLear restringe a pesquisa ao recurso que escreveu King of Lear.

Page 32: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

34 Capítulo 2. Referencial Teórico

Figura 12 – Representação de instâncias de um domínio retirado de Semantic Web for theWorking Ontologist [Allemang e Hendler 2008].

Figura 13 – Exemplo de consulta SPARQL retirado de [Lóscio, Farias e Filho 2015].

2.3.4 Ontologias

Ontologia, no ramo de Ciências da Computação, é um mecanismo de especificaçãode conceitualização. O termo teve origem na filosofia, está relacionado a Existência efoi emprestado para a computação. No objeto de estudo, o que existe é o que podeser representado, o conhecimento de um domínio é representado em um formalismodeclarativo e o conjunto de objetos que podem ser representados é chamado de universode discurso. [Gruber 1995]

Este conjunto de objetos e as relações descritíveis entre eles estão refletidos no vo-cabulário representacional com o qual um programa baseado no conhecimento o representa.Assim, é possível descrever uma ontologia definindo um conjunto de termos representa-

Page 33: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

2.3. Web Semântica 35

cionais. Em tal ontologia, as definições associam os nomes de entidades no universo dodiscurso (por exemplo: classes, relações, funções ou outros objetos) com texto legível quedescreve o que significam os nomes e os axiomas formais que limitam a interpretaçãodesses termos. [Gruber 1995]

A Web Ontology Language(OWL) é uma linguagem para definir e instanciarontologias na Web [Smith, Welty e McGuinness 2004]. Foi construída acima das camadasRDF e RDFS afim de estendê-las, incluindo uma expressividade maior.

2.3.5 Linked Data

Um dos pilares da Web Semântica é a interligação dos dados de diferentes fontes,fazendo dela um banco de dados generalizado. Pode-se pensar em duas entidades comfocos e localizações geográficas diferentes que publicam seus dados de forma ligada àfontes externas, um desenvolvedor pode executar consultas buscando dados diferentes ecombiná-los devolvendo alguma informação útil. Isto seria inviável em caso do uso desistemas de bancos de dados tradicionais.

Para entender a utilidade dos dados conectados, basta pensar em uma entidadeque utiliza dados governamentais no Brasil para manter um portal sempre atualizado semque estes dados estejam presentes em seu banco de dados. A coleta manual é praticamenteimpossível, mas atualmente eles já estão disponíveis em diversos portais tanto em formatosPDF, JPEG e PNG, legíveis por humanos mas dificilmente lidos por máquina, quanto emCSV, XML e JSON que são mais facilmente manipuláveis por máquina. De qualquer forma,na possibilidade de quaisquer desses casos se tratarem de dados específicos de determinadaárea, apenas especialistas poderiam decifrá-los. Mas e se eles fossem autoexplicativos?E se os dados fossem ligados à outros dados de outras fontes permitindo uma melhorinterpretação da informação? Num mecanismo automático, no qual, fosse possível buscarestas informações de outras fontes, em dados estruturados e conectados onde fosse possívelcombiná-los em tempo real?

Essa ligação entre repositórios levou ao paradigma Linked Data, um conjuntode princípios e tecnologias que visam a partilha e reutilização de informação de modomassivo, num espaço de dados global permitindo também a descoberta de novos dados."Linked Data refere-se aos dados disponibilizados na Web de tal forma que são facilmenteprocessados por máquinas, sendo o seu significado definido explicitamente, e que essesdados são ligados bidirecionalmente a outros conjuntos externos." [Berners-Lee, Heath eBizer 2011]

Em 2006, Berners-Lee, James Hendler e Ora Lassila [Berners-Lee, Hendler e Lassila2001] introduziram princípios para descrever melhor as melhores práticas para LinkedData:

Page 34: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

36 Capítulo 2. Referencial Teórico

1. Utilizar URI’s como nome para recursos;

2. Utilizar URI’s HTTP para que pessoas possam encontrar estes nomes;

3. Quando alguém procurar por uma URI, garantir que informações úteis possam serobtidas por meio destas URI’s, as quais devem estar representadas em formato RDF;

4. Incluir links para outros URI’s de forma que outros recursos possam ser descobertos.

Segundo Jacobs e Walsh [Berners-Lee, Heath e Bizer 2011] [Jacobs e Walsh 2004],a utilização de URI’s HTTP para identificação de recursos, o protocolo HTTP comomecanismo de recuperação de dados e o modelo de dados RDF para representar a descriçãodos recursos faz com que a ideia de Linked Data seja construída em cima da arquiteturageral da Web. Tom Heath, Tim Berners-Lee e Cristian Bizer [Berners-Lee, Heath e Bizer2011] veem a Web dos Dados como uma camada adicional estreitamente ligada a Webtradicional, compartilhando diversas propriedades como:

1. Serem genéricas e poder conter qualquer tipo de dados;

2. Qualquer um poder publicar dados;

3. Entidades podem conter links, criando um grafo global de dados;

4. Publicadores de dados não são forçados a usar uma forma padrão de representaçãode dados.

Para se ter uma ideia da dimensão de dados já conectados, o site http://linkeddata.org/[Heath 2016] administrado por Tom Heath que tem o intuito de promover o uso de dadosconectados gerou um grafo, em abril de 2014, que demonstra os conjuntos de dados abertosbem como suas ligações. O grafo foi desenvolvido percorrendo ligações do datahub.io, umdos principais repositórios de dados ligados.

2.4 Ferramentas para Transformação em RDF

Uma das funcionalidades fundamentais do Data Linker é a transformação de dadospara o formato RDF. Foi feita uma pesquisa entre diversas ferramentas disponíveis paraidentificar qual melhor se encaixaria no Data Linker. Abaixo estão listadas as ferramentaspesquisadas e suas funcionalidades:

1. Triplify - O Triplify é baseado no mapeamento de requisições HTTP em queriesde banco de dados relacionais, ou seja, as requisições para dados em RDF sãotransformadas em consultas SQL que realizam a consulta em um banco de dados

Page 35: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

2.4. Ferramentas para Transformação em RDF 37

Figura 14 – Nuvem de dados conectados gerada pelo site http://linkeddata.org/ em agostode 2014 [Heath 2016].

relacional, e por fim traduzem o resultado da consulta para RDF. O mapeamentodeve ser feito pelo usuário e é utilizada as abordagens tabela-para-classe e coluna-para-predicado para transformação dos resultados das consultas SQL no modelo dedados RDF [Auer et al. 2009];

2. D2RQ - D2RQ gera os arquivos de mapeamento automaticamente, utilizandoas abordagens tabela-para-classe e coluna-para-predicado para transformação dosresultados das consultas SQL no modelo de dados RDF. O D2RQ pode oferecerseu conteúdo tanto como grafos RDF virtuais sem necessidade de duplicação dabase de dados relacionais em RDF como pode gerar um dump de seu conteúdo emRDF caso seja necessário. O acesso virtual é amplamente utilizado para transformarconsultas SPARQL em SQL. O arquivo de mapeamento pode ser customizado. [Bizere Seaborn 2004];

3. Virtuoso RDF View - A ferramenta Virtuoso RDF View, utiliza abordagenstabela-para-classe para geração automática do arquivo de mapeamento. O arquivotambém chamado de RDF View, é composto de várias declarações que especificamquais valores de colunas são mapeados para triplas RDF. Similarmente ao D2RQ,o Virtuoso pode mapear coleções de tabelas relacionais para RDF acessível viaSPARQL sem ter de converter todos os dados em triplas RDF. [Erling e Mikhailov

Page 36: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

38 Capítulo 2. Referencial Teórico

2009].

4. StdTrip - A ferramenta visa facilitar o processo de decisão da representação deesquemas de bancos de dados relacionais em classes e propriedades do vocabulárioRDF. Seu principal objetivo é o reuso de vocabulários de forma a assegurar ainteroperabilidade dentro do espaço da Linked Open data. [Salas, Casanova eViterbo 2011]

5. Karma - É uma ferramenta de integração que permite que os usuários integremfácil e rapidamente com uma variedade de fontes de dados como bases de dados,planilhas, arquivos de textos delimitados, XML, JSON, KML e APIs Web. Usuáriosintegram informações modelando-as de acordo com uma ontologia de sua escolhautilizando uma interface gráfica que automatiza grande parte do processo. O Karmaaprende a reconhecer o mapeamento de dados para classes de ontologia e depois a usapara propor um modelo que junta as classes de ontologia. Os usuário interagem como sistema para ajustar o modelo gerado automaticamente. Durante este processo,usuários podem transformar os dados para normalizá-los e reestruturá-los. Umavez que o modelo estiver completo, os usuários podem publicar como RDF ouarmazená-los em uma base de dados [Knoblock et al. 2017].

6. Open Refine - É uma aplicação Open Source desktop que pode ser utilizada paratransformação de dados. Um plugin deve ser adicionado para que transforme aentrada em RDF.

2.5 Ferramentas Utilizadas

Nessa seção serão abordadas duas ferramentas externas, o CKAN e D2RQ, queintegram a ferramenta Data Linker. O CKAN cumpre seu papel na fase de coleta dedados, estendendo o input para as convenções da Open Knowledge Foundation, ajudandoa coletar metadados. Já o D2RQ tem um papel fundamental na etapa de transformaçãode dados para o RDF, como é descrito nas seções seguintes.

2.5.1 CKAN

A Open Knowledge Foundation oferece em seu website diversos projetos que visamfacilitar a disponibilização de dados abertos e apresenta uma série de portais que já seguemsuas normas que incluem a utilização de um ambiente de gerenciamento de dados abertos, oCKAN. Esta ferramenta é utilizada pelos principais fornecedores de dados governamentaisdo mundo como os portais de dados abertos da Alemanha, Estados Unidos, Grã-Bretanha,Holanda, Brasil entre outros.

Page 37: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

2.5. Ferramentas Utilizadas 39

O CKAN, sigla para Comprehensive Knowledge Archive Network, é uma aplica-ção web, open source, desenvolvida pela Open Knowledge Foundation para publicação,compartilhamento, catalogação e recuperação de dados. Segundo o portal CKAN [OpenKnowledge Foundation title=Ckan Documentation], disponível em ckan.org a ferramentaprovê:

1. Integração com outros gerenciadores de conteúdo como Drupal e WordPress;

2. Visualização de dados em formas analítica e estruturada como tabelas, gráficos emapas;

3. Sistema de catalogação completo com interface amigável e API poderosa;

4. Permite que cada departamento ou grupo gerencie suas próprias publicações;

5. Preciso controle de acesso;

6. Por ser open source, permite customização caso necessário;

7. Armazenamento de metadados.

Os metadados fornecidos pelo CKAN facilitam a identificação dos conjuntos dedados e fornecem recursos para as fases seguintes. Alguns deles são:

1. Título - permite rotulagem intuitiva do conjunto de dados para pesquisa, comparti-lhamento e vinculação;

2. Identificador único - URL única para o conjunto de dado;

3. Descrição - informações adicionais para descrever ou analisar dados.Elas podemser estáticas ou editáveis em um formato wiki permitindo que qualquer pessoa possacontribuir instantaneamente ou com moderação de um administrador;

4. Histórico de revisão - Permite exibir um histórico de revisão de conjuntos dedados que são livremente editáveis pelos usuários;

5. Visualização de dados - Dados em formato CSV que permitem uma pré-visualizaçãodo conjunto de dados facilitando a identificação do conjunto de dados por humanos;

6. Campos extras - Permitem qualquer tipo de informação adicional;

7. Licença - Indica para o usuário a licença sobre a qual os dados estão disponíveis,ou seja, se eles têm direito de usar, modificar e redistribuir os dados;

Page 38: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

40 Capítulo 2. Referencial Teórico

8. Tags - Rotular dados publicados, facilitando a recuperação dos dados e a procurapor conjunto de dados relacionados e permitindo a criação de funcionalidades comnuvens de tags ;

9. Grupos - Facilita a procura, ligação e compartilhamento de dados entre usuáriosinteressados e editores;

10. Formatos - Ver os diferentes formatos que os dados foram disponibilizados facilmenteem uma tabela.

O CKAN disponibiliza uma API REST que através de uma chamada GET dispo-nibiliza o pacote de metadados em formato JSON, a resposta da chamada retorna umlink para os conjuntos de dados presentes nos pacotes, eles podem estar disponíveis emdiversos formatos, CSV, XML e JSON são os mais comuns.

2.5.2 D2RQ

A plataforma D2RQ oferece acesso a conteúdos RDF em bases relacionais sem terde armazenar os dados em RDF. Segundo o site da ferramenta d2rq.org [Cyganiak et al.2017], com ela é possível:

1. Acessar o conteúdo da base de dados como Linked Data na Web;

2. Consultar uma base de dados não RDF utilizando SPARQL;

3. Acessar informações em uma base de dados não RDF utilizando o Apache Jena;

4. Criar dumps customizados em formatos RDF para carregá-los em uma base RDF.

Um arquivo de mapeamento é necessário para fazer o de-para, ele define um grafovirtual que contém informações da base de dados, conceito similar ao conceito de viewsno SQL, exceto que, uma estrutura de dados virtual é um grafo ao invés de uma tabelarelacional virtual. Há a opção da geração do arquivo de mapeamento padrão, mas elepode ser customizado. Ele é uma documento RDF escrito na sintaxe Turtle e expressoutilizando o namespace D2RQ (http://www.wiwiss.fu-berlin.de/suhl/bizer/D2RQ/0.1).A linguagem de mapeamento D2RQ é uma linguagem declarativa para descrição derelacionamentos entre o esquema da base de dados relacional e os vocabulários RDFS ouontologias OWL [Cyganiak et al. 2017].

Page 39: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

2.5. Ferramentas Utilizadas 41

Figura 15 – Arquitetura da plataforma D2RQ. Fonte: d2rq.org

Page 40: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação
Page 41: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

43

3 Data Linker

3.1 Visão Geral

A ferramenta desenvolvida tem como passo inicial a coleta de conjuntos de dadostabulares, ou seja, no formato de tabelas onde as linhas representam os dados em sie as colunas representam o significado delas. Esses dados abertos estão presentes emdiversos portais públicos brasileiros, como dados.gov.br e data.rio ou estrangeiros, como odatahub.io. Para coletar os dados presentes nestes portais, foi desenvolvida uma integraçãocom o CKAN que consulta todos os pacotes disponíveis na entidade em questão e faz odownload de todos os conjuntos de dados e seus respectivos metadados. Também é possívelsubir arquivos locais ou diretamente via URL. Os conjuntos de dados e seus metadados sãoespelhados em um banco de dados relacional para que possam ser ligados e transformadosem RDF nos passos futuros.

O segundo passo é identificar ligações entre todos os conjuntos das mais diversasfontes de dados. O processo de identificação de ligações entre um conjunto de dadosfonte para outro conjunto de dados alvo se dá, primeiramente, pela identificação daspossíveis chaves primárias do conjunto alvo. É preciso determinar se o conjunto alvo possuialguma coluna que não possui valores repetidos nem nulos. Identificadas as possíveis chavesprimárias, o próximo passo do algoritmo é identificar se alguma coluna do conjuntos dedados fonte é uma possível chave estrangeira para o conjunto de dados alvo, ou seja,quando um atributo de uma relação for chave primária em outra relação. Os tipos deatributos de cada coluna são comparados com os tipos de atributos das possíveis chavesprimárias do conjunto alvo, se possuírem o mesmo tipo, essas duas colunas entram para oconjunto de possíveis chaves estrangeiras. O último passo da identificação de ligações, écomparar se todos os dados de uma coluna, que é uma possível chave estrangeira, estãocontidos na coluna alvo. Se a resposta for sim, então os dados possuem uma ligação.

O terceiro passo, que é opcional, é adicionar ou remover ligações antes da trans-formação. Para o quarto passo, foi utilizada a plataforma D2RQ, este passo baseia-se emtransformar os dados presentes na base de dados relacionais em RDF.

3.2 Coleta

A coleta de dados é facilitada por um grau de padronização já conquistado pelosprincipais portais de transparência do mundo, já que para uma instituição começar adisponibilizar seus dados e iniciar seu processo de transparência é necessário seguir diversas

Page 42: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

44 Capítulo 3. Data Linker

Figura 16 – Visão Geral.

normas de modo à fomentar a utilização pela comunidade.

Em um primeiro momento, o projeto será focado nos dados disponibilizados emformato CSV.

Arquivos CSV, do inglês Comma-separated values ou valores separados por vírgula,são utilizados para armazenar dados tabulares como números e texto como texto simples,onde cada linha é um registro que possui uma ou mais propriedades separadas por vírgula,ponto e vírgula ou tabulações.

O conversor do projeto desenvolvido expõe uma API que pode receber comoparâmetros a URL e o nome do pacote CKAN, um link direto para o arquivo ou umcaminho para um arquivo local. Caso a chamada seja por um caminho CKAN, ele realizauma chamada GET, descobrindo assim o link para o conjunto, e com este link uma novachamada é realizada, coletando todos os dados disponíveis.

Com os dados baixados, todos eles são salvos em uma instância do MySQL. Parasalvá-los foi desenvolvida uma estrutura de criação e alteração de tabelas, cada novoconjunto de dados é responsável pela criação de uma tabela dentro da base relacional.

3.3 Descobrimento

Todas as inserções de novos conjuntos de dados ou atualizações passam por umprocesso de descoberta de chaves estrangeiras. Este processo é um dos mais importantesdo trabalho, já que ele que identificará os relacionamentos para sua futura transformaçãoem RDF.

Dois outros processos que acontecem ao final da coleta de dados visam otimizare facilitar o descobrimento das chaves estrangeiras. No primeiro, há uma tentativa dedescoberta de possíveis chaves primárias do conjunto de dados. Chaves primárias sãoatributos ou combinações de atributos que têm a propriedade de identificar unicamenteuma linha de uma tabela relacional. [Elmasri e Navathe 2010] Esta tentativa se dá pelacomparação de dados de cada coluna do conjunto de dados e verificação de duplicidade,caso nenhum dado em uma coluna esteja duplicado, então ele é um candidato a chave

Page 43: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

3.4. Alterações 45

primária. Todos os candidatos a chaves primárias da tabela são salvos em um estrutura dobanco de dados relacional.

Já o segundo processo busca descobrir os tipos de cada atributo, ou seja, se todosvalores de uma determinada coluna são valores lógicos, inteiros, reais, datas ou texto. Damesma forma que na descoberta de possíveis chaves primárias, a descoberta de tipos deatributos salva todos os possíveis atributos em uma tabela do banco de dados relacional.

Uma chave estrangeira ocorre quando um atributo presente em uma relação échave primária em outra relação. [Elmasri e Navathe 2010] Para determinar as chavesestrangeiras, a ferramenta busca para cada coluna do novo dataset todos os atributos deoutras relações que são chaves primárias e que possuem o mesmo tipo de atributo quea coluna a ser comparada. Encontrados os possíveis candidatos a relacionamento, sãofeitas consultas no banco para saber se todos os valores presentes no novo dataset estãocontidos em alguma das colunas dos dataset escolhidos. Caso todos os valores estejampresentes, a ferramenta considera que existe alguma relação entra as colunas dos dataset.Caso contrário, existindo um valor diferente o sistema pula para a próxima comparaçãode possíveis candidatos a relacionamento. As comparações são feitas de cada coluna dodataset novo para todas as colunas candidatas encontradas pelo sistema. Ao encontrar arelação de chaves estrangeiras é criada no MySQL uma chave estrangeira para a relaçãoencontrada.

3.4 Alterações

A ferramenta possui um mecanismo manual para exclusão de ligações ou dataset.Para excluir uma ligação de dataset na base de dados da ferramenta, a ferramenta recebeos dataset e as colunas fonte e alvo como parâmetros e remove as chaves estrangeirasgeradas. Para excluir dataset, a ferramenta recebe o nome dele como parâmetro, removetodas as chaves estrangeiras, a tabela por ele gerada e os metadados. Com isso, é geradoum novo arquivo de mapeamento que onde os dataset e ligações estarão excluídos.

A exclusão de dados e a não ligação entre os números, tornou necessário o desenvol-vimento de uma feature para adição manual de ligações entre dataset. Com isto, o usuárioda ferramenta pode através do envio das colunas e datasets fonte e alvo, gerar uma ligaçãoentre eles caso seja dataset uma chave estrangeira.

3.5 Transformação

O último passo consiste na transformação e disponibilização dos dados armazenadosna base de dados relacional em RDF. Para a transformação, o arquivo de mapeamentopadrão é gerado de acordo com as chaves estrangeiras detectadas nos passos anteriores.

Page 44: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

46 Capítulo 3. Data Linker

Caso alguma ligação manual tenha sido feita, um processo para customizar o arquivo érodado. Finalmente, as mudanças são refletidas para a base de triplas RDF por meio deum comando no D2RQ.

Page 45: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

47

4 Estudo de Caso: Dados.Gov.Br

4.1 Cenário

O estudo de caso visa testar a ferramenta Data Linker para o problema apresen-tado no primeiro capítulo levando em conta os conjuntos de dados presentes no portaldados.gov.br, utilizando-a para disponibilizar parte dos dados presentes no portal já conec-tados e no formato RDF. O ambiente foi preparado em um MacBook Pro, com processadorIntel Core i7 2,2 GHz, memória de 16 GB 1600 MHz DDR3 e SSD.

4.2 Conjuntos de Dados Utilizados

Para este estudo de caso, alguns conjuntos de dados foram analisados e chegou-sea conclusão que eles se conectavam da forma descrita na Figura 17, de maneira queestabelecimentos, como cartórios possuem um estado, um bairro e um município, porisso estão ligados a hierarquias regionais do território brasileiro. Estatísticas, como censoprisional, são ligadas a estabelecimentos, neste caso unidades penitenciárias. Elas tambémpodem ser ligadas a categorizações internacionais como a Classificação Internacional deDoenças(CID), alguns exemplos são os conjuntos de dados Acidentes de trabalho por CIDe Benefícios por CID. A explicação da escolha dos conjuntos de dados é aprofundada nostópicos à seguir.

Figura 17 – Ligações dados.gov.br.

4.2.1 Dados de Hierarquias Regionais do Território Brasileiro

Analisando os dados presentes no portal, chegou-se à conclusão que a hierarquiaregional brasileira seria importante para conectá-los.Esta necessidade fez com que apesquisa chegasse ao SIDRA, Sistema IBGE de Recuperação Automática, neste sistema foi

Page 46: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

48 Capítulo 4. Estudo de Caso: Dados.Gov.Br

possível o download de arquivos CSVs com a hierarquia territorial brasileira. Como pode servisto na Figura 18, eles fornecem a hierarquia do território brasileiro em bairros, distritos,municípios, unidades federativas, entre outros. O que permitiu a mais fácil conexão econsolidação.

Figura 18 – Hierarquia Territorial Brasileira.

4.2.2 Categorizações Nacionais e Internacionais

A análise também levou ao CONCLA, Comissão Nacional de Classificação, apágina disponibiliza classificações estatísticas nacionais, usadas no sistema estatístico e

Page 47: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

4.2. Conjuntos de Dados Utilizados 49

nos cadastros administrativos do País e as classificações internacionais a elas associadas.

Os usuários acessam, além das tabelas de códigos e descrições referentes a essasclassificações, tabelas de correspondência e categorizações internacionais como pode servisto nas imagens abaixo.

Os dados apresentados no sistema de classificações podem fazer com que ligaçõessejam feitas com órgãos internacionais, pois as estatísticas são publicadas

4.2.3 Localidades

Estabelecimentos, postos, unidades, programas e localizações, foram informaçõesimportantes encontradas no dados.gov.br, todos estes podem ser conectados entre si pelahierarquia territorial. Na Figura 21 é possível encontrar exemplos destes dados.

4.2.4 Estatísticas

Os dados estatísticos, como citado na introdução, são importantes fontes de infor-mação. No governo, eles fornecem uma visão da sociedade delineando os pontos fortes efracos, servindo de input para decisões futuras. Os ministérios brasileiros publicam suasestatísticas no dados.gov.br. O Ministério da Previdência Social, por exemplo, disponibilizaas seguintes estatísticas:

1. Acidentes do trabalho por Classificação Nacional de Atividades Econômicas(CNAE95);

2. Acidentes do Trabalho por Classificação Brasileira de Ocupação(CBO);

3. Acidentes do trabalho por Classificação Internacional de Doenças(CID);

4. Exames com parecer conclusivo por Unidade Federativa;

5. Contribuintes empregados por Unidade Federativa.

O Ministério da Saúde, por exemplo, também possui dados estatísticos distribuídospor municípios, cada município pertence a um UF. Com isto, é possível fazer mashups dedados do Ministério da Saúde e da Previdência Social. Abaixo podem ser vistos exemplosde conjuntos de dados do Ministérios da Saúde:

1. Proporção do total Brasil de internações selecionadas de média complexidade de nãoresidentes;

2. Razão entre exames citopatológicos do colo do útero em mulheres de 25 a 59 anos epopulação feminina da mesma faixa etária e local de residência;

3. Proporção do total Brasil de procedimentos ambulatoriais selecionados de médiacomplexidade para não residentes.

Page 48: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

50 Capítulo 4. Estudo de Caso: Dados.Gov.Br

Figura 19 – Categorizações Nacionais e Internacionais - Primeira Parte.

Page 49: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

4.2. Conjuntos de Dados Utilizados 51

Figura 20 – Categorizações Nacionais e Internacionais - Segunda Parte.

Page 50: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

52 Capítulo 4. Estudo de Caso: Dados.Gov.Br

Figura 21 – Estabelecimentos, Programas e Localizações encontrados no dados.gov.br.

Page 51: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

4.3. Passo a Passo 53

4.3 Passo a Passo

Nesta seção são ilustrados detalhadamente todos os passos dados pelo Data Linker eo fluxo de navegação que um usuário pode fazer na interface gráfica. Municípios e UnidadesFederativas1 foram os dois conjuntos de dados escolhidos como exemplo para o passo apasso. O conjunto de dados de unidades federativas possui as colunas id, nome, região e uf.O de municípios possui as colunas id, nome, nome composto, e uf. A interface gráfica foicriada para facilitar o uso da ferramenta, sua página inicial pode ser vista na Figura 22

Figura 22 – Página Inicial.

O primeiro passo é adicionar os novos conjuntos de dados. Para isso a caixa detexto destacada na Figura 23 deve ser preenchida com uma URL, com um caminhode arquivo local ou com uma URL apontando para um caminho CKAN. Para começara importação do arquivo é necessário clicar em "Import Package" destacado na Figura23. Neste caso, o campo de texto foi preenchido com o caminho local para o arquivo deUnidades Federativas e logo após clicou-se na opção "Import Package".

Com isso, o download do conjunto de dados de Unidades Federativas foi feito, cadavalor de cada coluna foi analisado. A coluna id foi marcada como inteira e chave única, acoluna nome foi marcada como varchar(255) e chave única, a coluna região foi marcadacomo varchar(255) e a coluna uf foi marcada como varchar(255) e chave única. Uma tabelachamada unidades federativas foi criada na base de dados relacional e o conjunto de dadosfoi inserido nessa tabela. Como não existiam outras tabelas o processo de descobrimentode chaves estrangeiras não foi disparado. Para importar o arquivo de municípios, o campode texto foi preenchido com o caminho local para o arquivo de Municípios e logo apósclicou-se na opção "Import Package". O download do conjunto de dados de Municípiosfoi feito. A coluna id foi marcada como inteira e chave única, a coluna nome foi marcadacomo varchar(255) e chave única, a coluna nome composto foi marcada como varchar(255)e chave única e a coluna uf foi marcada como varchar(255) e chave única. Uma tabelachamada municípios foi criada na base de dados relacional e o conjunto de dados foiinserido nessa tabela. Seis candidatas a chaves estrangeiras foram geradas, provenientes1 Todos os conjuntos de dados imputados no Data Linker encontram-se em

https://www.dropbox.com/sh/8v5natwxyhmue2y/AAAHvQEhieHzF7PfQNMs8X7ja?dl=0

Page 52: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

54 Capítulo 4. Estudo de Caso: Dados.Gov.Br

Figura 23 – Importar Dataset.

dos campos de chave únicas e varchar(255), porém uma única foi encontrada, entre oscampos uf dos dois conjuntos de dados. Para visualizar a chave criada deve-se clicar em"Take a look at your downloaded datasets", na página aberta aparece todos os conjuntosde dados criados como pode ser visto na Figura 24). Ao clicar em "Details", a interfacemostra todas as chaves estrangeiras criadas, como pode ser visto na Figura 25. Outra

Figura 24 – Conjuntos de Dados Importados.

Figura 25 – Chaves Estrangeiras Criadas.

opção da ferramenta é disponibilizar uma área para consulta dos dados em RDF. Ao clicarem "SPARQL query!", na "Home", o usuário é redirecionado para uma outra página, ondepodem ser realizadas consultas SPARQL. Para realizar a consulta o usuário deve digitá-lana caixa de textos e clicar em "Go!". Os resultados aparecerão abaixo da caixa de texto.A consulta realizada como exemplo, busca todas as instâncias de unidades federativas,como pode ser visualizado na Figura 26, e o resultado pode ser visto na figura 27. Ainstância pode ser detalhada em caso de clique no link resultante, mostrando todas suaspropriedades e ligações como pode ser visto em 28. Ao clicar em uma das ligações apropriedade relacionada de municípios é exibida como pode ser visualizado na Figura 29.

Page 53: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

4.3. Passo a Passo 55

Figura 26 – Exemplo de Consulta SPARQL.

Figura 27 – Resultado de uma consulta SPARQL.

Page 54: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

56 Capítulo 4. Estudo de Caso: Dados.Gov.Br

Figura 28 – Detalhes Unidade Federativa.

Figura 29 – Detalhes Município.

Por último, a opção de gerar dump na "Home" destacada na Figura 22 disponibilizaum link para download da base de dados em RDF2.

2 A base de triplas utilizada como exemplo encontra-se emhttps://www.dropbox.com/sh/8v5natwxyhmue2y/AAAHvQEhieHzF7PfQNMs8X7ja?dl=0

Page 55: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

57

5 Considerações finais

Neste projeto foi apresentado o Data Linker1, uma ferramenta concebida paraconectar dados tabulares e disponibilizá-los em formato legível por máquina. Seu principalobjetivo é, recebendo como input arquivos no formato CSV, realizar a conversão dedados para RDF, conectá-los com os outros dados já importados para a ferramenta, edisponibilizar um dump da base de triplas.

Foi observada, durante o processo de desenvolvimento, a necessidade de implementaruma interface gráfica para facilitar o input e a visualização dos dados. Diante disso,incorporamos ao Data Linker esta interface.

5.1 Limitações

Durante o processo de desenvolvimento da ferramenta e no estudo de caso, foramverificadas algumas limitações listadas a seguir:

1. Encoding - Alguns portais não utilizam o padrão de encoding UTF-8 no arquivos,por isso em alguns casos foi necessária a transformação manual destes arquivos e oupload para o sistema foi feito via arquivo armazenado no computador;

2. Má formatação - Outro problema em arquivos baixados foi a má formatação dosCSVs disponíveis, fazendo com que não seja possível subí-lo para o sistema;

3. Falta de padronização - A falta de padronização encontrada acarreta na dificuldadede gerar conexões automáticas entre os conjuntos de dados;

4. Conexões entre tipos numéricos - As conexões entre tipos numéricos foramremovidas do escopo do trabalho por gerarem diversos falsos positivos, entretanto, épossível ligar duas colunas de forma manual na ferramenta.

5.2 Trabalhos Futuros

1. Realizar ajustes necessários para permitir que a ferramenta aceite outros formatoscomo XML, JSON e XLS. Os formatos JSON e XML possuem uma dificuldade amais na implementação, já que não são dados tabulares e aceitam listas e outrosobjetos em suas estruturas;

1 A ferramenta está disponível para acesso através da páginahttps://github.com/Leomn138/TabularDatabaseToLinkedDataConverter

Page 56: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

58 Capítulo 5. Considerações finais

2. Adicionar opção na ferramenta para envio do encoding do arquivo a ser lido, casoele não esteja no UTF-8;

3. Adicionar a possibilidade da criação manual de propriedades adicionais, como sub-classes RDFS ou classes de equivalência OWL. Por exemplo, duas classes podem serequivalentes, ou seja, podem possuir exatamente a mesma extensão de classe. Estaconstrução pode ser usada para criar classes sinônimas e para ligar duas classes namesma ontologia ou em ontologias diferentes;

4. Apesar de a ferramenta rodar em um tempo satisfatório, é possível otimizar algunsprocessos internos para torná-la mais rápida.

Page 57: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

59

Referências

ALLEMANG, D.; HENDLER, J. Semantic web for the working ontologist. MorganKaufmann, 2008. Citado na página 34.

ANTONIOUS, G.; HARMELEN, F. van. A semantic web primer. MIT Press, 2008.Citado na página 29.

AUER, S. et al. Triplify: Light-weighted linked data publication from relational databases.Proceeedings Of the 18th International Conference on World Wide Web, 2009. Citado napágina 37.

BATISTA, C. M.; FREIRE, F. R. Pesquisa de Avaliação de Portal da Transparência doGoverno Federal. 2014. 3–44 p. Disponível em: <http://www.portaldatransparencia.gov.br/sobre/Boletim/Especial_Pesquisa-de-Avaliacao2014.pdf>. Citado 3 vezes nas páginas26, 27 e 28.

BERNERS-LEE, T. What the Semantic Web can represent. 1998. Citado na página 33.

BERNERS-LEE, T.; HEATH, T.; BIZER, C. Linked data: The story so far.Massachussetts Institute of Technology, 2011. Disponível em: <http://tomheath.com/papers/bizer-heath-berners-lee-ijswis-linked-data.pdf>. Citado 2 vezes nas páginas 35e 36.

BERNERS-LEE, T.; HENDLER, J.; LASSILA, O. The semantic web: A new form of webcontent that is meaningful to computers will unleash a revolution of new possibilities.Scientific American, 2001. Citado 2 vezes nas páginas 30 e 35.

BITTENCOURT., I. I. Research directions on semantic web and education. Scientia,v. 19, p. 1–9, 2008. Citado na página 15.

BIZER, C.; SEABORN, A. D2rq-treating non-rdf databases as virtual rdf graphs. 2004.Citado na página 37.

BREITMAN, K. et al. Open government data in brazil. Pontifícia Universidade Católicado Rio de Janeiro, 2011. Citado na página 16.

BRICKLEY, D.; GUHA, R.; MCBRIDE, B. RDF Schema 1.1. World Wide WebConsortium, 2014. Disponível em: <https://www.w3.org/TR/rdf-schema/>. Citado napágina 32.

CHIGNARD, S. Brief History of Open Data. ParisTech Review, 2013. Disponível em:<http://www.paristechreview.com/2013/03/29/brief-history-open-data>. Citado napágina 19.

Committee on Oversight and Government Reform. Transparency and FederalManagement IT Systems. U.S. Government Printing Office., 2011. Disponível em: <https://www.gpo.gov/fdsys/pkg/CHRG-112hhrg71984/pdf/CHRG-112hhrg71984.pdf>. Citadona página 20.

Page 58: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

60 Referências

CYGANIAK, R. et al. D2RQ: Accessing Relational Databases as Virtual RDF Graphs.2017. Disponível em: <http://d2rq.org>. Citado na página 40.

CYGANIAK, R. et al. RDF 1.1 Concepts and Abstract Syntax. World Wide WebConsortium, 2017. Disponível em: <https://www.w3.org/TR/rdf11-concepts/>. Citadona página 31.

ELMASRI, R.; NAVATHE, S. Sistemas de Banco de Dados. [S.l.]: Pearson, 2010. Citado2 vezes nas páginas 44 e 45.

ERLING, O.; MIKHAILOV, I. Rdf support in the virtuoso dbms. Networked Knowledge -Networked Media, 2009. Citado na página 37.

Governo Federal. Acesso à Informação. Governo Federal, 2017. Disponível em:<http://www.acessoainformacao.gov.br>. Citado na página 24.

Governo Federal. Governo Eletrônico. Governo Federal, 2017. Disponível em:<https://www.governoeletronico.gov.br>. Citado na página 25.

GRUBER, T. What is an Ontology? 1995. Disponível em: <http://www-ksl.stanford.edu/kst/what-is-an-ontology.html>. Citado 2 vezes nas páginas 34 e 35.

HEATH, T. Linked Data - Connect Distributed Data across the Web. 2016. Disponível em:<http://linkeddata.org/>. Citado 2 vezes nas páginas 36 e 37.

ISOTANI, S. Estado da arte em web semântica e web 2.0: Potencialidades e tendências danova geração de ambientes de ensino na internet. Revista Brasileira de Informática naEducação, v. 17, p. 30–42, 2009. Citado na página 15.

ISOTANI, S.; BITTENCOURT, I. I. Dados Abertos Conectados: Em Busca da Web doConhecimento. [S.l.]: Núcleo de Informação e Coordenação do Ponto Br – NIC.br, 2015.Citado 2 vezes nas páginas 15 e 30.

JACOBS, I.; WALSH, N. Architecture of the world wide web, volume one - w3crecommendation. World Wide Web Consortium, 2004. Citado na página 36.

KNOBLOCK, C. et al. Web Karma. University of Southern California, 2017. Disponívelem: <http://usc-isi-i2.github.io/karma/>. Citado na página 38.

LIMA, J. C. de; CARVALHO, C. de. Uma visão da web semântica. Universidade Federalde Goiás, 2004. Citado na página 29.

LóSCIO, F.; FARIAS, B.; FILHO, W. Web semântica: Conceitos e tecnologias. FundaçãoShunji Nishimura de Tecnologia, 2015. Citado na página 34.

MALAMUD, C.; O’REILLY., T. Open Government Data Principles. Public.Resource.Org,2007. Disponível em: <https://public.resource.org/open_government_meeting.html>.Citado na página 20.

Ministry Of Law And Justice. Right to Information Act. MINISTRY OF LAW ANDJUSTICE, 2005. Disponível em: <http://rti.gov.in/webactrti.htm>. Citado na página19.

Page 59: UTILIZANDO LINKED DATA PARA PUBLICAÇÃO E CRUZAMENTO … Final - Leonardo... · Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação

Referências 61

MORALES, L. G. et al. A world that counts: Mobilising the data revolution forsustainable development. Independent Expert Advisory Group Secretariat, 2014.Disponível em: <http://www.undatarevolution.org/wp-content/uploads/2014/12/A-World-That-Counts2.pdf>. Citado 2 vezes nas páginas 15 e 23.

OBAMA, B. et al. Memorandum for Heads of Departments and Agencies. White House.,2009. Disponível em: <https://www.whitehouse.gov/sites/default/files/omb/assets/memoranda_fy2009/m09-12.pdf>. Citado na página 20.

Open Government Partnership. Open Government Declaration. Open GovernmentPartnership, 2011. Disponível em: <http://www.opengovpartnership.org>. Citado napágina 22.

Open Knowledge Foundation. Open Definition. Open Knowledge Foundation, 2015.Disponível em: <http://opendefinition.org/od/2.1/en>. Citado 2 vezes nas páginas 15e 19.

Open Knowledge Foundation TITLE=Ckan Documentation, p. . O. u. h. y. . . Citado napágina 39.

Presidência da República. LEI No 12.527, DE 18 DE NOVEMBRO DE 2011.Presidência da República, 2011. Disponível em: <http://www.planalto.gov.br/ccivil_03/_ato2011-2014/2011/lei/l12527.htm>. Citado na página 16.

SALAS, P.; CASANOVA, M.; VITERBO, J. Stdtrip: Promoting the reuse of standardvocabularies in open government data. Pontifícia Universidade Católica do Rio de Janeiro,2011. Citado 2 vezes nas páginas 16 e 38.

SMITH, M. K.; WELTY, C.; MCGUINNESS, D. L. Ontology Web Language Guide.2004. Disponível em: <https://www.w3.org/TR/2004/REC-owl-guide-20040210/#Introduction>. Citado na página 35.

UBALDI, B. Open Government Data Towards Empirical Analysis of Open GovernmentData Initiatives. [S.l.]: OECD, 2013. Citado na página 23.