Tutorial de Web Semântica - CompSem 2015

Post on 17-Jul-2015

170 views 7 download

Transcript of Tutorial de Web Semântica - CompSem 2015

Tutorial de Web Semântica

Bianca Pereira

Primeiro Encontro em Computação Semântica

Conteúdo

• O que esperar do Tutorial?

– O que é Web Semântica?

– RDF vs OWL

– SPARQL

– Exemplo de Aplicação

Símbolo e Conceito

Símbolo e Conceito

Símbolo e Conceito

maçã

Símbolo e Conceito

Símbolo e Conceito

manga

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.

Símbolo e Conceito

Conceito

Símbolo

Conhecimento

Dado puro

Modelos de RepresentaçãoSemânticos

• Glossários

• Taxonomias/ Partonomias

• Redes Conceituais

• Ontologias

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.

Taxonomias

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

Partonomias

Rio de Janeiro (Estado)

Rio de Janeiro (Município)

Ilha do Fundão Ilha do Governador

Duque de Caxias

Redes Conceituais

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

%20Conceitual

Ontologias

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

%20Conceitual

Modelo Formal

Os dados são processáveis pormáquina

CREATE TABLE Pessoa

(

ID int,

Nome varchar(255),

Cidade_de_nascimento varchar(255) FOREIGN KEY

);

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

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

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

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

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

Como ligar o conhecimento com outrabase de dados?

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

Minha Base de Dados

Como ligar o conhecimento com outrabase de dados?

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

Minha Base de Dados

Desatualizado

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

Dados Ligados (Linked Data)

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

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

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

Dados Ligados

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

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

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

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>

RDF Schema (Classes)

(…)

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

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

</rdf:Description>

(…)

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

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

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

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

Linked Open Vocabularies

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

Vocabulário Friend of a Friend

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

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

Por que reutilizar vocabulários?

manga

RDFS

• type

• subClassOf

• subPropertyOf

• range

• domain

• label

• comment

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

– …

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

RDF vs OWL

Maria

Pedro

Juliano

Propriedade: amigo_de(transitivo)

Como usar os Dados Ligados?

• Perspectiva Navegacional

• Perspectiva de Base de Dados

Linguagem SPARQL

SELECT *

WHERE {

?s ?p ?o.

}

SELECT *

WHERE {

?s ?p ?o.

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

} LIMIT 9

Consulta Federada

consulta

SPARQL Federado

Aplicações

“Bianca dará um tutorial hoje.”

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

Anotação Semântica

“Bianca dará um tutorial hoje.”

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

Busca Semântica

Bianca

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

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

Busca Semântica

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

Entity Linking

Mention Recognition

I just took a flight from Dublin.

Dublin

Disambiguation

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

OBRIGADA

Bianca Pereira

bianca.pereira@insight-centre.org