Apache Jena

Treinamento Apache Jena

Sobre o Treinamento

O treinamento Apache Jena é voltado para desenvolvedores, arquitetos de dados e profissionais de Banco de Dados e Data Science que precisam modelar, armazenar e consultar dados na forma de grafos utilizando os padrões da Web Semântica. O Apache Jena é um framework Java de código aberto que reúne, em um único ecossistema, motor de triplas RDF, mecanismo de inferência (raciocínio sobre ontologias RDFS/OWL), banco de dados nativo de grafos (TDB) e servidor SPARQL (Fuseki). São abordados conhecimentos de arquitetura e fundamentos de grafos de conhecimento (knowledge graphs), da linguagem RDF e da linguagem de consulta SPARQL, até a construção de aplicações Java completas capazes de armazenar, consultar, raciocinar e publicar dados interligados (Linked Data). Entender os principais conceitos do modelo RDF, dominar a escrita de consultas SPARQL, saber configurar e operar um triple store em produção com TDB2, publicar endpoints SPARQL com Fuseki, e integrar o Apache Jena com ferramentas de metadados e governança do ecossistema de dados da empresa, como Apache Atlas e OpenMetadata. Ser capaz de construir aplicações que utilizam grafos de conhecimento para catálogos de dados, integração semântica entre sistemas heterogêneos e mecanismos de busca inteligente.

Turmas

Somente no modelo corporativo no momento.

Dificuldade:
 Intermediário/Avançado.

Aplicabilidade.

Este treinamento foi desenvolvido usando o Apache Jena 6.1 (Fuseki e TDB2) e a especificação SPARQL 1.1. e foi modificado pela última vez em 5 de Julho de 2026.

Conteúdo Programático

Conceitual Web Semântica e Grafos de Conhecimento

  • O que é a Web Semântica.
  • Dados interligados (Linked Data) X dados isolados (silos).
  • Modelo de dados em grafo X modelo relacional X modelo documento.
  • O que é uma tripla RDF (sujeito, predicado, objeto).
  • Vocabulários e Ontologias (RDFS e OWL).
  • URIs, IRIs e Namespaces.
  • Padrões do W3C: RDF, RDFS, OWL, SPARQL, SHACL.
  • Knowledge Graphs no mercado (Google, empresas de dados, governo).
  • Casos de uso: catálogo de dados, integração de sistemas, busca semântica, dados abertos governamentais.
  • Apache Jena X outras soluções de grafo (Neo4j, GraphDB, RDF4J).

Introdução ao Apache Jena

  • Histórico e arquitetura do projeto.
  • Módulos do ecossistema Jena.
  • Core (RDF API).
  • ARQ (SPARQL engine).
  • TDB/TDB2 (triple store).
  • Fuseki (servidor).
  • Ontology API, Inference API.
  • Jena X Frameworks Java tradicionais (JPA, Hibernate)
  • Estrutura de um projeto Java com Jena.

Instalação e Configuração do Ambiente

  • Preparando o Sistema Operacional (Linux) para o Apache Jena.
  • Instalando e configurando o Java Development Kit.
  • Configurando variáveis de ambiente (JAVA_HOME, JENA_HOME, FUSEKI_HOME).
  • Instalando o Apache Maven.
  • Configurando o pom.xml com as dependências do Jena.
  • Download e instalação do Apache Jena standalone (Jena Command Line Tools).
  • Download, instalação e configuração do Apache Fuseki como serviço standalone.
  • Subindo o Fuseki como serviço via systemd (start, stop, restart, status, logs).
  • Instalação via container Docker.
  • Criando a estrutura de diretórios de um dataset TDB2.
  • Validando a instalação: primeiro dataset, primeira tripla, primeira consulta SPARQL via linha de comando (riot, sparql, tdb2.tdbquery).
  • Troubleshooting comum: portas em uso, permissões de diretório, incompatibilidade de versão de JDK, memória de heap da JVM.

Modelagem e Manipulação de RDF

  • Criando um Model RDF em Java.
  • Adicionando, removendo e consultando Statements (triplas).
  • Trabalhando com Recursos, Propriedades e Literais.
  • Serialização: Turtle, RDF/XML, JSON-LD, N-Triples.
  • Convertendo dados relacionais e planilhas para RDF.
  • Bags, Containers e Coleções RDF.
  • Reificação de triplas.
  • Boas práticas de modelagem de vocabulários próprios.

Ontologias com RDFS e OWL

  • Classes, subclasses e hierarquias.
  • Propriedades de objeto e propriedades de dado.
  • Domínio e alcance (domain e range).
  • Introdução ao OWL: cardinalidade, propriedades inversas, equivalência.
  • Motores de inferência (Reasoners) do Jena.
  • Inferência RDFS X OWL - trade-offs de performance.
  • Validação de dados com SHACL.

Linguagem de Consulta SPARQL

  • Anatomia de uma consulta SPARQL: SELECT, WHERE, FILTER.
  • Padrões de grafo (Graph Patterns) e Triple Patterns.
  • OPTIONAL, UNION, FILTER e expressões.
  • Agregações: COUNT, GROUP BY, HAVING.
  • CONSTRUCT, ASK e DESCRIBE.
  • Atualizações com SPARQL Update (INSERT, DELETE).
  • Federando consultas entre múltiplos endpoints (SERVICE).
  • Consultas via ARQ na linha de comando e via API Java.

TDB2 - Banco de Dados Nativo de Grafos

  • Arquitetura de armazenamento do TDB2.
  • Criando e populando um dataset TDB2.
  • Carga em lote (bulk loading) de grandes volumes de triplas.
  • Transações e concorrência no TDB2.
  • Backup, restore e manutenção do dataset.
  • Monitoramento e tunning de performance.
  • TDB2 X bancos relacionais e NoSQL.

Fuseki - Publicando Endpoints SPARQL

  • Instalando e configurando o Apache Fuseki.
  • Subindo um endpoint SPARQL para consumo externo.
  • Segurança: autenticação e controle de acesso no Fuseki.
  • Interface administrativa do Fuseki.
  • Fuseki em produção: systemd, containers e alta disponibilidade.
  • Publicando dados como Linked Open Data.

Integração e Desenvolvimento.

  • Consumindo um endpoint SPARQL a partir de uma aplicação Java.
  • Integração do Jena com pipelines de dados (ETL para RDF).
  • Jena e o ecossistema de metadados: relação com Apache Atlas e OpenMetadata.
  • Publicando dados de um Banco de Dados relacional como grafo RDF.
  • Geo SPARQL - dados geoespaciais em grafos.
  • Boas práticas de projeto e organização de código.
  • Skosmos e o padrão SKOS.
  • Apache Jena Fuseki como backend de dados do Skosmos.

Carga Horária:

  • 32 Horas.

Modalidades do treinamento

Presencial

Abrimos turmas onde se pode inscrever. Atuamos na maioria das capitais brasileiras.

On Line Ao Vivo

Fazemos a transmissão online do treinamento ao vivo e em tempo real.

In Company

Turmas fechadas para empresas a custo único para até 15 alunos.

Pré-requisitos dos Participantes:

  • Conhecimento em Programação Java ou alguma linguagem com Orientação a Objetos.
  • Conhecimento de Banco de Dados e SQL.
  • Noções de modelagem de dados.
  • Conhecimento Básico de Linux.
  • Todos os participantes devem trazer um notebook para realizar as atividades práticas.
  • O Computador deve estar com acesso de administrador para possibilitar instalações de aplicativos e acesso a Internet.
  • Para turmas In-Company não trabalhamos com limite de participantes para os treinamentos, orientamos que as turmas sejam de até 12 alunos para um melhor desempenho.

Requisitos mínimos de hardware:

  • Memória RAM : 8 GB.
  • Espaço em Disco: 20GB.
  • Processador: Dual-core AMD 64, EM64T
  • deve estar ativo a Virtualização na BIOS do equipamento.
  • Sistemas Operacionais:Qualquer um com suporte e Virtualização com VirtualBox.
  • Oracle VM VirtualBox ( https://www.virtualbox.org/).

Material

Serão disponibilizados os seguintes materiais aos alunos do treinamento:

  • Todos os softwares Apache Jena, Fuseki e acessórios na sua última versão estável.
  • Material próprio em Português do Brasil.
  • Apresentações (slides do treinamento) desenvolvidas pela equipe Ambiente Livre.
  • Apostilas digitais dos softwares desenvolvidas pela Ambiente Livre.
  • Apostilas com exercícios práticos desenvolvidos no treinamento.
  • Materiais e documentações complementares desenvolvido pela Comunidade Open Source Mundial.

Metodologia

  • Todos os dias serão apresentados novos recursos e conceitos e avaliados através de exercícios práticos em todas as aulas

Inscrições, Informações e Valores




Instrutor

Marcio Junior Vieira

 
  • 27 anos de experiência em TI, vivência em desenvolvimento e análise de sistemas de gestão empresarial e ciência de dados.
  • CEO da Ambiente Livre atuando como Cientista de Dados, Engenheiro de Dados e Arquiteto de Software.
  • Atuou como Professor dos MBAs em Big Data & Data Science, Inteligência Artificial e Business Intelligence da Universidade Positivo e do MBA Artificial Intelligence e Machine Learning da FIAP.
  • Atuou como Pesquisador pelo UFG/CIAP (Centro de Colaboração Interinstitucional de Inteligência Artificial Aplicada às Políticas Públicas) e no grupo Latitude (Laboratório de Tecnologias da Tomada de Decisão) da UNB.
  • Trabalhando com Free Software e Open Source desde 2000 com serviços de consultoria e treinamento.
  • Graduado em Tecnologia em Informática (2004) e pós-graduado em Software Livre (2005) ambos pela UFPR.
  • Palestrante FLOSS em: The Developers Conference (TDC), FISL, Latinoware, Campus Party, Pentaho Day, Ticnova, PGConf Brasil e FTSL.
  • Organizador Geral: Pentaho Day 2017, 2015, 2019 e apoio nas edições de 2013 e 2014.
  • Data Scientist, instrutor e consultor de Big Data e Data Science com tecnologias abertas.
  • Ajudou a capacitar equipes de Big Data na IBM, Accenture, Tivit, Serpro, Natura, MP, Netshoes, Embraer entre outras.
  • Especialista em implantação e customização de Big Data com Hadoop, Spark, Pentaho, Cassandra e Kafka.
  • Contribuidor de projetos Open Source ou Free Software internacionais, tais como Pentaho, LimeSurvey, SuiteCRM, Camunda, Operaton e Apache Hop.
  • Especialista em implantação e customização de ECM com Alfresco e BPM com Activiti, Flowable, Camunda e Operaton.
  • Certificado (Certified Pentaho Solutions) pela Hitachi Vantara (Pentaho inc).

Log in