You are on page 1of 126

Dados, Integrao de Dados e

Dados Interligados
II Workshop de Introduo a Engenharia de
Ontologias e Web Semntica
Bernadette Farias Lscio
bfl@cin.ufpe.br

PARTE 2 WEB SEMNTICA


E LINKED DATA

Web

de documentos

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Web
de

documentos
A web j possui diversos tipos de dados,
mas os dados no esto interligados
A heterogeneidade dos modelos dificulta a
integrao dos dados
Existem hiperlinks entre as pginas, mas
no existem links entre os dados!

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Web
de

documentos

Mashups podem ser criados para integrar os


dados
preciso conhecer as diferentes APIs de
acesso e os diferentes modelos de dados
para poder combin-los

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Web
de

dados

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Encontrando dados na

Web dados
de

Sig.ma
servio que permite consultar a Web de Dados sobre
um determinado tpico

Dbpedia.org
esforo da comunidade para extrair dados estruturados
da wikipedia e tornar esta informao visvel na Web

Sindice.com
servio de coleta de dados na Web de Dados. Pode ser
usado como base para construo de aplicaes
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Web

Semntica
Uma extenso da Web atual
Dados associados a metadados
Uso de vocabulrios comuns para definio
dos metadados
Recursos com identificadores nicos
A Web como um banco de dados global!

The term Semantic Web refers to W3Cs vision of the Web of linked data. (W3C)
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Web

Semntica

Principais padres:
Modelo de dados: RDF
Linguagem de consulta: SPARQL
Ontologias: OWL

Semantic Web technologies enable


people to create data stores on the Web,
build vocabularies, and write rules for
handling data. (W3C)
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

10

XML

Extensible
Markup Language
Linguagem de marcao extensvel
Metalinguagem para criao de
outras linguagens
RDF, RDFS e OWL so linguagens
baseadas em XML
Representa os dados de forma
hierrquica

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

11

XML

Extensible
Markup Language
<?xml version="1.0" encoding="utf-8"?>
<livraria>
<livro id="L01" ano="1936">
<autor> Jorge Amado </autor>
<titulo>Mar Morto</titulo>
</livro>
<livro id="L04" ano="1930">
<autor>
<nome>Rachel</nome >
<sobrenome>de Queiroz</sobrenome >
</autor>
<titulo>O Quinze</titulo>
<genero> Romance </genero>
</livro>
</livraria>

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

12

RDF
Resource Description Framework
RDF padro para publicao de
dados na Web
Modelo de dados baseado em grafos
Recursos so descritos por triplas
sujeito

predicado

objeto

A Frana tem como capital Paris!


II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

13

grafos

RDF

Zelia Gattai!
married!

Salvador!
livedIn!

Jorge Amado!
wrote!
wrote!
Mar Morto!
Tieta do Agreste!

isIn!
Bahia!
partOf!
Brazil!
partOf!
Cear!

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

14

grafos

RDF

predicado!
sujeito!
Jorge Amado! Wrote!
Zelia Gattai! Married!
Jorge Amado!

Lived in!

Is in!
Salvador!
Part of!
Bahia!
Cear!
Part of!
Jorge Amado! Wrote!

objeto!
Mar Morto!
Jorge Amado!
Salvador!
Bahia!
Brazil!
Brazil!
Tieta do Agreste!

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

15

grafos

fonte 1!

RDF

Zelia Gattai!
married!
Jorge Amado!
wrote!
Tieta do Agreste!

Salvador!
livedIn!

isIn!

Bahia!

wrote!
Mar Morto!

partOf!

Brazil!
Cear!

partOf!

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

grafos

fonte 2!

RDF

Tocaia Grande!
Seara Vermelha!

Jorge Amado!
wrote!
Mar Morto!

wrote!

A Estrela do Mar!

wrote!
wro
te!

O Mundo da Paz!

Capites da Areia!

Tieta do Agreste!

grafos

fonte 3!

RDF

Rio Grande do Norte!

Cear!
Maranho!

partOf!

Brazil!
partOf!
Bahia!

partOf!
part
Of!

partOf!

Alagoas!
Paraba!
Piau!

Pernambuco!

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Grafo combinado!
Zelia Gattai!

Salvador!

married!

livedIn!

Jorge Amado!
wro

te!

isIn!

Bahia!
partOf!

Mar Morto!

Brazil!

part
Of!

Tieta do Agreste!

Cear!

Of!
partOf!

Tocaia Grande!

partOf!

O Mundo da Paz!

Capites da Areia!

Maranho!

part

A Estrela do Mar!
part
Of

wrote!

te!
wro
wrote!

Seara Vermelha!

Alagoas!
Paraba!

Piau!
Pernambuco!

Rio Grande do Norte!

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

RDF
Mas como os grafos so combinados?
Como saber que os ns em conjuntos
de dados diferentes so
correspondentes?

fonte 1 !

?!
Jorge Amado! =!

fonte 2!
Jorge Amado!

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

URI
Uniform Resource Identifiers podem
ser usados para identificao nica de
recursos.
URI qualquer identificador nico
(ex: cpf, isbn, URL).

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

URI

http://pt.dbpedia.org/resource/Fernando_Torres_(ator)

http://pt.dbpedia.org/resource/Fernando_Torres

Por meio das URIs cada recurso pode ter


um identificador global e nico na Web!
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Serializao
de RDF
Diferentes formas de serializao
de RDF
RDF/XML
RDFa
Turtle
N-Triples

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

23

RDF/XML
<?xml version=1.0encoding = UTF-8 ?>
<rdf:RDF
xmlns: rdf = http://www.w3.org/1999/02/22-rdf-syntax-ns#>
xmlns:foaf = http://xmlns.com/foaf/0.1>
objeto
predicado
sujeito
<rdf:Description
rdf:about = http://pt.dbpedia.org/resource /
Fernanda_Montenegro>
<rdf:type rdf:resource= http://xmlns.com/foaf/0.1/Person/>
<foaf:name> Fernanda Montenegro </foaf:name>
objeto
</rdf:Description>
predicado
</rdf:RDF>
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

24

RDFa

cdigo
html

<?xml version=1.0encoding = UTF-8 ?>


<html
xmlns = http://www.w3.org/1999/xhtml
xmlns:rdf = http://www.w3.org/1999/02/22-rdf-syntax-ns#>
xmlns:foaf = http://xmlns.com/foaf/0.1>
<head>
<meta http-equiv=Content-Type
content=application/xhtml+xml; charset=UTF-8/>
<title> Pgina da Fernanda Montenegro </title>
</head>
...
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

25

RDFa

objeto

...
predicado
sujeito
<body>
<div about = http://pt.dbpedia.org/resource/Fernanda_Montenegro
typeof = foaf:Person>
predicado
<span property= foaf:name>
Fernanda Montenegro
</span>
objeto
</div>
</body>
</html>
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

26

Turtle
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
@prefix foaf: <http://xmlns.com/foaf/0.1>
sujeito
<http://pt.dbpedia.org/resource/Fernanda_Montenegro>
rdf:type foaf:Person;
foaf:name Fernanda Montenegro.

predicado

objeto

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

27

N-triples
<http://pt.dbpedia.org/resource/Fernanda_Montenegro>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://xmlns.com/foaf/0.1/Person/>
sujeito
<http://pt.dbpedia.org/resource/Fernanda_Montenegro>
<http://xmlns.com/foaf/0.1/name/>
Fernanda Montenegro.
objeto

predicado

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

28

Serializao
de RDF
Quando usar?
RDF/XML: formato j conhecido e com vasta
gama de ferramentas
RDFa: quando existe a restrio de publicao
em html
Turtle: formato mais fcil para leitura e escrita
N-Triples: para processamento de grandes
volumes de dados

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

29

Vocabulrios
RDF prov meios para descrever
recursos usando triplas <s, p, o>
No prov meios para descrever
classes e suas relaes
So necessrios taxonomias,
vocabulrios e ontologias

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

30

Vocabulrios
SKOS um vocabulrio para descrever
hierarquias conceituais (taxonomias)
RDF e OWL oferecem um vocabulrio para
descrever modelos conceituais em termos
de classes e suas propriedades
RDFS e OWL permitem a inferncia de
relacionamentos implcitos

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

31

RDFS
Utiliza-se o RDFS em conjunto com o RDF
Linguagem para descrever vocabulrios
Principais conceitos
Classes
Propriedades
Hierarquia de classes
Hierarquia de propriedades

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

RDF e RDFS
envolve range
subPropertyOf
domain

range

id

range

literal

domain

domain

fone

funcionario
domain

disciplina

ensinadoPor

range

professor
subClassOf

prof. adjunto

subClassOf
subClassOf
subClassOf

prof. substituto

prof. visitante
RDFS

Banco de Dados

ensinadoPor

Berna Farias

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

RDF

RDFS
<rdf:RDF
xmlns:rdf = http://www.w3.org/1999/02/02/22-rdf-syntax-ns#
xmlns:rdfs = http://www.w3.org/2000/01/rdf-schema# >
<rdfs:Class rdf:ID= funcionario >
<rdfs:comment> Classe de todos os funcionarios</
rdfs:comment>
</rdfs:Class>
...

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

RDFS
...
<rdfs:Class rdf:ID= professor >
<rdfs:comment>
Classe de todos os professores
</rdfs:comment>
<rdfs:subClassOf rdf:resource= #funcionario />
</rdfs:Class>
<rdfs:Class rdf:ID= disciplina >
<rdfs:comment> Classe de todas as disciplinas</
rdfs:comment>
</rdfs:Class>
...

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

RDFS
...
<rdf:Property rdf:ID= envolve >
<rdfs:comment> Relaciona disciplinas a
funcionarios
</rdfs:comment>
<rdfs:domain rdf:resource= #disciplina />
<rdfs:range rdf:resource= #funcionario />
<rdf:Property/>
...

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

RDFS
...
<rdf:Property rdf:ID= ensinadoPor >
<rdfs:comment> Herda domain e o range da propriedade
envolve
</rdfs:comment>
<rdfs:subPropertyOf rdf:resource= #envolve />
<rdf:Property/>
...
</rdf:RDF>

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

RDFS
RDFS muito limitada para descrever
detalhes dos recursos
No permite especificar
restries de cardinalidade
propriedades transitivas, inversas ou
simtricas
disjuno de classes

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

RDF e RDFS
RDF
modelo de dados para descrever recursos da Web
complementa XML oferecendo significado para o
aninhamento de tags

RDFS
linguagem para descrever vocabulrios para
domnios especficos
linguagem primitiva para descrio de ontologias
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Ontologias
Ramo da filosofia que lida com a natureza
e organizao da realidade
O que ser ?
Quais as caractersticas comuns a todos os
seres?

Cincia do ser (Aristteles)

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Ontologias
So importantes para compartilhar
conhecimento comum sobre a estrutura da
informao:
Entre pessoas
Entre agentes de software

A definio dos termos utilizados na descrio e na representao de uma


rea do conhecimento. (W3C World Wide Web Consortium)
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Ontologias
So teis para permitir a reutilizao do
conhecimento sobre um domnio:
Para evitar a reinveno da roda
Para introduzir padres que permitam a
interoperabilidade entre aplicaes

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Ontologias
Devem prover descries para:
Classes (conceitos) nos vrios domnios de
interesse
Relacionamentos entre esses conceitos
Propriedades que essas conceitos devem
possuir

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Ontologias
Requisitos das linguagens para a definio de
ontologias
Sintaxe bem-definida (informao poder ser
processada)
Semntica formal (define o conhecimento
precisamente)
Suporte para raciocnio (permite checar a
consistncia da ontologia, classificar instncias)
Poder de expressividade
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Ontologias
envolve range
subPropertyOf
domain

range

id

range

literal

domain

domain

fone

funcionario
domain

disciplina

ensinadoPor

range

professor
subClassOf

prof. adjunto

subClassOf
subClassOf
subClassOf

prof. substituto

prof. visitante

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

45

OWL
uma evoluo da linguagem DAML
+ OIL
Proposta pelo W3C
Projetada para descrever a estrutura
de um domnio em termos de
Classes
Instncias
Propriedades

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

OWL
Cabealho
<?xml version="1.0"?>
<rdf:RDF
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#">

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

OWL
Definio de Classes
<owl: Class rdf: ID= ProfessorAdjunto >
<rdfs: subClassOf rdf:resource= #Professor />
</owl: Class>

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

OWL
Disjuno entre classes
<owl:Class rdf:about="ProfessorAdjunto">
<owl:disjointWith rdf:resource="#ProfessorSubstituto"/>
<owl:disjointWith rdf:resource="#ProfessorVisitante"/>
</owl:Class>

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

OWL
Equivalncia entre classes
<owl:Class rdf:ID=Docente">
<owl:equivalentClass rdf:resource="#Professor"/>
</owl:Class>

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

OWL
Propriedades
Estabelecem relacionamentos indivduoindivduo e/ou indivduo-dados
Propriedades de objeto
Ex: ensinadoPor

Propriedade de tipo de dados


Ex: nome, fone

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

OWL
Propriedade de Tipo de Dados
<owl:DataTypeProperty rdf:ID= idade >
<rdfs:range
rdf:resource= http://www.w3.org.2001/
XMLSchema#NonNegativeInteger"/>
</owl:DataTypeProperty>

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

OWL
Propriedade de Objeto
<owl:ObjectProperty rdf:ID= ensinadoPor >
<rdfs:domain rdf:resource="#Disciplina"/>
<rdfs:range rdf:resource="#Professor"/>
<rdfs:subpropertyof rdf:resource="#envolve"/>
</owl:objectProperty>

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

OWL
Propriedades inversas
<owl:ObjectProperty rdf:ID= ensina >
<rdfs:range rdf:resource="#Disciplina"/>
<rdfs:domain rdf:resource="#Professor"/>
<owl:inverseof rdf:resource="#ensinadoPor"/>
</owl:objectProperty>

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

OWL
Restries das propriedades
Valores (allValuesFrom, someValuesFrom,
hasValue)
Cardinalidade (maxCardinality, minCardinality,
Cardinality)

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

OWL
allValuesFrom
<owl:Class rdf:about= #disciplinaObrigatoria">
<rdfs:subClassOf>
Toda disciplina
obrigatria tem que
<owl:Restriction>
ser ensinada por um
<owl:onProperty
professor adjunto!
rdf:resource="#ensinadoPor"/>
<owl:allValuesFrom
rdf:resource= ProfessorAdjunto"/>
</owl:Restriction>
<rdfs:subClassOf>
</owl:Class>
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

OWL
hasValue
<owl:Class rdf:about= #disciplinaBD">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty
rdf:resource="#ensinadoPor"/>
<owl:hasValue
rdf:resource= #91002043"/>
</owl:Restriction>

Todas as disciplinas
de BD tm que ser
ensinadas pela
professora Berna
Farias!

<rdfs:subClassOf>
</owl:Class>
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

OWL
someValuesFrom
<owl:Class rdf:about= #professor">
<rdfs:subClassOf>

Todos os
professores devem
ensinar pelo menos
uma disciplina da
ps-graduao!

<owl:Restriction>
<owl:onProperty
rdf:resource="#ensina"/>
<owl:someValuesFrom
rdf:resource= #DisciplinaPosGraduacao"/>
</owl:Restriction>
<rdfs:subClassOf>
</owl:Class>

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

OWL
Restries de cardinalidade
<owl:Class rdf:about= #disciplina">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty
rdf:resource="#ensinadoPor"/>
<owl:minCardinality rdf:datatype= &xsd;nonNegativeInteger">
1
</owl:minCardinality>
</owl:Restriction>
<rdfs:subClassOf>
</owl:Class>
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

OWL
Propriedades das propriedades: so
definidas diretamente nas propriedades
owl:TransitiveProperty
owl:SymmetricProperty
owl:FunctionalProperty
...

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

OWL
<owl:ObjectProperty rdf:ID= temMesmaNota >
<rdf:type rdf:resource= &owl;TransitiveProperty />
<rdf:type rdf:resource= &owl;SymmetricProperty />
<rdfs:domain rdf:resource = #aluno />
<rdfs:range rdf:resource = #aluno />
</owl:ObjectProperty>

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

OWL

Um professor
tem no mximo
um supervisor!

<owl:ObjectProperty rdf:ID= supervisor >


<rdf:type rdf:resource= &owl;FunctionalProperty />
<rdfs:domain rdf:resource = #professor />
<rdfs:range rdf:resource = #professor />
</owl:ObjectProperty>

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

OWL
Criao de instncias
<rdf:Description rdf:ID = 91887711 >
<rdf:type rdf:resource = #professor >
</rdf:Description>
Ou
<professor rdf:ID = 91887711 />

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica


SBBD/SBES 2007
Joo Pessoa

Reuso de
termos
Sempre que
possvel faa
uso de termos
existentes

Alguns vocabulrios!
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

64

Como navegar nos


grafos RDF?

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

65

SPARQL
Simple Protocol and RDF Query Language
- Linguagem baseada em casamento de padres
(pattern matching)
- A ideia geral consiste em casar os padres de triplas
expresssos na consulta com as triplas dos
documentos rdf consultados
- 03 formas bsicas: SELECT, ASK, CONSTRUCT

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

66

SPARQL
Componentes bsicos de uma consulta sparql:
# declaracao do prefix (abreviacao das URIs)
PREFIX foo:
...
# declaracao dos acessos ao grafos
FROM ...
# parametros a serem encontrados
SELECT ...
# query pattern
WHERE {
... }
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

67

SPARQL
Consulta: retorne os objetos de indivduos (apenas
os 10 primeiros) que tenham a propriedade
foaf:name declarada
select ?name
where{
?person foaf:name ?name .
} limit 10
Quer fazer? Acesse http://pt.dbpedia.org/sparql
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

68

SPARQL
Consulta: retorne os nomes das pessoas que so
atrizes
select ?name
where {
?person foaf:name ?name .
?person dbpedia-owl:occupation dbpedia-pt:Atriz .
} limit 10
Quer fazer? Acesse http://pt.dbpedia.org/sparql
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

69

SPARQL

Consulta: retorne os nomes das atrizes que nasceram na


cidade do Rio de Janeiro
select ?name
where {
?person dbpedia-owl:occupation dbpedia-pt:Atriz .
?person foaf:name ?name .
?person dbpedia-owl:birthPlace ?cidade.
filter (?cidade = <http://pt.dbpedia.org/resource/
Rio_de_Janeiro_(cidade)>).
} limit 100
Quer fazer? Acesse http://pt.dbpedia.org/sparql
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

70

SPARQL
Consulta: retorne os nomes das pessoas que atuaram no filme Casa de Areia
e nasceram na cidade do Rio de Janeiro.
select ?name
where {
?filme dbpedia-owl:starring ?person.
?person foaf:name ?name.
?person dbpedia-owl:birthPlace ?cidade.
filter (?cidade = <http://pt.dbpedia.org/resource/Rio_de_Janeiro_(cidade)>
&&
?filme = <http://pt.dbpedia.org/resource/Casa_de_Areia>).
} limit 100
Quer fazer? Acesse http://pt.dbpedia.org/sparql
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

71

SPARQL
Consulta: Qual o clima, vegetao e altitude da cidade de Braslia?
SELECT * WHERE {
?cidade dbpprop-pt:bioma ?vegetacao .
?cidade dbpprop-pt:altitude ?altitude .
?cidade dbpedia-owl:areaTotal ?areaT .
?cidade rdfs:label "Braslia"@pt .
}

Quer fazer? Acesse http://pt.dbpedia.org/sparql


II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

72

SPARQL
Consulta: Recupere as misses realizadas pelo astronauta Neil Armstrong.
SELECT ?nome, ?missao WHERE {
?neil dbpedia-owl:mission ?missao .
<http://pt.dbpedia.org/resource/Neil_Armstrong> foaf:name ?nome .
?neil rdf:type dbpedia-owl:Astronaut .
?neil rdfs:label "Neil Armstrong"@pt .
}

Quer fazer? Acesse http://pt.dbpedia.org/sparql


II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

73

SPARQL
Alguns endpoints:

Dbpedia
Geonames
Freebase
DBLP
Data.gov.uk
BBC
MusicBrainz
http://www4.wiwiss.fu-berlin.de/lodcloud/state/

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

74

Linked

Data

Dados RDF
interligados a outros
dados RDF esto em
Linked Data!

Linked data are empowered by technologies such as RDF, SPARQL, OWL, and SKOS. (W3C)

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

75

Princpios de

Linked Data

1!
2!

Usar URIs como nomes para recursos


Usar URIs HTTP para que as pessoas possam encontrar esses nomes

3!

Quando algum procurar por uma URI, providenciar informaes teis,


por meio de RDF

4!

Incluir sentenas RDF que ligam para outras URIs de forma que eles
possam descobrir mais recursos

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

76

1!

Usar URIs como nomes


para recursos

77

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" >

meu foaf

<foaf:Person>
<foaf:title>D.Sc</foaf:title>
<foaf:firstName>Bernadette</foaf:firstName>
<foaf:surname>Loscio</foaf:surname>
<foaf:nick>Berna</foaf:nick>
<foaf:workplaceHomepage rdf:about="www.cin.ufpe.br"/>
<foaf:mbox>bfl@cin.ufpe.br</foaf:mbox>
<foaf:depiction rdf:about="http://www.cin.ufpe.br/~bfl/images/IMG_5261.JPG"/>
<foaf:homepage rdf:about="http://www.cin.ufpe.br/~bfl/index.php"/>
<foaf:based_near>
<geo:Point geo:lat="-8.0557621" geo:long="-34.9517142"/>
</foaf:based_near>
<foaf:based_near rdf:about="http://pt.dbpedia.org/resource/Recife"/>
<foaf:Document
rdf:about="http://dblp.rkbexplorer.com/id/conf/iceis/SacramentoVMLLLC10">
<dc:title>Towards Automatic Generation of Application Ontologies.</dc:title>
</foaf:Document>
78

...
<foaf:Document
rdf:about="http://dblp.rkbexplorer.com/id/conf/iceis/SacramentoVMLLLC10">
<dc:title>Towards Automatic Generation of Application Ontologies.</dc:title>
</foaf:Document>
<foaf:Document rdf:about="http://dblp.rkbexplorer.com/id/conf/sbbd/LoscioSV01">
<dc:title>Using Agents for Generation and Maintenance of Mediators in a Data
Integration System on the Web.</dc:title>
</foaf:Document>
<rdfs:seeAlso rdf:resource="http://dblp.rkbexplorer.com/id/people-..."/>
<foaf:knows>
<foaf:Person>
<foaf:name>Fernanda Ligia R. Lopes</foaf:name>
<rdfs:seeAlso rdf:resource="http://dblp.rkbexplorer.com/id/people-..."/>
</foaf:Person>
</foaf:knows>
<foaf:knows>
<foaf:Person>
<foaf:name>Fernanda Montenegro</foaf:name>
<rdfs:seeAlso
rdf:resource="http://pt.dbpedia.org/resource/Fernanda_Montenegro"/>
</foaf:Person>
</foaf:knows>
</foaf:Person>
79
</rdf:RDF>

2!

Usar URIs HTTP para que as


pessoas possam encontrar esses
nomes

80

http://pt.dbpedia.org/page/Fernanda_Montenegro

Identifica o documento
html que descreve
Fernanda Montenegro

Accept: text/html

Identifica a pessoa
Fernanda Montenegro
http://pt.dbpedia.org/resource/Fernanda_Montenegro

Accept: application/rdf+xml
http://pt.dbpedia.org/data/Fernanda_Montenegro.xml

Cool URIs: http://www.w3.org/TR/cooluris/

Identifica o documento
xml que descreve
Fernanda Montenegro

3!

Quando algum procurar por uma


URI, providenciar informaes teis,
por meio de RDF

82

Como fornecer
informaes?
html usada para fornecer
informaes no formato de
documentos (para humanos)
rdf usado para fornecer
informaes no formato de dados
(para processamento)
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

83

O que publicar?
Triplas (usando literais, fornecendo
links)
Descrio do conjunto de dados
Informaes sobre a provenincia do
conjunto de dados
Vocabulrios

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

84

4!

Incluir sentenas RDF que ligam


para outras URIs de forma que eles
possam descobrir mais recursos

85

Como conectar?
Inclua links para conjuntos de dados externos
O sujeito da tripla est em um conjunto de dados
O objeto da tripla est em outro conjunto de
dados

Permite conectar fontes isoladas


Facilita a descoberta

86

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica


June 4, 2012

Como conectar?
Inclua links para estabelecer relacionamentos
de identidade
Inclua links para estabelecer correspondncias
entre vocabulrios
Inclua links para estabelecer relacionamentos
entre recursos (no mesmo conjunto ou em
conjuntos separados)
87

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica


June 4, 2012

Como publicar
em RDF?
Arquivos RDF estticos
RDF em html (RDFa)
Ferramentas de extrao de RDF a
partir de dados estruturados e semiestruturados

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

88

Criando Linked Data


Linked Data

Web Server

Linked Data
Interface

Triplestore

Entity Extractor

XML2RDF, XLS2RDF,
CVS2RDF

Unstructured

Semi-structured

RDB2RDF
(i.e. Ultrawrap)

RDB2RDF

CMS with RDFa,


Semantic Wiki

Custom Linked
Data Wrapper

Data source
with API

RDB

Data
Publication

Data
Storage

Data
Preparation
Structured

Type of Data

Linked Data Evolving the Web into a Global Data Space Tom Heath and Christian Bizer

Consumindo Linked Data


Aplicao

Mapeamento de
esquemas

Resoluo de
co-referncia

Provenincia

Acesso aos dados

Linked Data

CRIANDO LINKED DATA


http://www.slideshare.net/juansequeda/linked-data-tutorial-at-semtech-2012

Consumindo
Linked Data
Matching de esquemas
Vocabulrios diferentes usam termos diferentes para os
mesmos conceitos (dc:name e foaf:name)

Resoluo de co-referncia
A mesma entidade sendo representada por
identificadores (URI) diferentes

Provenincia
importante para o conhecimento da qualidade
(confiana) dos dados
91

Arquiteturas de aplicaes
Linked Data
Centralizada
Federada
Navegao entre links

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

92

Centralizada
APLICAO
SPARQL

REPOSITRIO DE TRIPLAS

CRIAO DE LINKED DATA


Adaptado de http://www.slideshare.net/juansequeda/linked-data-tutorial-at-semtech-2012

Centralizada
Vantagem

Considera conjuntos de dadoas conhecidos


Melhor desempenho
Fica mais fcil criar consultas complexas e realizar
inferncias

Drawbacks

Os dados so replicados
Grande esforo inicial para criao do repositrio
de triplas
Os dados podem ficar desatualizados

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Federada
APLICAO
SPARQL

MEDIADOR

SPARQL

SPARQL

SPARQL

RDB2RDF
Triplestore

Relational
Database

SPARQL

RDB2RDF
Triplestore

Relational
Database

Adaptado de http://www.slideshare.net/juansequeda/linked-data-tutorial-at-semtech-2012

Federada
Vantagem
Considera conjuntos de dados conhecidos
Consulta dados atualizados

Desvantagem
Requer a existncia de endpoints SPARQL
Esforo inicial para configurar o mediador

96
www.capsenta.com
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica
June 4, 2012

Navegao entre links


APLICAO
SPARQL

MECANISMO DE CONSULTA DE
NAVEGAO ENTRE LINKS
Linked Data

RDB2RDF
Triplestore

Relational
Database

Adaptado de http://www.slideshare.net/juansequeda/linked-data-tutorial-at-semtech-2012

Navegao entre links


Vantagem
No preciso conhecer as fontes
No depende da existncia de endpoints
SPARQL
Consulta dados atualizados

Desvantagem
Tempo de execuo de consulta baixo
Resultados podem ser incompletos
Ainda em desenvolvimento
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica
June 4, 2012

Quem est
publicando em
linked data?

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

99

Linked
Open

Data

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

100

Maio 2007

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Out./2007

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Nov. 2007

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Fev. 2008

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Maro 2008

www.capsenta.com
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Set. 2008

www.capsenta.com
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Maro 2009 (1)

www.capsenta.com
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Maro 2009 (2)

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Julho 2009

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Set. 2010

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Set. 2011

Linking Open Data cloud diagram, by


Richard Cyganiak and Anja Jentzsch.
http://lod-cloud.net/

Linked

OpenData
os ns so conjuntos de dados publicados
em formato Linked Data
o tamanho dos crculos corresponde
ao nmero de triplas em cada conjunto de dados
as setas indicam a existncia de pelo
menos 50 ligaes entre dois conjuntos de dados
uma ligao (link) uma tripla RDF, onde sujeito e objeto
esto em namespaces de conjuntos de dados diferentes
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

112

Linked

OpenData
Categorias dos conjuntos de dados:
Mdia
Geogrficos
Governo
Publicaes
cross-domain
Life science
Gerados pelo usurio
http://www4.wiwiss.fu-berlin.de/lodcloud/state/
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

113

Aplicaes e

Ferramentas

114

Aplicaes para
consumo de Dados
Browsers Linked Data
Motores de Busca
Aplicaes para domnios
especficos

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Browsers Linked Data


Marbles
http://www5.wiwiss.fu-berlin.de/marbles/
Entra com uma URI
Pontos coloridos so usados para correlacionar a
origem dos dados apresentados com as fontes de
dados de onde foram encontrados.
Os dados so recuperados de mltiplas fontes e
integrados em um nico grafo que mantido atravs
das sesses do usurio.

Para testar
http://dbpedia.org/resource/
Beijing_Capital_International_Airport
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Browsers Linked Data


Quick and Dirty RDF browser
http://graphite.ecs.soton.ac.uk/browser/
Browser RDF
til para verificar RDF ou RDFa
Para testar:
http://dbpedia.org/resource/
Beijing_Capital_International_Airport

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Motores de Busca
Sindice ndice de documentos RDF
(20 milhes)
http://www.sindice.com/

Sig.ma - interface de busca baseada em


Sindice, fazendo mapeamento de
esquemas base em informaes de
filtragem.
http://blog.sindice.com/2009/07/22/sigmalive-views-on-the-web-of-data/
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Motores de Busca
Swoogle - ndice de documentos RDF (2.3
milhes)
http://swoogle.umbc.edu/

Semantic Web Search Engine busca


de recursos por palavra-chave
http://swse.deri.org/

SameAs

Usurio entra com uma URI e o Servio realiza


uma busca por URIs equivalentes
http://sameas.org/

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Aplicaes para
Domnios Especficos
DBpedia Mobile - Com base na posio
GPS atual, DBpedia Mobile mostra um
mapa contendo informaes sobre locais
prximos provindos do conjunto de dados
DBpedia.
http://mes-semantics.com/DBpediaMobile/
Datasets Usados: GeoNames, Revyu,
EuroStat, Flickr.
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Aplicaes para
Domnios Especficos
LinkedDataGeo
Aplicativo para encontrar recursos linkados de
dados geogrficos
http://browser.linkedgeodata.org/?#

Vocabulrios Usados:
FOAF

Person

Organization Ontology

Organizations

OWL-Time

Time

Event Ontology

Events (sort of)

SIOC

Linking online communities,


wikis, blogs

SKOS

Thesauri, classification
schemes, taxonomies

Dublin Core

Authoring Metadata

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Ferramentas para Publicao


de Dados Ligados
SPARQL Endpoints
Pubby - http://www4.wiwiss.fu-berlin.de/pubby/
Virtuoso - http://lod.openlinksw.com/sparql
Fuseki http://jena.apache.org/documentation/
serving_data/index.html
Joseki - http://joseki.sourceforge.net/

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Ferramentas para Publicao


de Dados Ligados
Bibliotecas e Frameworks
Graphite PHP Linked Data Library
Biblioteca para trabalhar com RDF a partir de
PHP.
http://graphite.ecs.soton.ac.uk/

Paget framework para construo de


aplicaes Linked Data.
http://code.google.com/p/paget/
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Ferramentas para Publicao


de Dados Ligados
PublishMyData plataforma que
oferece APIs para Linked Data, SPARQL
Endpoint e Visualizaes customizadas.
http://publishmydata.com/

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Ferramentas para Publicao


de Dados Ligados
Linked Data/RDF Editors
Hyena: RDF Editor

Validators
Sindice Web Data Inspector http://inspector.sindice.com/
Eyeball - http://jena.sourceforge.net/Eyeball/
W3C Validation Service http://www.w3.org/RDF/Validator/
II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

Concluses

II Workshop de Introduo a Engenharia de Ontologias e Web Semntica

126

You might also like