tutorial de web semântica - compsem 2015
TRANSCRIPT
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