3. 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.
4. 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.
6. Cenário SERIN
RDF
<<Interface>>
Serviço1
HTTP
RDF
+ GET()
+ POST()
+ PUT()
+ DELETE()
RDF
• 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;
7. 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.
8. 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.
SERIN
RDF + OWL
REST
SDS
9. 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.
10. 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.
11. Elementos Arquiteturais dos Serviços de
Dados Semânticos
<<Interface>>
Serviço1
• A Interface de serviço
+ GET()
+ POST()
+ PUT()
+ DELETE()
• O modelo para representação dos dados
• O protocolo de comunicação
13. 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
14. Interface semântica - SERIN
interface.owl
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
GET http://Host A/ serin/interface.owl/C2
15. 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.
16. 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
17. Restrições de Integridade
Definições de OWA x CWA
• Mundo Aberto (Open World Assumption - OWA)
β
⊂
Base
β
Base
β é desconhecido nesse mundo
(nem falso nem verdadeiro)
• Mundo Fechado (Closed World Assumption - CWA)
β
Base
⊂
Base
β é falso nesse mundo
β
18. 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.
20. 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
21. 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.
22. 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)
23. 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
24. 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”
26. 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
27. Restrições de Integridade
Anotações
• Anotação ForeignURI
Assegura que a entidade
referenciada por uma
propriedade está armazenada
na base de dados do Host.
• Exemplo
• <url#Pedro> <url#trabalha> <url#Unifor>
Unifor
url:trabalha
Pedro
Pedro
url:trabalha
Unifor
28. 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.
Requisição HTTP
/serin/Pessoa.owl/Pessoa/Pedro
Pedro
url#mora
Pedro
url#mora
EndCasa
Resposta HTTP
EndCasa
31. 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
33. 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.