Skip to content
John Curcio edited this page Oct 15, 2018 · 16 revisions

O objetivo do ETL4LOD é fornecer uma framework amigável ao usuário que permita a manutenção da etapa de publicação do ciclo de vida de dados do tipo LOD.

A figura 1 apresenta as principais etapas envolvidas nesse ciclo de vida:

Ciclo de publicação LOD

Para garantir uma interface que seja amigável ao usuário e tirar proveito de funcionalidades já existentes, o ETL4LOD foi criado como uma extensão ao Pentaho Data Integration, também conhecido como Kettle.

Uma extensão do Kettle é um conjunto de plugins, ou steps, desenvolvidos em Java que são integrados a ferramenta e podem ser usados em conjunto com os outros steps já existentes. Portanto, o ELT4LOD é um conjunto de plugins voltados especificamente para o trabalho com Linked Data.

A mecânica drag&drop contida no Kettle garante uma ótima usabilidade para o usuário final, que precisa apenas selecionar entre uma lista de opções que se aplicam ao processo sendo criado, e arrastá-la para a área de trabalho do Kettle para uso. Já a existência de steps feitos especificamente para processos de ETL no Kettle permite que o processo de publicação do ciclo de vida de dados ligados seja feito todo dentro do Kettle.

Em sua versão inicial, o ETL4LOD foi criado para trabalhar com a versão 4.1 do Kettle. O objetivo deste trabalho é dualmente atualizar o ETL4LOD e suas dependências para trabalhar na versão mais recente do Kettle, e melhorar a usabilidade e funcionalidades já existentes na ferramenta.

Mais informações sobre o que foi atualizado podem ser encontradas em changelog.

Ciclo de Vida de LOD

O ciclo de vida para publicação de dados do tipo LOD na web é dividido em três etapas: pré-processamento, triplificação e ligação. Os steps criados para o ETL4LOD se encaixam em sua maioria na etapa de triplificação, enquanto que os steps já existentes no Kettle são usados na etapa de pré-processamento. Atualmente a única etapa sendo feita fora do Kettle é a ligação.

Pré-processamento

A etapa de pré-processamento é a que envolve o trabalho sobre um dado bruto, geralmente um arquivo csv ou excel, visando tirar as inconsistências desses dados e prepará-los para o processo de triplificação.

O pré-processamento de dados no Kettle pode ser subdivido em duas etapas: entrada de dados e trabalho sobre os dados. Abaixo segue uma lista de steps usados em cada uma dessas etapas.

Entrada de dados

A entrada de dados envolve steps que sejam usados para carregar os dados necessários para o Kettle, estejam eles em arquivos de texto, xml, csv ou em um banco de dados. Os steps mais usados para o trabalho com dados interligados são:

Step Descrição
Leitura de arquivos de quaisquer arquivos de texto
Leitura de arquivos de texto separados por vírgula
Leitura de uma tabela num banco de dados
Leitura de um arquivo xls ou xlst
Leitura de um arquivo json ou json-ld
Leitura de arquivos xml, incluindo owl ou rdf

Os steps de entrada de dados geralmente possuem um step correspondente para a saída de dados que permite salvar os dados naquele formato. Como o processo de triplificação geralmente envolve salvar os dados num endpoint sparql ou em rdf não falaremos sobre todos esses steps de saída.

Trabalho sobre os dados

Nesta categoria entram os plugins mais usados para remover inconsistências de dados, separar o fluxo dos dados

Triplificação

Plugin Manual Descrição
link Mapeia triplas RDF, onde o objeto é um valor literal
link Mapeia triplas RDF, onde o objeto de saída é uma URI
link Converte sentenças RDF em NTriple
link Carrega triplas RDF em um banco de triplas como o Vituoso
link Extrai dados de um SPARQL Endpoint
link Executa uma query SPARQL
link Anota uma tripla com termos de vocabulários e ontologias
link Gerencia e busca ontologias e vocabulários
link Permite trabalhar com o vocabulário DataCube
link Converte arquivos .csv para .rdf em turtle