SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
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 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
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çã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;
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.

SERIN
RDF + OWL

REST

SDS
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
<<Interface>>
Serviço1

• A Interface de serviço

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

• O modelo para representação dos dados

• O protocolo de comunicação
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
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
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)
β

⊂

Base
β

Base

β é desconhecido nesse mundo
(nem falso nem verdadeiro)

• Mundo Fechado (Closed World Assumption - CWA)
β
Base

⊂

Base
β é falso nesse mundo
β
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
NotNull

Unique

xsd#string

xsd#integer

#Pessoa
Embedded
Id
url#Endereco

url#Empresa

xsd#integer
ReadOnly
ForeignURI

xsd#datetime
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

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
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
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.
Obrigado!
• Contatos
• hermano.lira@edu.unifor.br
• porfirio@unifor.br

Mais conteúdo relacionado

Mais procurados

Curso mongo db com php
Curso mongo db com phpCurso mongo db com php
Curso mongo db com phpSuissa
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documentoAlex Martins
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONMarcio Junior Vieira
 
Desenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDBDesenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDBAri Stopassola Junior
 
Pesquisa do Sapo
Pesquisa do SapoPesquisa do Sapo
Pesquisa do Sapocodebits
 

Mais procurados (8)

2011 01-18 mongo-db
2011 01-18 mongo-db2011 01-18 mongo-db
2011 01-18 mongo-db
 
Protocolo Ldap
Protocolo LdapProtocolo Ldap
Protocolo Ldap
 
Curso mongo db com php
Curso mongo db com phpCurso mongo db com php
Curso mongo db com php
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documento
 
Primeiros Passos Com Elasticsearch
Primeiros Passos Com ElasticsearchPrimeiros Passos Com Elasticsearch
Primeiros Passos Com Elasticsearch
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSON
 
Desenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDBDesenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDB
 
Pesquisa do Sapo
Pesquisa do SapoPesquisa do Sapo
Pesquisa do Sapo
 

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

Novidades do JAX-RS 2.0
Novidades do JAX-RS 2.0Novidades do JAX-RS 2.0
Novidades do JAX-RS 2.0jesuinoPower
 
Implementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
Implementando APIs seguras na nuvem - Outubro-2018 - Azure BrasilImplementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
Implementando APIs seguras na nuvem - Outubro-2018 - Azure BrasilRenato Groff
 
Apres tec. 1ª estrela 40 pág
Apres tec. 1ª estrela   40 págApres tec. 1ª estrela   40 pág
Apres tec. 1ª estrela 40 págOi S.A
 
Webservices em PHP e a liberdade da Web
Webservices em PHP e a liberdade da WebWebservices em PHP e a liberdade da Web
Webservices em PHP e a liberdade da WebAlexandre Andrade
 
Conhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkConhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkMario Guedes
 
SQL Server Heterogêneo: SQL Server + BigData
SQL Server Heterogêneo: SQL Server + BigDataSQL Server Heterogêneo: SQL Server + BigData
SQL Server Heterogêneo: SQL Server + BigDataRodrigo Dornel
 
DocumentDB - Azure Fridays São Paulo
DocumentDB - Azure Fridays São PauloDocumentDB - Azure Fridays São Paulo
DocumentDB - Azure Fridays São PauloRenato Groff
 
Consumindo dados via web service no android
Consumindo dados via web service no androidConsumindo dados via web service no android
Consumindo dados via web service no androidAlexandre Antunes
 
Arquitetando Soluções de Dados com PostgreSQL
Arquitetando Soluções de Dados com PostgreSQLArquitetando Soluções de Dados com PostgreSQL
Arquitetando Soluções de Dados com PostgreSQLRaul Oliveira
 
JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5Helder da Rocha
 
Alexandria: um Sistema de Sistemas para Publicação de Conteúdo Digital utiliz...
Alexandria: um Sistema de Sistemas para Publicação de Conteúdo Digital utiliz...Alexandria: um Sistema de Sistemas para Publicação de Conteúdo Digital utiliz...
Alexandria: um Sistema de Sistemas para Publicação de Conteúdo Digital utiliz...Luis Cipriani
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONAmbiente Livre
 

Semelhante a Semantic Data Services: Uma abordagem para leitura e atualização de dados semânticos (20)

Web Services
Web ServicesWeb Services
Web Services
 
Rest
RestRest
Rest
 
Arquitetura orientada a serviços (SOA)
Arquitetura orientada a serviços (SOA)Arquitetura orientada a serviços (SOA)
Arquitetura orientada a serviços (SOA)
 
Web service
Web serviceWeb service
Web service
 
Rest Teoria E Pratica
Rest Teoria E PraticaRest Teoria E Pratica
Rest Teoria E Pratica
 
Como um grande sistema REST funciona
Como um grande sistema REST funcionaComo um grande sistema REST funciona
Como um grande sistema REST funciona
 
Novidades do JAX-RS 2.0
Novidades do JAX-RS 2.0Novidades do JAX-RS 2.0
Novidades do JAX-RS 2.0
 
Implementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
Implementando APIs seguras na nuvem - Outubro-2018 - Azure BrasilImplementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
Implementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
 
Apres tec. 1ª estrela 40 pág
Apres tec. 1ª estrela   40 págApres tec. 1ª estrela   40 pág
Apres tec. 1ª estrela 40 pág
 
Webservices em PHP e a liberdade da Web
Webservices em PHP e a liberdade da WebWebservices em PHP e a liberdade da Web
Webservices em PHP e a liberdade da Web
 
Conhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkConhecendo o Novo REST Framework
Conhecendo o Novo REST Framework
 
SQL Server Heterogêneo: SQL Server + BigData
SQL Server Heterogêneo: SQL Server + BigDataSQL Server Heterogêneo: SQL Server + BigData
SQL Server Heterogêneo: SQL Server + BigData
 
Windows Aazure
Windows AazureWindows Aazure
Windows Aazure
 
DocumentDB - Azure Fridays São Paulo
DocumentDB - Azure Fridays São PauloDocumentDB - Azure Fridays São Paulo
DocumentDB - Azure Fridays São Paulo
 
Consumindo dados via web service no android
Consumindo dados via web service no androidConsumindo dados via web service no android
Consumindo dados via web service no android
 
Arquitetando Soluções de Dados com PostgreSQL
Arquitetando Soluções de Dados com PostgreSQLArquitetando Soluções de Dados com PostgreSQL
Arquitetando Soluções de Dados com PostgreSQL
 
JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5
 
Alexandria: um Sistema de Sistemas para Publicação de Conteúdo Digital utiliz...
Alexandria: um Sistema de Sistemas para Publicação de Conteúdo Digital utiliz...Alexandria: um Sistema de Sistemas para Publicação de Conteúdo Digital utiliz...
Alexandria: um Sistema de Sistemas para Publicação de Conteúdo Digital utiliz...
 
Construindo um sistema distribuido usando rest
Construindo um sistema distribuido usando restConstruindo um sistema distribuido usando rest
Construindo um sistema distribuido usando rest
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSON
 

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

  • 1. SEMANTIC DATA SERVICES Dissertação de Mestrado Aluno: Hermano A. Lira Orientador: Pedro Porfírio M. Farias
  • 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
  • 12. Interface semântica - SERIN O cliente conhece a interface
  • 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”
  • 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. 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
  • 29. Queries URI 1. Parâmetro filter 2. Parâmetro orderBy 3. Parâmetro page 4. Parâmetro pageSize 5. Parâmetro fields
  • 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. 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.