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
Semânticos

Serviços
de Dados
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...
O que são Dados interligados (Linked
Data)?
De acordo com Tim Berners-Lee:
1. São dados identificados por URIs;
2. HTTP UR...
Cenário Atual
XML
SOAP
HTTP

JSON

FTP
Text

PROTOCOLO

FORMATO

• Heterogeneidade sintática e semântica;
Cenário SERIN
RDF
<<Interface>>
Serviço1

HTTP

RDF
+ GET()
+ POST()
+ PUT()
+ DELETE()

RDF

• Provê uma camada de abstra...
Exemplos
• Diversos equipamentos de rede (e.g. roteadores) cujos

dados são acessíveis por serviços web RESTful segundo
a ...
Objetivo Geral
A pesquisa tem como objetivo geral definir uma
especificação para serviços de dados RESTful
semânticos, i.e...
Objetivos Específicos
• Definir o conceito de mundo fechado localmente, no

contexto das interfaces SERIN;
• Estender a es...
Contribuições dos serviços de Dados
semânticos
Uma especificação de serviços web que:
• Facilite a integração de dados, po...
Elementos Arquiteturais dos Serviços de
Dados Semânticos
<<Interface>>
Serviço1

• A Interface de serviço

+ GET()
+ POST(...
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...
Interface semântica - SERIN
interface.owl

 Convenção

de Endereçamento



Interface
http://<host>/serin/{ontologia}


...
Restrições de Integridade
• Mecanismo inspirado na integridade relacional.
• Verifica a consistência dos dados interligado...
Restrições de Integridade
Escopo das anotações
Anotações

Class

DatatypeProperty

ObjectProperty

GET

X

-

-

POST

X

...
Restrições de Integridade
Definições de OWA x CWA
• Mundo Aberto (Open World Assumption - OWA)
β

⊂

Base
β

Base

β é des...
Restrições de Integridade
• Mundo Fechado Localmente
• É uma combinação dos mundos aberto e fechado.
• É uma extensão das ...
Restrições de Integridade
Exemplo
NotNull

Unique

xsd#string

xsd#integer

#Pessoa
Embedded
Id
url#Endereco

url#Empresa
...
Restrições de Integridade
Anotações
• Anotação Unique
Assegura que o valor de uma propriedade é único.
• Exemplo
• <url#Pe...
Restrições de Integridade
Suposição de Nome Único
• Princípio da Suposição de Nome Único
Se dois recursos possuem nomes di...
Restrições de Integridade
Suposição de Nome Único
• No SDS adotaremos as seguintes suposições a priori:
• Todas as instânc...
Restrições de Integridade
Anotações
• Anotação NotNull
Indica que uma propriedade não pode se armazenada
com valor NULO.
•...
Restrições de Integridade
Anotações
• Anotação Id
É análoga ao conceito de "Chave Primária" do modelo relacional,
onde uma...
Restrições de Integridade
Anotações
• Anotação Id (Em Hosts distintos)
• Host 1
• <url1#Pedro> <url1#CPF> “123.456.789-11”...
Restrições de Integridade
Anotações
• Anotação ReadOnly
Indica que uma aplicação cliente não pode alterar o valor de
uma d...
Restrições de Integridade
Anotações
• Anotação ForeignURI

Assegura que a entidade
referenciada por uma
propriedade está a...
Restrições de Integridade
Anotações
• Anotação Embedded
Indica que uma entidade está embutida dentro de outra e
que ambas ...
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/Cl...
Queries URI
Parâmetro filter
Operadores

Descrição

eg

Igual (=)

ne

Diferente (!=)

lt

Menor que (<)

le

Menor ou igu...
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 ...
Obrigado!
• Contatos
• hermano.lira@edu.unifor.br
• porfirio@unifor.br
Próximos SlideShares
Carregando em…5
×

Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos

294 visualizações

Publicada em

Apresentação no workshop de teses e dissertações Webmedia 2013

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
294
No SlideShare
0
A partir de incorporações
0
Número de incorporações
6
Ações
Compartilhamentos
0
Downloads
4
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos

  1. 1. SEMANTIC DATA SERVICES Dissertação de Mestrado Aluno: Hermano A. Lira Orientador: Pedro Porfírio M. Farias
  2. 2. Contexto Web de Dados Interligados Serviços de dados Semânticos Serviços de Dados
  3. 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. 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.
  5. 5. Cenário Atual XML SOAP HTTP JSON FTP Text PROTOCOLO FORMATO • Heterogeneidade sintática e semântica;
  6. 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. 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. 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. 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. 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. 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
  12. 12. Interface semântica - SERIN O cliente conhece a interface
  13. 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. 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. 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. 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. 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. 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.
  19. 19. Restrições de Integridade Exemplo NotNull Unique xsd#string xsd#integer #Pessoa Embedded Id url#Endereco url#Empresa xsd#integer ReadOnly ForeignURI xsd#datetime
  20. 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. 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. 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. 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. 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”
  25. 25. 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>
  26. 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. 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. 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
  29. 29. Queries URI 1. Parâmetro filter 2. Parâmetro orderBy 3. Parâmetro page 4. Parâmetro pageSize 5. Parâmetro fields
  30. 30. 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
  31. 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
  32. 32. Queries URI Parâmetro orderBy Operadores Descrição asc Ascendente desc Descendente
  33. 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.
  34. 34. Obrigado! • Contatos • hermano.lira@edu.unifor.br • porfirio@unifor.br

×