-
Notifications
You must be signed in to change notification settings - Fork 2
Home
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:
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.
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.
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.
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.
Nesta categoria entram os plugins mais usados para remover inconsistências de dados, separar o fluxo dos dados
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 |