Upload
hermano-lira
View
130
Download
1
Embed Size (px)
DESCRIPTION
Apresentação no workshop de teses e dissertações Webmedia 2013
Citation preview
SEMANTIC DATA
SERVICES Dissertação de Mestrado
Aluno: Hermano A. Lira
Orientador: Pedro Porfírio M. Farias
Contexto
Web de Dados
Interligados
Serviços de Dados
Serviços de
dados
Semânticos
O que são Serviço de Dados?
• Os Serviços de dados são pontos de acesso a fontes de
dados por meio de serviços web.
• Uma característica que distingue os serviços de dados de
outros tipos de serviços web é que eles manipulam seus
dados mediante as operações de CRUD, assim não há
operações para computação de dados.
O que são Dados interligados (Linked
Data)?
De acordo com Tim Berners-Lee:
1. São dados identificados por URIs;
2. HTTP URIs para que as pessoas possam
localizar esses dados; (desreferenciar)
3. Quando alguém desreferenciar uma URI,
proveja informações úteis, usando
representações padrões (RDF, OWL, etc).
4. Inclua links URIs para outros dados. Para
que se possa descobrir mais coisas.
Cenário Atual
XML
JSON
Text
FORMATO PROTOCOLO
SOAP
HTTP
FTP
• Heterogeneidade sintática e semântica;
Cenário SERIN
• Provê uma camada de abstração uniforme para as fontes de dados;
• Semântica formal e explícita;
• Provê um mecanismo de verificação de restrições de integridade de dados;
RDF
RDF
RDF
HTTP
<<Interface>>
Serviço1
+ GET()
+ POST()
+ PUT()
+ DELETE()
Exemplos
• Diversos equipamentos de rede (e.g. roteadores) cujos
dados são acessíveis por serviços web RESTful segundo
a mesma interface;
• Diversos órgãos públicos (e.g. prefeituras) cujos dados
estão acessíveis para a população e órgãos de
fiscalização seguindo uma mesma interface;
• Diversas empresas que se dispõe a seguir uma mesma
interface para anunciar seus produtos dentro de uma
comunidade que conhece a interface.
Objetivo Geral
A pesquisa tem como objetivo geral definir uma
especificação para serviços de dados RESTful
semânticos, i.e., serviços de dados construídos sobre as
tecnologias da web semântica e que utilizam interfaces
semânticas SERIN.
RDF + OWL
SDS
RE
ST
SERIN
Objetivos Específicos
• Definir o conceito de mundo fechado localmente, no
contexto das interfaces SERIN;
• Estender a especificação SERIN, adicionando novas
anotações para prover a verificação de restrições de
integridade de dados;
• Estender a especificação SERIN, adicionando suporte a
queries URI com capacidade para ordenar, filtrar e
paginar dados.
Contribuições dos serviços de Dados
semânticos
Uma especificação de serviços web que:
• Facilite a integração de dados, por representá-los em
RDF;
• Permita a verificação de consistência dos dados por meio
da suposição de mundo fechado localmente;
• Seja alinhada ao estilo arquitetural REST e construída
sobre as especificações RDF e OWL;
• Seja descrita por interfaces semânticas e abstratas via a
especificação SERIN.
Elementos Arquiteturais dos Serviços de
Dados Semânticos • A Interface de serviço
• O modelo para representação dos dados
• O protocolo de comunicação
<<Interface>>
Serviço1
+ GET()
+ POST()
+ PUT()
+ DELETE()
Interface semântica - SERIN
O cliente conhece a interface
Interface semântica - SERIN
• A interface SERIN é representada por uma ontologia OWL, cujas classes são anotadas com os métodos de acesso aos dados.
• As anotações correspondem aos verbos do HTTP: • GET
• POST
• PUT
• DELETE
Interface semântica - SERIN
Convenção de Endereçamento Interface
http://<host>/serin/{ontologia}
Coleção de instâncias da classe selecionada
http://<host>/serin/{ontologia}/{classe}
Uma instância
http://<host>/serin/{ontologia}/{classe}/{id}
O valor de uma propriedade
http://<host>/serin/{ontologia}/{classe}/{id}/{propriedade}
Exemplo
http://Host A/ GET serin/interface.owl/C2
interface.owl
Restrições de Integridade
• Mecanismo inspirado na integridade relacional.
• Verifica a consistência dos dados interligados mantidos
por um Host.
• Adiciona 6 anotações à especificação SERIN.
Restrições de Integridade
Escopo das anotações
Anotações Class DatatypeProperty ObjectProperty
GET X - -
POST X - -
PUT X - -
DELETE X - -
NotNull - X X
ForeignURI - - X
Unique - X X
ReadOnly - X X
Id - X -
Embedded - - X
Restrições de Integridade
Definições de OWA x CWA
• Mundo Aberto (Open World Assumption - OWA)
• Mundo Fechado (Closed World Assumption - CWA)
β Base
Base β ⊂ β é falso nesse mundo
β Base
Base β ⊂ β é desconhecido nesse mundo
(nem falso nem verdadeiro)
Restrições de Integridade
• Mundo Fechado Localmente
• É uma combinação dos mundos aberto e fechado.
• É uma extensão das capacidades desejáveis do mundo fechado
(de completude e integridade dos dados) aplicada aos formalismos
de representação do conhecimento do mundo aberto (da Web
Semântica).
• Permite que cada host tenha um conhecimento completo de seus
dados.
Restrições de Integridade
Exemplo
#Pessoa
xsd#integer
xsd#integer
xsd#string
url#Endereco
Unique
Id
NotNull
Embedded
xsd#datetime
ReadOnly url#Empresa
ForeignURI
Restrições de Integridade
Anotações
• Anotação Unique
Assegura que o valor de uma propriedade é único.
• Exemplo
• <url#Pedro> <url#RG> “123456789”
• <url#João> <url#RG> “123456789”
Princípio da Suposição de Nome Único
Restrições de Integridade
Suposição de Nome Único
• Princípio da Suposição de Nome Único
Se dois recursos possuem nomes distintos, então serão
considerados recursos distintos.
• A suposição de nome único é predominante nos modelos
relacionais.
• As tecnologias da Web semântica (e.g. RDF e OWL) não
utilizam a suposição de nome único.
Restrições de Integridade
Suposição de Nome Único
• No SDS adotaremos as seguintes suposições a priori:
• Todas as instâncias gerenciadas por um Host são consideradas
distintas entre si; (owl:AllDifferent)
• Todas as classes da interface SERIN são consideradas distintas
entre si; (owl:AllDisjointClasses)
• Todas as propriedades da interface SERIN são consideradas
distintas entre si; (owl:AllDisjointProperties)
Restrições de Integridade
Anotações
• Anotação NotNull
Indica que uma propriedade não pode se armazenada
com valor NULO.
• Exemplo
• <url#Pedro> <url#nome> “Pedro”
• <url#Pedro> <url#nome> NULL
Restrições de Integridade
Anotações • Anotação Id
É análoga ao conceito de "Chave Primária" do modelo relacional,
onde uma propriedade identifica de maneira única uma instância
RDF no escopo do mundo aberto.
• Exemplo (No mesmo Host)
• <url#Pedro> <url#CPF> “123.456.789-11”
• <url#João> <url#CPF> “123.456.789-11”
Restrições de Integridade
Anotações
• Anotação Id (Em Hosts distintos)
• Host 1
• <url1#Pedro> <url1#CPF> “123.456.789-11”
• Host 2
• <url2#Porfírio> <url2#CPF> “123.456.789-11”
• Inferência implícita
• <url1#Pedro> <owl#sameAs> <url2#Porfírio>
Restrições de Integridade
Anotações
• Anotação ReadOnly Indica que uma aplicação cliente não pode alterar o valor de uma determinada propriedade.
• Exemplo • <url#Pedro> <url#nascimento> “08/10/2013”
• URL <host>/serin/pessoa.owl/Pessoa/Pedro/nascimento
• GET
• PUT
• POST
• DELETE
Restrições de Integridade
Anotações
• Anotação ForeignURI
• Exemplo
• <url#Pedro> <url#trabalha> <url#Unifor>
Pedro
Unifor
Pedro Unifor url:trabalha
url:trabalha
Assegura que a entidade
referenciada por uma
propriedade está armazenada
na base de dados do Host.
/serin/Pessoa.owl/Pessoa/Pedro
Restrições de Integridade
Anotações
• Anotação Embedded
Indica que uma entidade está embutida dentro de outra e
que ambas compartilham o mesmo ciclo de vida.
Pedro
EndCasa
url#mora
Pedro EndCasa url#mora
Requisição HTTP
Resposta HTTP
Queries URI
1. Parâmetro filter
2. Parâmetro orderBy
3. Parâmetro page
4. Parâmetro pageSize
5. Parâmetro fields
Queries URI
Exemplos
• Parâmetro filter
/serin/product.owl/Product?filter=price+gt+2+and+price+le+3.5
/serin/clinic.owl/Clinic?filter=clinicName+like+’*Medical*’
• Parâmetro orderBy
/serin/clinic.owl/Clinic?orderBy=clinicName+desc
• Parâmetros page e pageSize
/serin/clinic.owl/Clinic?page=3&pageSize=10
• Parâmetro fields
/serin/clinic.owl/Clinic?fields=clinicName+phoneNumber
Queries URI
Parâmetro filter
Operadores Descrição
eg Igual (=)
ne Diferente (!=)
lt Menor que (<)
le Menor ou igual (<=)
gt Maior que (>)
ge Maior ou igual (>=)
and E (AND)
or Ou (OR)
not Negação (NOT)
like ‘RegExp’ Expressão Regular
Queries URI
Parâmetro orderBy
Operadores Descrição
asc Ascendente
desc Descendente
Conclusão
• Esse trabalho apresentou uma especificação para
Serviços de Dados Semânticos:
• Alinhados aos princípios dos dados interligados;
• Alinhados ao estilo arquitetural REST;
• Com suporte a interfaces semânticas abstratas;
• Com suporte a integridade de dados de acordo com a suposição
de mundo fechado localmente; e
• Com suporte a queries URI.