ETL₄LOD+
Last updated
Last updated
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:
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
xmlpull 1.1.3.1 adicionado como dependência dos projetos que usam xstream 1.4.10
jena-shaded-guava e jena-base adicionados como dependências dos projetos que agora usam jena 3
javadocs
adicionado plugins R2RMLtoRDF, OAI Input
i18n removida dos plugins dando preferência ao uso de pt-BR
removida compatibilidade dos plugins com arquivos criados na versão 1.0 do ELT4LOD
removida versão dos plugins DataPropertyMapping e ObjectPropertyMapping
xstream 1.3.1 atualizado para 1.4.10
kettle atualizado de 4.0 para 9.0.0.0-SNAPSHOT
any23 1.0 atualizado para versão 2.2
apache httpclient 4.1.1 atualizado para versão 4.5.6
apache httpcore 4.1 atualizado para versão 4.4.10
jena 2.6 atualizado para versão 3.8.0
KettlePluginTools.jar maveninzado
OAI: https://escholarship.org/oai
Mude a variável pdi.home
no pom.xml
do projeto pai e rode o comando mvn install
no projeto pai. Isso deveria ser o suficiente para gerar todos os plugins e colocá-los na pasta correta na sua instalação do kettle.
Nome
Descrição
Versão do Kettle
GraphSparqlEndpoint
Roda uma query sparql num endpoint e recupera um conjunto de triplas que representam um grafo RDF
8.1
GraphSemanticLevelMarker
Lê um grafo RDF, avalia seu nível de expressividade semântica e marca o grafo com esse nível
8.1
GraphTriplify
Lê um grafo RDF e gera suas triplas
8.1
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
Plugin
Manual
Descrição
Mapeia triplas RDF, onde o objeto é um valor literal
Mapeia triplas RDF, onde o objeto de saída é uma URI
Converte sentenças RDF em NTriple
Carrega triplas RDF em um banco de triplas como o Vituoso
Extrai dados de um SPARQL Endpoint
Executa uma query SPARQL
Anota uma tripla com termos de vocabulários e ontologias