L A C Laboratory for Advanced Collaboration

Documentos relacionados
L A C Laboratory for Advanced Collaboration

SPARQL: Linguagem de Consulta em Ontologias. I Escola de Ontologias UFAL-USP

Protótipo de sistema de consultas utilizando a linguagem SPARQL

Web services. Um web service é qualquer software que está disponível através da Internet através de uma interface XML.

Manual de Integração. Tecnologia: WebServices SOAP XML. Área: CDC. Produto: CDC Pessoa Física NFE (RFB) Versão: 1.0. Autor: Angelo Bestetti Junior

REST. Caio Nakashima

Manual de Integração. Tecnologia: WebServices SOAP XML. Área: CDC. Produto: CDC Estendida (Física) Versão: 1.0. Autor: Angelo Bestetti Junior

SQL UMA ABORDAGEM INTERESSANTE

Introdução ao SQL Avançado

Introdução Serviços Web WSDL SOAP UDDI Ferramentas. Serviços Web. (Web Services) Emerson Ribeiro de Mello

Comandos de Manipulação

L A C Laboratory for Advanced Collaboration

Padrões, Ferramentas e Boas Práticas no Desenvolvimento de Software para Web Semântica


L A C Laboratory for Advanced Collaboration

18/04/2006 Micropagamento F2b Web Services Web rev 00

Millennium ECO 2.0 (beta)

Banco de Dados. Prof. Antonio

Programação para Internet Avançada. 4. Web Services. Nuno Miguel Gil Fonseca

Pedro F. Carvalho OCP Oracle g LINGUAGEM SQL. São José do Rio Preto

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

BC CORREIO SISTEMA DE CORREIO ELETRÔNICO DO BANCO CENTRAL DO BRASIL. Manual do Web Service

Semântica na Web RDF. Carlos Bazilio. Depto de Computação Instituto de Ciência e Tecnologia Universidade Federal Fluminense

Tecnologias WEB Web 2.0

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

NOME SEXO CPF NASCIMENTO SALARIO

SOAP. Web Services & SOAP. Tecnologias de Middleware 2004/2005. Simple Object Access Protocol. Simple Object Access Protocol SOAP

Nota Fiscal Paulista. Manual para Envio de Arquivo de Cupons Fiscais via Webservice GOVERNO DO ESTADO DE SÃO PAULO

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Comunicando através da rede

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

A Web Semântica: Conceitos e Aplicações. Valéria M. Pequeno Universidade Autónoma de Lisboa

Nome: n.º WEB Série 2B 2C 2D 2E Barueri, 17/08/2009 2ª Postagem Disciplina: Gerenciamento e Estrutura de Banco de Dados Professor: Márcio

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

Sistemas Distribuídos

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc.

GERÊNCIA DE DADOS SEMI ESTRUTURADOS - XQUERY. Prof. Angelo Augusto Frozza

API REST Alimentação/Retorno

UFG - Instituto de Informática

Disciplina: Tecnologias de Banco de Dados para SI s

JDBC (Java Database Connectivity) Padrão de Projeto DAO (Data Access Object) Roteiro para instalação do banco de dados e do driver JDBC

UNIVERSIDADE. Sistemas Distribuídos

SGBD. Funções Básicas de um SGBD

L A C Laboratory for Advanced Collaboration

LA C Laboratory for Advanced Collaboration

XHTML 1.0 DTDs e Validação

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Aula 5. Carlos Eduardo de Carvalho Dantas

Transações Seguras em Bancos de Dados (MySQL)

Semântica para Sharepoint. Busca semântica utilizando ontologias

Web Services. Integração de aplicações na Web. Sistemas Distribuídos

Web Semântica. Web Semântica. uma

Padrões, Ferramentas e Boas Práticas no Desenvolvimento de Software para Web Semântica

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc.

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

Documento de Requisitos de Sistemas. SGC Sistema Gerenciador de Clínicas

tecnologias web e gestão de identidade

1. Assinale as afirmações que são verdadeiras e as que são falsas, corrigindo-as:

SQL consulta com operadores

Visualização de Dados Estatísticos em LOD

Linguagem SQL Parte I

Algoritmos e Estruturas de Dados II. Trabalho Prático 2

XML e Banco de Dados de Internet. Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi

Prova de pré-requisito

Instalando servidor Apache

SOA na Prática Ricardo Limonta

Prof.: Clayton Maciel Costa

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon

Fundamentos do Sistema Gerenciador de Banco de Dados

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Análise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN

O que são Bancos de Dados?

SQL: Interrogações simples

Fernando Albuquerque - fernando@cic.unb.br. Bancos de Dados. Fernando Albuquerque fernando@cic.unb.br

Banco de Dados. Structured Query Language SQL. Prof. Walteno Martins Parreira Jr 1.

Manual técnico. v /10

Armazenamento organizado facilitando SCRUD; Agiliza processo de desenvolvimento de sistemas;

UFG - Instituto de Informática

METADADOS INSPIRE. Henrique Silva; André Serronha;

SDSS SQL. Walter A. Santos Jr. IAG/USP

Massachusetts Institute of Technology Departamento de Estudos e Planejamento Urbano

Linguagem SQL (Parte I)

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003

António Rocha Nuno Melo e Castro

Manual de Integração. Tecnologia: WebServices SOAP XML. Área: Serviços de Informação. Produto: CEP. Versão: 1.0. Autor: Angelo Bestetti Junior

Serviços Web: Introdução

MODELO DE DADOS VS ESQUEMA

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas

MASTERSAF DW PROCEDIMENTOS PARA APLICAÇÃO DE PATCH

Sistemas para internet e software livre

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique.

Aplicativo da Manifestação do Destinatário. Manual

Transcrição:

Publicação de Dados Governamentais no Padrão Linked Data 3.1 Fundamentos de SPARQL Karin Breitman José Viterbo Edgard Marx Percy Salas L A C Laboratory for Advanced Collaboration

Objetivo deste módulo 1.Apresentar conceitos básicos sobre SPARQL 2

Sumário 1. Introdução 2. Arquitetura 3. SPARQL em 3 partes 4. Consulta 5. Protocolo 6. Conclusão 3

Introdução Triplas RDF Constituem realmente a primeira camada semântica da Web 4

Introdução SPARQL no topo... Uma linguagem de consulta e protocolo de acesso a dados em RDF 5

Introdução SPARQL significa SPARQL Protocol and RDF Query Language 6

7 Arquitetura

SparQL SPARQL em 3 partes parte 1: linguagem de consulta parte 2: formato dos resultados parte 3: protocolo de acesso 8

SELECT... FROM... WHERE {... } 9

Cláusula SELECT Para identificar que valores irão retornar 10

Cláusula FROM Para identificar que fontes de dados devem ser consultadas 11

Cláusula WHERE Os padrões de triplas/grafos a serem localizados na base RDF 12

Cláusula WHERE Uma conjunção de triplas: {?x rdf:type ex:person?x ex:name?name } 13

PREFIX Para declarar o esquema usado na consulta 14

Exemplo: Pessoas e seus nomes PREFIX ex: <http://inria.fr/schema#> SELECT?person?name WHERE {?person rdf:type ex:person }?person ex:name?name. 15

<?xml version="1.0"?> <sparql xmlns="http://www.w3.org/2005/sparql-results#" > <head> <variable name="person"/> <variable name="name"/> </head> <results ordered="false" distinct="false"> <result> <binding name="person"> <uri>http://inria.fr/schema#fg</uri> </binding> <binding name="name"> <literal>gandon</literal> </binding> </result> <result>... 16

FILTER Para adicionar restrições aos padrões de grafos. (p.ex., numerical like X>17 ) 17

Exemplo: Pessoas com pelo menos 18 anos PREFIX ex: <http://inria.fr/schema#> SELECT?person?name WHERE {?person rdf:type ex:person?person ex:name?name.?person ex:age?age. FILTER (?age > 17) } 18

FILTER Pode usar diversos operadores, funções (p.ex: expressões regulares) e mesmo extensões do usuário 19

OPTIONAL Para tornar uma parte do padrão opcional 20

Exemplo: Recuperar a idade, se disponível PREFIX ex: <http://inria.fr/schema#> SELECT?person?name?age WHERE {?person rdf:type ex:person?person ex:name?name. OPTIONAL {?person ex:age?age } } 21

UNION Para definir padrões alternativos em uma consulta. 22

23 Exemplo: Adultos implícitos e explícitos PREFIX ex: <http://inria.fr/schema#> SELECT?name WHERE {?person ex:name?name. { {?person rdf:type ex:adult} UNION {?person ex:age?age FILTER (?age > 17) } } }

Classificação e Formato ORDER BY para classificar LIMIT para o número de resultados OFFSET antes do primeiro resultado 24

25 Exemplo: Resultados 21 a 40 ordenados por nome PREFIX ex: <http://inria.fr/schema#> SELECT?person?name WHERE {?person rdf:type ex:person?person ex:name?name. } ORDER BY?name LIMIT 20 OFFSET 20

UNBOUND Testa se uma variável está ou não instanciada usado para negação por falha 26

Exemplo: Pessoas que não são autores conhecidos PREFIX ex: <http://inria.fr/schema#> SELECT?name WHERE {?person ex:name?name. OPTIONAL {?person ex:author?x } FILTER (!bound(?x)) } 27

Negação É traiçoeira e erros podem ocorrer facilmente. 28

Exemplo: PREFIX ex: <http://inria.fr/schema#> SELECT?name WHERE {?person ex:name?name.?person ex:knows?x FILTER (?x!= "Java" ) } Isto encontra as pessoas que não sabem "java"? 29

NÃO! Também recupera todas as pessoas que sabem Java e alguma coisa a mais! João ex:knows "Java" João ex:knows "C++" João é uma resposta... 30

Pessoas que não se conhece saber Java"... Negação de uma opção. PREFIX ex: <http://inria.fr/schema#> SELECT?name WHERE {?person ex:name?name. OPTIONAL {?person ex:knows?x FILTER (?x = "Java" ) } FILTER (!bound(?x) ) } 31 AGORA SIM!

ASK Para verificar se há pelo menos uma resposta. O resultado é "true" ou "false" 32

Exemplo: Há uma pessoa com mais de 17 anos? PREFIX ex: <http://inria.fr/schema#> ASK {?person ex:age?age FILTER (?age > 17) } 33

CONSTRUCT Retorna um grafo RDF específico para cada resultado 34 34

35 Exemplo: Resultados instâncias de adultos para pessoas com mais de 17 anos PREFIX ex: <http://inria.fr/schema#> CONSTRUCT {?person rdf:type ex:adult } WHERE {?person ex:age?age FILTER (?age > 17) }

Protocolo Protocolo SPARQL Envia consultas e seus resultados através da Web 36

Protocolo Exemplo com HTTP GET /sparql/?query=<encoded query> HTTP/1.1 Host: www.inria.fr User-agent: my-sparql-client/0.1 37

Protocolo Exemplo com SOAP <?xml version="1.0" encoding="utf-8"?> <soapenv:envelope xmlns:soapenv="http://www.w3.org/2003/05/soapenvelope/" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"> <soapenv:body> <query-request xmlns="http://www.w3.org/2005/09/sparqlprotocol-types/#"> <query>select?x?p?y WHERE {?x?p?y}</query> </query-request> </soapenv:body> </soapenv:envelope> 38

Conclusão SPARQL é... uma linguagem de consulta... um formato para os resultados... um protocolo de acesso...... para RDF 39

Conclusão SPARQL query language baseado no modelo de triplas?x?p?y filtros para adicionar restrições 40

Principais Referências Baseado na apresentação SPARQL Básico, de Luiz A M Palazzo. Disponível em http://ia.ucpel.tche.br/~lpalazzo/aulas/iws/m03/recursos/sparql.ppt E. Prud'hommeaux e A. Seaborne (editores). SPARQL Query Language for RDF. Online, 2008. Disponível em: http://www.w3.org/tr/rdf-sparql-query/; K.G. Clark, L. Feigenbaum e E. Torres (editores). SPARQL Protocol for RDF. Online, 2008. Disponível em: http://www.w3.org/tr/2008/rec-rdf-sparqlprotocol-20080115/; 41