Transcript
Page 1: Tutorial de Web Semântica - CompSem 2015

Tutorial de Web Semântica

Bianca Pereira

Primeiro Encontro em Computação Semântica

Page 2: Tutorial de Web Semântica - CompSem 2015

Conteúdo

• O que esperar do Tutorial?

– O que é Web Semântica?

– RDF vs OWL

– SPARQL

– Exemplo de Aplicação

Page 3: Tutorial de Web Semântica - CompSem 2015

Símbolo e Conceito

Page 4: Tutorial de Web Semântica - CompSem 2015

Símbolo e Conceito

Page 5: Tutorial de Web Semântica - CompSem 2015

Símbolo e Conceito

maçã

Page 6: Tutorial de Web Semântica - CompSem 2015

Símbolo e Conceito

Page 7: Tutorial de Web Semântica - CompSem 2015

Símbolo e Conceito

manga

Page 8: Tutorial de Web Semântica - CompSem 2015

Por que Web Semântica?

• Imensa quantidade de dados, em geral apenaspara consumo humano.

• O dado é processável por máquina mas seusignificado não pode ser acessado pormáquinas.

• Tentativa de tornar explícito o conhecimentocompartilhado.

Page 9: Tutorial de Web Semântica - CompSem 2015

Símbolo e Conceito

Conceito

Símbolo

Conhecimento

Dado puro

Page 10: Tutorial de Web Semântica - CompSem 2015

Modelos de RepresentaçãoSemânticos

• Glossários

• Taxonomias/ Partonomias

• Redes Conceituais

• Ontologias

Page 11: Tutorial de Web Semântica - CompSem 2015

GlossáriosTermo Descrição

Manga (ID 001) Fruta da mangueira.

Manga (ID 002) Parte da vestimenta, de forma e dimensões variáveis, e que recobre o braço total ou parcialmente.

Maçã (ID 003) Fruta da macieira.

Page 12: Tutorial de Web Semântica - CompSem 2015

Taxonomias

Adaptado de http://www.mattlavery.com/photographybtqe/clasificacion-del-reino-animal

Page 13: Tutorial de Web Semântica - CompSem 2015

Partonomias

Rio de Janeiro (Estado)

Rio de Janeiro (Município)

Ilha do Fundão Ilha do Governador

Duque de Caxias

Page 14: Tutorial de Web Semântica - CompSem 2015

Redes Conceituais

Adaptado de http://proavirtualg3.pbworks.com/w/page/18671313/Terceira%20Vers%C3%A3o%20do%20Mapa

%20Conceitual

Page 15: Tutorial de Web Semântica - CompSem 2015

Ontologias

Adaptado de http://proavirtualg3.pbworks.com/w/page/18671313/Terceira%20Vers%C3%A3o%20do%20Mapa

%20Conceitual

Modelo Formal

Page 16: Tutorial de Web Semântica - CompSem 2015

Os dados são processáveis pormáquina

CREATE TABLE Pessoa

(

ID int,

Nome varchar(255),

Cidade_de_nascimento varchar(255) FOREIGN KEY

);

Page 17: Tutorial de Web Semântica - CompSem 2015

Os dados são processáveis pormáquina

ID Nome Cidade_de_Nascimento

001 Bianca Id_cidade001

ID Nome

Id_cidade001 Rio de Janeiro

Pessoa

Cidade

Page 18: Tutorial de Web Semântica - CompSem 2015

Como tornar o significado processávelpor máquina?

“Bianca”001

Id_cidade001 “Rio de Janeiro”

ID Nome Cidade_de_Nascimento

001 Bianca Id_cidade001

ID Nome

Id_cidade001 Rio de Janeiro

Pessoa

Cidade

nome

nome

cidade_de_nascimento

Page 19: Tutorial de Web Semântica - CompSem 2015

Como tornar o significado processávelpor máquina?

“Bianca”001

Id_cidade001 “Rio de Janeiro”

<001> <nome> “Bianca” .<001> <cidade_de_nascimento> <Id_cidade001> .<Id_cidade001> <nome> “Rio de Janeiro” .

nome

nome

cidade_de_nascimento

Page 20: Tutorial de Web Semântica - CompSem 2015

Como tornar o significado processávelpor máquina?

“Bianca”001

Id_cidade001 “Rio de Janeiro”

<001> <nome> “Bianca” .<001> <cidade_de_nascimento> <Id_cidade001> .<Id_cidade001> <nome> “Rio de Janeiro” .<001> <type> <Pessoa> .<Id_cidade001> <type> <Cidade> .

Pessoa

Cidade

nome

nome

cidade_de_nascimento

type

type

Page 21: Tutorial de Web Semântica - CompSem 2015

Como ligar o conhecimento com outrabase de dados?

ID Nome Cidade_de_Nascimento

001 Bianca Id_cidade001

ID Nome

Id_cidade001 Rio de Janeiro

Pessoa

Cidade

Page 22: Tutorial de Web Semântica - CompSem 2015

Como ligar o conhecimento com outrabase de dados?

• Criando mais tabelas e importando todos osdados da Wikipédia?

Minha Base de Dados

Page 23: Tutorial de Web Semântica - CompSem 2015

Como ligar o conhecimento com outrabase de dados?

• Criando mais tabelas e importando todos osdados da Wikipédia?

Minha Base de Dados

Desatualizado

Page 24: Tutorial de Web Semântica - CompSem 2015

Como ligar o conhecimento com outrabase de dados?

“Bianca”001

Pessoanome

cidade_de_nascimento

type

• Ligando diretamente com O DADO na outrabase de dados.

http://en.wikipedia.org/wiki/Rio_de_Janeiro

Page 25: Tutorial de Web Semântica - CompSem 2015

Dados Ligados (Linked Data)

Adaptado de http://lod-cloud.net/versions/2014-08-30/lod-cloud.png

Page 26: Tutorial de Web Semântica - CompSem 2015

Dados Ligados (Linked Data)

• Cada recurso na Web recebe um identificadorúnico:

http://www.imdb.com

http://www.imdb.com/title/tt1661199/?ref_=hm_otw_t0

Page 27: Tutorial de Web Semântica - CompSem 2015

Dados Ligados (Linked Data)

• Cada recurso na Web recebe um identificadorúnico:

“Bianca”http://meudominio.com.br/pe

ssoa/001

http://meudominio.com.br/cidade/Rio001

“Rio de Janeiro”

nome

nome

cidade_de_nascimento

Page 28: Tutorial de Web Semântica - CompSem 2015

Dados Ligados

FONTE: http://en.wikipedia.org/wiki/Rio_de_JaneiroFONTE: http://dbpedia.org/sparql

Page 29: Tutorial de Web Semântica - CompSem 2015

Dados Ligados (DBpedia)

“Bianca”

Pessoa

nome

cidade_de_nascimento

type

http://dbpedia.org/resource/Rio_de_Janeiro

<http://meudominio.com.br/pessoa/001> <nome> “Bianca” .<http://meudominio.com.br/pessoa/001> <cidade_de_nascimento>

<http://dbpedia.org/resource/Rio_de_Janeiro> .<http://meudominio.com.br/pessoa/001> <type> <Pessoa> .

http://meudominio.com.br/pessoa/001

Page 30: Tutorial de Web Semântica - CompSem 2015

Dados Ligados (Schema)

“Bianca”

Pessoa

nome

cidade_de_nascimento

type

http://dbpedia.org/resource/Rio_de_Janeiro

<http://meudominio.com.br/pessoa/001> <http://meudominio.com.br/vocab/nome> “Bianca” .<http://meudominio.com.br/pessoa/001> <http://meudominio.com.br/vocab/cidade_de_nascimento><http://dbpedia.org/resource/Rio_de_Janeiro> .<http://meudominio.com.br/pessoa/001> <type> <Pessoa> .

http://meudominio.com.br/pessoa/001

Page 31: Tutorial de Web Semântica - CompSem 2015

RDF Schema (Propriedades)

<?xml version=“1.0”?>

<rdf:RDFxmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"xml:base="http://meudominio.com.br/vocab/">

<rdf:Property ID=”nome"><rdfs:label xml:lang=”pt-br">nome</rdfs:label>

</rdf:Property>

<rdf:Property ID=”cidade_de_nascimento"><rdfs:label xml:lang=”pt-br">cidade de nascimento</rdfs:label>

</rdf:Property></rdf:RDF>

Page 32: Tutorial de Web Semântica - CompSem 2015

RDF Schema (Classes)

(…)

<rdf:Description rdf:ID=”Pessoa">

<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>

</rdf:Description>

(…)

Page 33: Tutorial de Web Semântica - CompSem 2015

RDF Schema (Domain and Range)

<rdf:Property ID=”propriedade">

<rdfs:range rdf:resource=”DOMAIN"/>

<rdfs:domain rdf:resource=”RANGE"/>

</rdf:Property>

DOMAINhttp://meudominio.com.br/vocab/propriedade

RANGE

Page 34: Tutorial de Web Semântica - CompSem 2015

RDF Schema (Domain and Range)

<rdf:Property ID=”nome"><rdfs:range rdf:resource="http://www.w3.org/2000/01

/rdf-schema#Literal"/><rdfs:domain rdf:resource=”#Pessoa"/>

</rdf:Property>

“Bianca”

http://meudominio.com.br/pessoa/001

http://meudominio.com.br/vocab/nome

Page 35: Tutorial de Web Semântica - CompSem 2015

RDF Schema (Domain and Range)

<rdf:Property ID=”nome"><rdfs:range rdf:resource=”http://dbpedia.org/ontology/

Place"/><rdfs:domain rdf:resource=”#Pessoa"/>

</rdf:Property>

http://meudominio.com.br/vocab/cidade_de_nascimento

http://dbpedia.org/resource/Rio_de_Janeiro

http://meudominio.com.br/pessoa/001

Page 36: Tutorial de Web Semântica - CompSem 2015

Dados Ligados (Schema)

“Bianca”

vocab:Pessoavocab:nome

vocab:cidade_de_nascimento

rdf:type

http://dbpedia.org/resource/Rio_de_Janeiro

PREFIX vocab: <http://meudominio.com.br/vocab/>PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

<http://meudominio.com.br/pessoa/001> <vocab:nome> “Bianca” .<http://meudominio.com.br/pessoa/001> <vocab:cidade_de_nascimento>

<http://dbpedia.org/resource/Rio_de_Janeiro> .<http://meudominio.com.br/pessoa/001> <rdf:type> <vocab:Pessoa> .

http://meudominio.com.br/pessoa/001

Page 37: Tutorial de Web Semântica - CompSem 2015

Linked Open Vocabularies

FONTE: http://lov.okfn.org/dataset/lov/

Page 38: Tutorial de Web Semântica - CompSem 2015

Vocabulário Friend of a Friend

FONTE: http://xmlns.com/foaf/spec/

Page 39: Tutorial de Web Semântica - CompSem 2015

Dados Ligados (Schema)

“Bianca”

Foaf:Personvocab:nome

vocab:cidade_de_nascimento

rdf:type

http://dbpedia.org/resource/Rio_de_Janeiro

(…)PREFIX foaf: http://xmlns.com/foaf/0.1/(…)<http://meudominio.com.br/pessoa/001> <rdf:type> <foaf:Person> .

http://meudominio.com.br/pessoa/001

Page 40: Tutorial de Web Semântica - CompSem 2015

Por que reutilizar vocabulários?

manga

Page 41: Tutorial de Web Semântica - CompSem 2015

RDFS

• type

• subClassOf

• subPropertyOf

• range

• domain

• label

• comment

Page 42: Tutorial de Web Semântica - CompSem 2015

Restrições Lógicas

• E se eu quiser adicionar outras restriçõeslógicas?

– 0 < altura < 3 metros

– Pessoa é disjunto a Local

– Objetos Inanimados é o complemento de SeresVivos

– …

Page 43: Tutorial de Web Semântica - CompSem 2015

OWL

• Relacionamentos entre classes(ex:disjointWith, complementOf)

• Igualdade (ex: sameAs)

• Propriedades mais expressivas (ex:symmetrical, transitive, inverseOf)

• Restrições de classe (ex: allValuesFrom)

• Permite inferências

Traduzido de http://pt.slideshare.net/rlovinger/rdf-and-owl

Page 44: Tutorial de Web Semântica - CompSem 2015

RDF vs OWL

Maria

Pedro

Juliano

Propriedade: amigo_de(transitivo)

Page 45: Tutorial de Web Semântica - CompSem 2015

Como usar os Dados Ligados?

• Perspectiva Navegacional

• Perspectiva de Base de Dados

Page 46: Tutorial de Web Semântica - CompSem 2015

Linguagem SPARQL

SELECT *

WHERE {

?s ?p ?o.

}

SELECT *

WHERE {

?s ?p ?o.

FILTER( ?s = <http://dbpedia.org/resource/Rio_de_Janeiro>)

} LIMIT 9

Page 47: Tutorial de Web Semântica - CompSem 2015

Consulta Federada

consulta

SPARQL Federado

Page 48: Tutorial de Web Semântica - CompSem 2015

Aplicações

“Bianca dará um tutorial hoje.”

http://meudominio.com.br/pessoa/001

Page 49: Tutorial de Web Semântica - CompSem 2015

Anotação Semântica

“Bianca dará um tutorial hoje.”

http://meudominio.com.br/pessoa/001

Page 50: Tutorial de Web Semântica - CompSem 2015

Busca Semântica

Bianca

Bianca Pereirahttp://meudominio.com.br/pessoa/001Pessoa

Bianca Jacksonhttp://dbpedia.org/resource/Bianca_JacksonPersonagem de Ficção

Page 51: Tutorial de Web Semântica - CompSem 2015

Busca Semântica

FONTE: https://www.google.com/?gws_rd=ssl#safe=off&q=Michael+Jackson

Page 52: Tutorial de Web Semântica - CompSem 2015

Entity Linking

Mention Recognition

I just took a flight from Dublin.

Dublin

Disambiguation

Page 53: Tutorial de Web Semântica - CompSem 2015

Entity LinkingRanking

Dublin

2nd

https://www.crunchbase.com/location/dubl

in/97c70aa17568ca5375122f181f0484a73rd

http://data.linkedmdb.org/page/film_loca

tion/275

1st http://sws.geonames.org/2964574

Page 54: Tutorial de Web Semântica - CompSem 2015

OBRIGADA

Bianca Pereira

[email protected]


Recommended