Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa Ferramentas e Repositórios RDF Ana Carolina Almeida.

Slides:



Advertisements
Apresentações semelhantes
BANCO DE DADOS I Prof. Ricardo Santos.
Advertisements

Ana Paula B. Barboza Ivana Xavier Rodrigues
Banco de Dados Prof. Antonio.
Banco de Dados I Aula 20.
UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS
Resumo 1.1) Introdução 1.2) Abordagem Convencional de Arquivos
Java Conexão com Banco de Dados
Maurício Edgar Stivanello
SGBD.
Sistema Gerenciador de Banco de Dados SGBD
Sistema Gerenciador de Banco de Dados SGBD
Desenvolvimento Baseado em CGI Material cedido pelo Prof
Aplicação de XML Web Semântica Tópicos Avançados em Bancos de Dados II
Material III-Bimestre Wagner Santos C. de Jesus
MySQL Gerdson de Araújo Silva Universidade Federal de Alagoas Maceió-AL, 21 de maio de 2009.
Alertas de Segurança e Vigilância
EL e JSTL Prof. Danton Cavalcanti Franco Junior
Mapeamento de Objetos para Tabelas Relacionais
Administração de Sistemas de Informação Banco de Dados
Acesso a Base de Dados JDBC Trabalho Realizado por:
Banco de Dados Aplicado ao Desenvolvimento de Software
SEDNA SGBD XML NATIVO.
XIV Jornada de Cursos .NET com C# Antônio Carlos Bruno Inojosa.
Selenium Componentes: Fábio Gomes Claver Pari Eni Conde
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Web Services Uninorte Semana de Tecnologia da Informação
PETER ANTONY RAUSCH JOYCE MARTINS
Design Patterns / Acesso ao banco de dados (java.sql)
JSP / Servlets Avançado
Prof. Kelly E. Medeiros Bacharel em Sistemas de Informação
VITAL 26 de Abril Visionary Technology in Library Solutions V TLS I maging T echnology for A dvanced L earning Tecnologia de Imagens da VTLS para.
Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 07.
Conceitos de J2EE para a WEB
XIII Jornada de Cursos .NET com C# Lucas Mello Flávio Almeida.
Vânia Maria P. Vidal, José Maria Monteiro, Luís Eufrasio T. Neto
FaculdadePitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Sistemas Gerenciadores de Banco de Dados Prof.: Fernando Hadad Zaidan.
Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.
Programação Orientada à Objetos
Contexto da disciplina
A abordagem de banco de dados para gerenciamento de dados
Configuração do Ambiente de programação
Banco de Dados Aplicado ao Desenvolvimento de Software
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
Inteligência Artificial Web Semântica
Programação para Web Unidade 06 – Java Beans e BDs Prof.: Henrique Santos.
Projeto de Sistemas de Informação Prof. Schneider Oracle Object-Relational.
Unidade 1 – Introdução a J2EE Prof.: Henrique Santos
SQLite Banco de Dados II.
Mestrado em Engenharia de Computação área de concentração Geomática
Banco de Dados I I Comandos SQL
DBSync4J Uma Ferramenta para Apoio na Sincronização entre Bases de Dados de Desenvolvimento e Produção Autores: Ana Carolina Ferreira Lins Rafael Fernandes.
ZK RIA com ZK Framework.
PHP vs java Pontos fortes e fracos;
Objetos em Bancos de Dados Relacionais Alcides Calsavara.
Inteligência Artificial Web Semântica
DBSync4J Uma Ferramenta para Apoio na Sincronização entre Bases de Dados de Desenvolvimento e Produção Autores: Ana Carolina Ferreira Lins Rafael Fernandes.
Daniel Paulo Introdução Neste capítulo trataremos a relação entre tabelas e FILEGROUPS, bem como a alocação interna de dados.
Daniel Paulo SQL Server 2014 Módulo II Daniel Paulo
UCSal – Bacharelado em Informática
Acessando banco de dados com JAVA.  Linguagem independente de plataforma; ◦ “Write once, run anywhere” ◦ JVM  Java Virtual Machine  Mecanismo que permite.
Bancos de Dados Sistema de Banco de dados – sistema de manutenção de registros por computador. É considerado como uma sala.
Banco de Dados Distribuídos Sílvia Cristina de Matos Soares
Desenvolvimento WEB II Ajax – Utilização de Frameworks Javascript Professora: Kelly de Paula Cunha.
Acesso a Banco de Dados com o JDBC Prof. M.Sc. Ronnison Reges Vidal.
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 1 Tópicos  Introdução  Um exemplo  Características da abordagem de banco de dados  Vantagens.
Programação para Internet Aula 11 SQL (Introdução a linguagem, comandos de modificação: Create, Drop, Alter, Insert, Delete, Update)
Persistência de dados e padrão DAO Padrões de Projeto Orientado a Objetos Profa. Danielle Martin/Mauricio Universidade de Mogi das Cruzes.
Rhizome. Roteiro Definição Metas Características Arquitetura Tecnologias envolvidas Referências.
Modelagem de Banco de Dados: Conceitos
Transcrição da apresentação:

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa Ferramentas e Repositórios RDF Ana Carolina Almeida Carlos Juliano Viana Capa

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa FerramentasFerramentas  Triplify Agile Knowledge and Semantic Web research group (AKSW) Versão 4 beta (2008)  D2RServer Versão 0.4 alpha (2007)  Openlink Virtuoso Openlink Software Versão (2008)

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação CapaConceito Um plugin para aplicações web que disponibiliza os dados de BD’s relacionais em RDF, JSON ou Linked Data. Consiste de poucos arquivos: menos do que 500 linhas de código (PHP); Uso de arquivo de configuração (Construído em menos de uma hora). Triplify

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação CapaProblema Estrutura e a semântica dos dados em esquemas de BD’s relacionais não estão facilmente acessíveis a máquinas de busca. Triplify

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação CapaProblema 15 mais populares aplicações na web no Sourceforge (Maio 2007). Riqueza de informações quando os dados das aplicações estiverem disponíveis na web! Triplify

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação CapaObjetivo Explorar as representações estruturais dos dados por trás das aplicações web para criar uma massa crítica de representação de informação semântica na web. Triplify

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação CapaSolução Definir consultas a BD’s relacionais da aplicação web específica: –Resultados das consultas -> RDF, JSON e Linked Data. Triplify

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa Estrutura de Consultas Para maioria de aplicações web: 3 a 7 consultas para extrair informações importantes (Com base em Experiência). Pode-se prover um número arbitrário de consultas. Consultas devem selecionar informações sobre um objeto de um certo tipo e possuir uma determinada estrutura: 1.Primeira coluna deve conter identificadores para serem utilizados para gerar URI’s das instâncias. (chave primária da tabela). 2.Nomes das colunas para gerar as propriedades, renomeando as colunas da tabela: SELECT id, name AS ‘foaf:name’ FROM users. Pode-se utilizar propriedades de vocabulários existentes. Triplify

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa Estrutura de Consultas 3. Resultados das consultas devem restornar valores literais ou referências para outras instâncias. Resultados constituem-se na propriedade Object das triplas RDF. Triplify

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa Arquivo de Configuração Software de gerenciamento de conferência - OpenConf: // Referencia para onde está o código do Triplify. require_once("../include.php"); require_once("../db.php"); $triplify['namespaces']=array( 'vocabulary'=>' 'foaf'=>' 'dc'=>' 'xsd'=>' ); $triplify['db']=new PDO('mysql:host='.OCC_DB_HOST.';dbname='.OCC_DB_ NAME, OCC_DB_USER, OCC_DB_PASSWORD); $triplify['objectProperties'] = array ( 'isAuthorOf'=>'paper', 'isPCmemberOf'=>'', 'hasTopic'=>'topic' ); Triplify

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa Arquivo de Configuração $triplify['queries'] = array ( 'paper'=>array ( "SELECT paperid id, title, keywords, abstract FROM ".OCC_TABLE_PAPER." WHERE accepted='T'", "SELECT paperid id,topicid hasTopic FROM ".OCC_TABLE_PAPERTOPIC.“ INNER JOIN ".OCC_TABLE_PAPER." USING(paperid) WHERE accepted='T'" ), 'author‘ => "SELECT CONCAT (paperid,'-',position) id, SHA(CONCAT('mailto:', )) mbox_sha1sum, paperid isAuthorOf, name_first `foaf:firstName`, name_last `foaf:family_name`, organization,country FROM ".OCC_TABLE_AUTHOR." INNER JOIN ".OCC_TABLE_P APER." USING(paperid) WHERE accepted='T'", 'topic'=>"SELECT topicid id, topicname, short FROM ".OCC_TABLE_T OPIC, ); OBS: Triplify tenta detectar e converter automaticamente os tipos. Triplify

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa Integrar Triplify em Apps. Web 1.Acrescentar o diretório do Triplify a raiz da aplicação; 2.Definir consultas SQL e ajustar o arquivo de configuração; 3.Possibilitar o acesso direto a base de dados relacional por: 1.Objeto PDO; 2.Driver de conexão Mysql; 3.Utilizar um outro framework para abstração de base de dados; Exemplos de integrações: Simile Potluck;Simile Potluck Yahoo! Pipes ; etc.Yahoo! Pipes Triplify

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação CapaConceito Publicar dados de BD relacionais para a web semântica (on-the-fly); Dados mapeados para triplas RDF; Linguagem de mapeamento D2RQ: –Identificar os recursos; –Propriedades para descrever os recursos; Servidor web embutido; Visualização em RDF ou HTML; Consultas: linguagem SPARQL. D2R Server

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação CapaArquitetura D2R Server

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação CapaMapeamento Automático e customizável: –generate-mapping -> Cria um arquivo de mapeamento default analisando o esquema do BD. Tabela -> Classes; Colunas -> Propriedades; –Customizar os termos gerados: utilizar vocabulários conhecidos: rdf, rdfs, xsd, foaf, dc, owl, bio, etc. Compatibilidade: –Oracle, MySQL, PostgresSQL, fontes de dados ODBC (sem geração automática). D2R Server

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação CapaMapeamento # Namespace do arquivo de map:. # foaf:. # Configuração do servidor e do banco <> a d2r:Server; rdfs:label "D2R Server – Hello World "; d2r:baseURI ; d2r:port 2020;. map:Database1 a d2rq:Database; d2rq:jdbcDSN "jdbc:mysql://localhost/helloworld"; d2rq:jdbcDriver "com.mysql.jdbc.Driver"; d2rq:username "root"; d2rq:password "password";. D2R Server

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação CapaMapeamento # CREATE TABLE Conferences (ConfID int, Name text, Location text); map:Conference a d2rq:ClassMap; d2rq:dataStorage map:Database1. d2rq:class :Conference; d2rq:uriPattern map:eventTitle a d2rq:PropertyBridge; d2rq:belongsToClassMap map:Conference; d2rq:property :eventTitle; d2rq:column "Conferences.Name"; d2rq:datatype xsd:string;. map:location a d2rq:PropertyBridge; d2rq:belongsToClassMap map:Conference; d2rq:property :location; d2rq:column "Conferences.Location"; d2rq:datatype xsd:string;. D2R Server

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação CapaMapeamento # Relacionamentos # Tabelas: Paper (PaperID int, PaperName text); Topics (TopicID int, TopidName text) # Rel_Paper_Topic (PaperID, TopicID, RelationType); # 1 para tópico primário no paper e 2 para tópico secundário. map:primaryTopic a d2rq:PropertyBridge; d2rq:belongsToClassMap map:Paper; d2rq:property :primaryTopic; d2rq:refersToClassMap map:Topic; d2rq:join "Paper.PaperID = Rel_Paper_Topic.PaperID"; d2rq:join "Rel_Paper_Topic.TopicID = Topic.TopicID"; d2rq:condition "Rel_Paper_Topic.RelationType = 1". D2R Server

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa Mapeamento (Estrutura) D2R Server

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa Exemplo de Resultado D2R Server

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 21 Comparação  SPARQL -> SQL Consulta RDF – BD virtual Conceito

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa Repositórios Repositórios  Virtuoso Openlink Software Versão (2008)  Boca  IBM Adtech group (Cambridge)  Versão 2.4 (2007)  Java  Mulgara  Northrop Grumman  Versão (2008)  Java

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação CapaConceito Framework open source em Java para armazenar e consultar RDF e RDF Schema. Utilizado como: –BD’s para RDF e RDF Schema; ou –Biblioteca Java: Aplicações com RDF internamente. Provê ferramentas necessárias para parsear, interpretar, consultar e armazenar as informações na aplicação. Sesame

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação CapaConceito O framework é independente de um dispositivo de armazenamento em específico: –BD’s relacionais; –Estrutura de dados em memória (Objetos Java em memória); –Indexadores de palavras chaves; –Repositórios de triplas Disponibiliza conjunto de ferramentas para auxiliar desenvolvedores: –Flexível API de acesso que suporta acesso local e remoto (Através de HTTP ou RMI) –Linguagens de consultas: SPARQL e SeRQL; Sesame

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa Sesame como Biblioteca Constitui-se dos seguintes arquivos: sesame.jar: Classes centrais (core); rio.jar: Parsers e “escritores” para diferentes formatos: RDF/XML, Turtle, N-triples; openrdf-model.jar: conjunto de interfaces e classes para o modelo RDF. openrdf-util.jar: conjunto de classes úteis. Sesame

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa Sesame como Servidor Pode ser utilizado como um servidor: aplicações clientes ou usuários humanos podem se comunicar via protocolo HTTP; Sesame

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação CapaArquitetura Sesame SAIL – Camada de armazenamento e inferência: API que abstrai o formato de armazenamento utilizado: (DBMS, dados em memória, ou em arquivos.). Módulos Funcionais: Consultas; SeRQL e RQL; Exportação: Exportar dados em RDF/XML, N-Triplas, etc. Administração: Inserir RDF e RDF Schema no repositório

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação CapaArquitetura 28 Sesame  Sesame Access API: Sesame Repository API: Acesso de alto-nível aos repositório Sesame: Consulta; Armazenamento arquivos RDF; Extração de RDF; Graph API: Suporte mais específico (fine-grained) para manipulação de RDF: Acrescentar ou remover sentenças ao arquivo RDF.

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação CapaArquitetura 29 Sesame  Sesame Access API: Provê acesso direto ao módulo funcional para: Programa Cliente: Ex. Aplicação desktop: utiliza Sesame como uma biblioteca. Componente Servidor Sesame: provê acesso HTTP as API’s do Sesame.

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa Outras Características 30 Sesame  Suporte a DBMS: PostgreSQL; MySQL; Microsoft SQL Server; e Oracle.  Desempenho e Escalabilidade: Em Memória: O (10^7) triplas; RDBMS e Mulgara: O(10^8) triplas. Melhorar a escabilidade em 2008: O(10^9).  Versão: 2.2 (Setembro 2008);  Plataformas: Windows; Linux; MAC OS X.

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa  RDF – multi-usuário  Windows & Linux  Construção, Consulta e atualização  DB2 Express C / Apache Derby Boca Configuration  Pré-requisitos (Conhecimento) Jena APIs SPARQL  Testes MySQL PostgreSQL 31 Boca O repositório

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa  Pré-requisitos JDK 5 (IBM/SUN) DB2 9.1  Instalação Baixar/Descompactar Configurar caminho bibliotecas DB2 Script check-dependencies  Eclipse 32 Boca Instalação

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa Funcionalidades  Construção de RDF Grafos nomeados Replicação Segurança Histórico de revisão Notificação  Avançados Comandos Pré-condições Versionamento Boca

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa Graph results = datasetService.getModelService(). execQuery( defaultGraphs, ≈ defaultGraphs.add(namedGraphURI); new HashSet (), query, ≈ String query = "SELECT ?s ?p ?o WHERE { ?s ?p ?o }"; " BocaQuery Boca Grafos padrões nomeados (String) Grafos nomeados (String) Texto da Consulta (String) Linguagem de Consulta (String) Grafo

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa Jena X Nativa  Jena String query = "SELECT ?s ?p ?o WHERE { ?s ?p ?o }"; QueryExecutionFactory.create(query, remoteModel);  Nativa execQuery(defaultGraphs, new HashSet (), query, " ARQL"); Boca

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa BocaTextIndexing Objetos literais Lucene Expressão (sujeito, predicado e objeto) Grafo nomeado Timestamp da última atualização execQueryIndex( – String query, int startIndex, int numResult, ResultsFormat format) Exemplo: – Graph results = datasetService.getModelService().execQuer yIndex("text", 0, 10, ResultsFormat.TRIPLE) – Resultado: grafo, sujeito, predicado e objeto Boca

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 37 Mulgara Conceito  Armazenamento e Recuperação de metadados  Segurança  Nível de autenticação e autorização  Linux & Windows & Mac  Mul - "mull", garr - "car", ra - "huh“  Importa/Exporta RDF e N3 (3 expressões RDF)  Identificados por URLs

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 38 Mulgara Ferramentas  Mulgara Viewer Consulta Comandos iTQL Resultados: HTML  Descritores (Descriptors) Folha de estilo XSL Consultas complexas  interface simples

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 39 Mulgara Mulgara Viewer

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 40 Mulgara Descritores  Vantagens Definir interface para cliente Referenciados como URLs  Desvantagem Permite somente parâmetros string

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 41 Mulgara Descritores

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 42 Mulgara Instalação  Pré-requisitos Java 1.5 (Sun)  Instalação Baixar Configurar caminho Java Arquivos executáveis JAR  Eclipse

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 43 Mulgara Demais BDs Mulgara X BD relacional Otimizado para gerência de metadados Não lida com grandes junções Recomenda D2R Map (relacional) Linguagem XML Stylesheet Language Transformations (XSLT)(XSLT)

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 44 Mulgara Comandos iTQL  Básicos alias / select backup / restore comment (#) / help / quit commit / rollback create / drop insert /delete / load execute set (time/autocommit)  Avançados Views Full-Text Models (Lucene) Datatyping Models Nodetyping Models Filesystem Models

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 45 Mulgara Comandos iTQL  Criar novos modelos RDF create model [type]; create ;  Remover modelos drop ;  Consultar modelos  Inserir expressões (Dublin Core) insert 'John Smith' into ;  Apagar expressões delete 'John Smith' from ;  Carregar expressões (RDF/XML e N-Triple)  load into ;

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 46 Mulgara Consultas iTQL Identificadores de Fragmento rmi://mysite.com/server1#model7 Select select $subject $predicate from where $subject $predicate 'Title'; Alias (Default) alias as mulgara;

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 47 Mulgara Resolvedores  Aceitam e processam as consultas  Composto por 3 camadas: Resolvedor API Resolvedor SPI (service provider interface) Conteúdo SPI  Interno X Externo

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 48 Mulgara Mulgara Rules Engine (Krule)  Conjunto de regras e/ou axiomas pré- definidas  Inferências-novas expressões RDF-fatos  OWL (same as; cardinality)  Ontologias (SOFA)  Extensível (novas regras)  Sem restrições de dados

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 49 Mulgara Mulgara Rules Engine (Krule)

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 50 Mulgara Aplicações de SW  JavaServer Pages Tag Library  iTQL Shell  Simple Object Access Protocol (SOAP)  iTQL Bean  Mulgara Driver  Java RDF (JRDF)

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação CapaConceito É um framework de banco de dados e aplicações para possibilitar a construção de aplicações na Web Semântica. Pode armazenar Dados e meta- dados como: –Triplas RDF; –Resultado de consultas: SPARQL e Prolog. 51 AllegroGraph

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa Estrutura Lógia do repositório 52 AllegroGraph  Afirmações com 5 campos;  Dicionário de Strings para gerenciar Unique Part Identifier – UPI para os campos: sujeito, predicado, objeto e graph.  Criação de índices para agilizar consultas.

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa Estrutura Lógia do repositório 53 AllegroGraph  Criação de índices Freetext para possibilitar buscas de “textos livre” (freetext).  Mantém informações sobre triplas deletadas.  As triplas que são enviadas para AllegroGraph estão em formato RDF/XML ou no formato N-tripla (uma tripla por linha).  Dados podem ser importados de RDBMS, CSV ou de outros dados formatados através da utilização de uma API.  AllegroGraph não impõe restrições a utilização de RDF de fato, fazendo ele ser um verdadeiro banco de grafos.

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa Banco de grafos 54 AllegroGraph  Como AllegroGraph não faz restrições a RDF:  Pode armazenar quaisquer informações nos campos sujeito, predicado, objeto e grafo das suas “triplas”. -> Finalidade de acrescentar mais qualidade na representação:  Em um banco de dados de grafos:  Afirmação: Um nó s (sujeito) é conectado a um nó o (objeto) via uma aresta p (predicado) com informação adicional g (grafo).

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa Banco de grafos 55 AllegroGraph BD de grafos podem ser mais flexíveis e rápidos do que RDBMS: Acrescentar novos predicados sem mudar o esquema; Todas as informações já estão indexadas; Relações são codificadas diretamente, sem utilizar uma tabela para relacionamento.

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação CapaServiços 56 AllegroGraph AllegroGraph possibilita o acesso ao seu repositório de triplas por: SPARQL consultas: resultados em RDF, XML e outros formatos; Low-level API´s: Possibilitam um rápido acesso as triplas por sujeito, predicado e objeto; Prolog: provê a construção de conceitos de alto nível que requerem complexas regras ou processamento numérico sobre dados RDF. RDFS++ Reasoning: ??? RacerPro e RacerPorter: ???

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa Arquitetura Interna 57 AllegroGraph Repositório de armazenamento AllegroGraph é um dos tipos de classes acima; Um Abstract-triple-store define as principais interfaces que um repositório deveria implementar : Concreto: Armazena as triplas atuais do repositóri; Federado: provê mecanismos para agrupar e estruturar coleções arbitrárias de outros repositórios;

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa Arquitetura Interna 58 AllegroGraph Encapsulado: permite acrescentar comportamentos ao armazenamento existente. Reasoning-triple- store ??? Remoto: possibilita que AllegroGraph utilize repositórios servidos por outros processos localmente ou em rede. Esses repositórios podem ser ou outros repositórios AllegroGrap ou conexões para Oracle e Sesame. Utilizando uma das dessas classes pode-se construir repositórios de dados de diferentes arquiteturas e tratá-las como se fosse um repositório único.

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa Como acessar o repositório 59 AllegroGraph Java: Classes Java, adaptadores para trabalhar com chamadas das bibliotecas Jena e Sesame; Protocolo HTTP Sesame: possibilita acrescentar e deletar triplas, consultar por triplas individuais ou através de SPARQL;

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa Como acessar o repositório 60 AllegroGraph Linguagens: Python, Ruby, JavaScript: quaisquer linguagems que saibam fazer requisições HTTP; Lisp; TopBrain Composer: Ferramenta comercial para modelar e editar ontologias. Utilizado para visualizar os seus dados RDF/OWL.

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 61 Virtuoso  BD SQL objeto-relacional  Versão open-source  Versão comercial BD virtual Replicação  Repositório WebDAV  Windows, Linux, UNIX, MacOS X. Conceito

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 62 Virtuoso  Transações  Compilador SQL (Suporte ao SQL 99)  Estruturas Tabelas (tables), visões (views), gatilhos (triggers) e (procedimentos) stored procedure (Java e.Net)  Hot backup  Interfaces ODBC, JDBC, ADO.Net, OLE/DB  Gerência de usuários, regras e privilégios  Estatísticas de BD  Serviços Web Características

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 63 Virtuoso Arquitetura

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 64 Virtuoso  Tabela  Coluna  Chave  Subtabela  Tipos de dados SQL-92  Novos tipos – C#  Níveis de isolamento Modelo de dados Lógico

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 65 Virtuoso  Controle de usuários  Grupos  Objetos  backup/recovery  Diagnóstico de desempenho  Memória  Plano de consulta  Tuning  Otimização de I/O  Utilização de índices Segurança

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 66 Virtuoso  Ligação com tabelas e visões remotas  Procedimentos  Mpaeamento de tipos de dados  SQL_REAL -> Real  Modelo de Transações  Funções SQL  db..vd_pass_through_function ('inf10', 'substring', 'substr');  Otimizador de consulta distribuída Banco de dados virtual

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 67 Virtuoso  XML  SQL -> XML  NNTP  Create/Attach News Groups  Limit Groups  Local & Remote Groups XML/NNTP

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 68 Virtuoso cc Conductor

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 69 Virtuoso  SPARUL  an Update Language For RDF Graphs  Inserção/Carga de expressões  Virtuoso Sponger  IRI dereferenciável e Linked Data  Visões RDFs  Mapeando dados relacionais para RDF  Inferência (RDF Schema/OWL)  SPARQL / SPARQL BI  Tuning RDF

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 70 Virtuoso  Extensão SPARQL  Resultados  Sobconsultas  Agregações  Agrupamentos SPARQL BI

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 71 Virtuoso  Índices  G = Grafo  P = Predicado  O = Objeto  S = Sujeito  create bitmap index RDF_QUAD_PGOS on DB.DBA.RDF_QUAD (G, P, O, S); Tuning Grafos especificados e índices default Grafos não especificados e índices alternativos

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 72 Virtuoso  Chaves primárias/estrangeiras -> IRI  Coluna -> predicado IRI  Linha -> predicado rdf:type  Classe IRI RDF -> tabela  Tripla:  Sujeito: chave primária  Predicado: coluna  Objetos: valores da coluna Relacional -> RDF

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 73 Comparação Desempenho OLTP Suporta SPARQL SGBD D2R Server Sim Ferramenta Sesame Sim Não BOCA NãoSimNão (DB2) Mulgara Não???/iTQL??? AllegroGraph NãoSimNão Virtuoso Sim Comparação entre repositórios

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 74 Comparação Comparação entre repositórios  128 consultas  126 consultas

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 75 Comparação Comparação entre repositórios

Ferramentas Triplify D2R Server Virtuoso Boca Repositórios Mulgara AllegroGraph Sesame Comparação Capa 76 Comparação Comparação entre repositórios