Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos
-
Upload
hermano-lira -
Category
Technology
-
view
130 -
download
1
description
Transcript of Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos
![Page 1: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/1.jpg)
SEMANTIC DATA
SERVICES Dissertação de Mestrado
Aluno: Hermano A. Lira
Orientador: Pedro Porfírio M. Farias
![Page 2: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/2.jpg)
Contexto
Web de Dados
Interligados
Serviços de Dados
Serviços de
dados
Semânticos
![Page 3: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/3.jpg)
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.
![Page 4: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/4.jpg)
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.
![Page 5: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/5.jpg)
Cenário Atual
XML
JSON
Text
FORMATO PROTOCOLO
SOAP
HTTP
FTP
• Heterogeneidade sintática e semântica;
![Page 6: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/6.jpg)
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()
![Page 7: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/7.jpg)
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.
![Page 8: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/8.jpg)
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
![Page 9: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/9.jpg)
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.
![Page 10: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/10.jpg)
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.
![Page 11: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/11.jpg)
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()
![Page 12: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/12.jpg)
Interface semântica - SERIN
O cliente conhece a interface
![Page 13: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/13.jpg)
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
![Page 14: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/14.jpg)
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
![Page 15: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/15.jpg)
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.
![Page 16: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/16.jpg)
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
![Page 17: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/17.jpg)
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)
![Page 18: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/18.jpg)
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.
![Page 19: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/19.jpg)
Restrições de Integridade
Exemplo
#Pessoa
xsd#integer
xsd#integer
xsd#string
url#Endereco
Unique
Id
NotNull
Embedded
xsd#datetime
ReadOnly url#Empresa
ForeignURI
![Page 20: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/20.jpg)
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
![Page 21: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/21.jpg)
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.
![Page 22: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/22.jpg)
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)
![Page 23: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/23.jpg)
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
![Page 24: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/24.jpg)
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”
![Page 25: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/25.jpg)
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>
![Page 26: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/26.jpg)
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
![Page 27: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/27.jpg)
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.
![Page 28: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/28.jpg)
/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
![Page 29: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/29.jpg)
Queries URI
1. Parâmetro filter
2. Parâmetro orderBy
3. Parâmetro page
4. Parâmetro pageSize
5. Parâmetro fields
![Page 30: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/30.jpg)
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
![Page 31: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/31.jpg)
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
![Page 32: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/32.jpg)
Queries URI
Parâmetro orderBy
Operadores Descrição
asc Ascendente
desc Descendente
![Page 33: Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos](https://reader030.fdocumentos.com/reader030/viewer/2022020110/559610b11a28ab56678b4845/html5/thumbnails/33.jpg)
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.