77
7/3/2005 (c) Marco A. Casanova - PUC-Rio 1 Tecnologias de Banco de Dados para a Web Semântica Módulo 2b - Ontologias - RDF Marco A. Casanova

Ontologias - RDF

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 1

Tecnologias de Banco de Dados para a Web Semântica

Módulo 2b - Ontologias - RDF

Marco A. Casanova

Page 2: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 2

Tópicos

• Introdução

• URIref e Qname

• RDF Básica

• RDF/XML

• Outros recursos de RDF

• RDF Schema

• Exemplos de RDF Schemas

Page 3: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 3

Introdução

• RDF:

– provê uma linguagem comum que as aplicações podem utilizar para intercambiar informação, sem perda de significado:

• informação sobre recursos na Web, particularmente metadados

• informação sobre objetos que podem ser identificados na Web, mesmo que não possam ser recuperados pela Web(como produtos vendidos pela Web)

Page 4: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 4

URIref e Qname

• URI Reference (URIref):

– uma URI com um identificador de fragmento opcional

– utilizada para identificar:• indivíduos, e.g., Eric Miller, identificado por

http://www.w3.org/People/EM/contact#me

• tipos de objetos, e.g., Person, identificado por http://www.w3.org/2000/10/swap/pim/contact#Person

• propriedades de objetos, e.g., mailbox, identificado por http://www.w3.org/2000/10/swap/pim/contact#mailbox

• valores das propriedades, e.g. mailto:[email protected], identificado por http://www.example.org/staffem/85741

Page 5: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 5

URIref e Qname

• Qualified Name (QName):– uma abreviação para uma URI reference

• QName prefix: – uma abreviação para um URI namespace

• Exemplo:– foo é um QName prefix abreviando o URI namespace

http://example.org/somewhere/– foo:bar é um QName abreviando a URIref

http://example.org/somewhere/bar

Page 6: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 6

URIref e Qname

• Exemplos de QName prefix mais usados:

rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#rdfs: http://www.w3.org/2000/01/rdf-schema#dc: http://purl.org/dc/elements/1.1/daml: http://www.daml.org/2001/03/daml+oil#ex: http://www.example.org/ xsd: http://www.w3.org/2001/XMLSchema#

Page 7: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 7

RDF Básica

• RDF Model:

– um recurso em RDF é qualquer URIref

– uma afirmação em RDF é uma tripla (S, P, O),entendida como “S possui P com valor O”, onde

• S é o sujeito da afirmação, designado por um recurso

• P é o predicado da afirmação, designado por um recurso

• O é o o objeto da afirmação, designado por um recurso ou literal

Page 8: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 8

RDF Básica

• RDF Model:

– um grupo de afirmações em RDF deve ser entendido como a conjunção das afirmações

Page 9: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 9

RDF Básica

• Exemplo:

“http://www.example.org/index.htmlhas a creatorwhose value is John Smith”

sujeito: http://www.example.org/index.html

predicado: http://purl.org/dc/elements/1.1/creator (URI para “creator”)

objeto: http://www.example.org/staffid/85740 (URI para “John Smith”)

Page 10: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 10

RDF Básica

• Notação em triplas:<http://www.example.org/index.html>

<http://purl.org/dc/elements/1.1/creator><http://www.example.org/staffid/85740>.

• Notação em grafo:

Sujeito

Objeto

propriedade

Page 11: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 11

<http://www.example.org/index.html> <http://purl.org/dc/elements/1.1/creator>

<http://www.example.org/staffid/85740> .

<http://www.example.org/index.html> <http://www.example.org/terms/creation-date> "August 16, 1999" .

<http://www.example.org/index.html> <http://www.example.org/terms/language> "English" .

literais

Page 12: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 12

RDF Básica

Page 13: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 13

RDF Básica

• Valores estruturados de propriedadese nós vazios:

exstaff:85740 exterms:address _:johnaddress .

_:johnaddress exterms:street "1501 Grant Avenue" .

_:johnaddress exterms:city "Bedford" .

_:johnaddress exterms:state "Massachusetts" .

_:johnaddress exterms:Zip "01730" .

Page 14: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 14

RDF Básica

nó vazio

Page 15: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 15

RDF Básica

• Literais tipados:

ex:index.html exterms:creation-date "1999-08-16"^^xsd:date .

Page 16: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 16

RDF/XML

• Exemplo:ex:index.html exterms:creation-date "August 16, 1999" .

ex:index.html exterms:language "English" .ex:index.html dc:creator http://www.example.org/staffid/85740 .

<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:dc="http://purl.org/dc/elements/1.1/"xmlns:exterms="http://www.example.org/terms/">

<rdf:Description rdf:about="http://www.example.org/index.html"><exterms:creation-date>August 16, 1999</exterms:creation-date><exterms:language>English</exterms:language><dc:creator rdf:resource="http://www.example.org/staffid/85740"/>

</rdf:Description></rdf:RDF>

Page 17: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 17

<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:dc="http://purl.org/dc/elements/1.1/"xmlns:exterms="http://www.example.org/terms/">

<rdf:Description rdf:about="http://www.example.org/index.html"><exterms:creation-date>August 16, 1999</exterms:creation-date><exterms:language>English</exterms:language><dc:creator rdf:resource="http://www.example.org/staffid/85740"/>

</rdf:Description></rdf:RDF>

Page 18: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 18

RDF/XML

• rdf:RDF

– indica que o documento XML define afirmações em RDF

• rdf:Description

– indica o início da descrição de um recurso

<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:dc="http://purl.org/dc/elements/1.1/"xmlns:exterms="http://www.example.org/terms/">

<rdf:Description rdf:about="http://www.example.org/index.html"><exterms:creation-date>August 16, 1999</exterms:creation-date><exterms:language>English</exterms:language><dc:creator rdf:resource="http://www.example.org/staffid/85740"/>

</rdf:Description></rdf:RDF>

Page 19: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 19

RDF/XML

• rdf:about

– valor do atributo é uma URIref identificando o recurso

• property elements– aninhados no elemento "rdf:Description"– indicam que a propriedade aplica-se ao recurso em "rdf:about"

<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:dc="http://purl.org/dc/elements/1.1/"xmlns:exterms="http://www.example.org/terms/">

<rdf:Description rdf:about="http://www.example.org/index.html"><exterms:creation-date>August 16, 1999</exterms:creation-date><exterms:language>English</exterms:language><dc:creator rdf:resource="http://www.example.org/staffid/85740"/>

</rdf:Description></rdf:RDF>

Page 20: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 20

RDF/XML

• rdf:ID– indica o uso de um fragment identifier, uma abreviação

para a URIref completa do recurso sendo descrito

– a URIref completa para o recurso é criada concatenando-se:

• a base URI• com o símbolo "#" • com o valor de "rdf:ID"

– rdf:ID="fragment identifier" é equivalente a rdf:about="#fragment identifier"

Page 21: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 21

RDF/XML

• Exemplo:– fragment identifier: item10245 – base URI: http://www.example.com/2002/04/products– URIref equivalente:

http://www.example.com/2002/04/products#item10245

<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:exterms="http://www.example.com/terms/"><rdf:Description rdf:ID="item10245">

<exterms:model>Overnighter</exterms:model><exterms:sleeps>2</exterms:sleeps><exterms:weight>2.4</exterms:weight><exterms:packedSize>14x56</exterms:packedSize>

</rdf:Description> </rdf:RDF>

Page 22: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 22

RDF/XML

• XML base– por default, a base URI é a URI do documento que contém as

afirmações em RDF– alternativamente, a base URI pode ser indicada explicitamente

através do atributo xml:base

<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:exterms="http://www.example.com/terms/" xml:base="http://www.example.com/2002/04/products">

<rdf:Description rdf:ID="item10245"> <exterms:model>Overnighter</exterms:model> <exterms:sleeps>2</exterms:sleeps><exterms:weight>2.4</exterms:weight> <exterms:packedSize>14x56</exterms:packedSize>

</rdf:Description> </rdf:RDF>

Page 23: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 23

RDF/XML

• rdf:type

– propriedade tal que:• valor da propriedade:

– recurso representando uma categoria ou classe de objetos

• sujeito da propriedade:

– instância da categoria ou classe

Page 24: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 24

RDF/XML

• Exemplo de rdf:type<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:exterms="http://www.example.com/terms/"xml:base="http://www.example.com/2002/04/products">

<rdf:Description rdf:ID="item10245"><rdf:type rdf:resource="http://www.example.com/terms/Tent" /><exterms:model>Overnighter</exterms:model><exterms:sleeps>2</exterms:sleeps><exterms:weight>2.4</exterms:weight><exterms:packedSize>14x56</exterms:packedSize>

</rdf:Description>

...other product descriptions...

</rdf:RDF>

Page 25: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 25

RDF/XML

• Exemplo de notação simplificada para rdf:type<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:exterms="http://www.example.com/terms/"xml:base="http://www.example.com/2002/04/products">

<exterms:Tent rdf:ID="item10245"><exterms:model>Overnighter</exterms:model><exterms:sleeps>2</exterms:sleeps><exterms:weight>2.4</exterms:weight><exterms:packedSize>14x56</exterms:packedSize>

</exterms:Tent>

...other product descriptions...

</rdf:RDF>

Page 26: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 26

RDF/XML

• Exemplo de uso de literais tipados

<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:exterms="http://www.example.org/terms/">

<rdf:Description rdf:about="http://www.example.org/index.html"><exterms:creation-date rdf:datatype=

"http://www.w3.org/2001/XMLSchema#date">1999-08-16</exterms:creation-date>

</rdf:Description>

</rdf:RDF>

ex:index.html exterms:creation-date "1999-08-16"^^xsd:date .

Page 27: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 27

Outros recursos de RDF

• RDF Containers

– um container é um recurso que contém objetos, chamados de membros

– os membros podem ser recursos ou literais

Page 28: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 28

Outros recursos de RDF

• RDF Containers

– tipos de containers: • rdf:Bag tipo dos containers que designam

conjuntos ("bag") de recursos ou literais

• rdf:Seq tipo dos containers que designam seqüências de recursos ou literais

• rdf:Alt tipo dos containers que designam grupos de recursos ou literais que representam alternativas

Page 29: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 29

Outros recursos de RDF

Page 30: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 30

Outros recursos de RDF

• Exemplo de rdf:Bag<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:s="http://example.edu/students/vocab#">

<rdf:Description rdf:about="http://example.edu/courses/6.001"><s:students>

<rdf:Bag><rdf:li rdf:resource="http://example.edu/students/Amy"/><rdf:li rdf:resource="http://example.edu/students/Tim"/><rdf:li rdf:resource="http://example.edu/students/John"/><rdf:li rdf:resource="http://example.edu/students/Mary"/><rdf:li rdf:resource="http://example.edu/students/Sue"/>

</rdf:Bag></s:students>

</rdf:Description></rdf:RDF>

Page 31: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 31

Outros recursos de RDF

Page 32: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 32

Outros recursos de RDF

• Exemplo de rdf:Alt<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:s="http://example.org/packages/vocab#">

<rdf:Description rdf:about="http://example.org/packages/X11"><s:DistributionSite>

<rdf:Alt><rdf:li rdf:resource="ftp://ftp.example.org"/><rdf:li rdf:resource="ftp://ftp.example1.org"/><rdf:li rdf:resource="ftp://ftp.example2.org"/>

</rdf:Alt></s:DistributionSite>

</rdf:Description></rdf:RDF>

Page 33: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 33

Outros recursos de RDF

• RDF Collection

– um grupo de objetos representado como uma lista em RDF através do seguinte vocabulário:

• rdf:List tipo das listas de recursos ou literais

• rdf:first primeiro elemento de uma lista

• rdf:rest resto de uma lista

• rdf:nil lista vazia

Page 34: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 34

Page 35: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 35

Outros recursos de RDF

• Exemplo de RDF Collection<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:s="http://example.edu/students/vocab#">

<rdf:Description rdf:about="http://example.edu/courses/6.001"><s:students rdf:parseType="Collection">

<rdf:Description rdf:about="http://example.edu/students/Amy"/><rdf:Description rdf:about="http://example.edu/students/Tim"/><rdf:Description rdf:about="http://example.edu/students/John"/>

</s:students></rdf:Description>

</rdf:RDF>

Page 36: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 36

Outros recursos de RDF

• RDF Reification

– rdf:Statement indica que a afirmação é sobre outra afirmação

– rdf:subject sujeito da afirmação

– rdf:predicate predicado da afirmação

– rdf:object objeto da afirmação

Page 37: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 37

Outros recursos de RDF

• Exemplo de RDF Reification[[exproducts:item10245 exterms:weight "2.4" .]] dc:creator exstaff:85740 .

_:xxx rdf:type rdf:Statement ._:xxx rdf:subject exproducts:item10245 . _:xxx rdf:predicate exterms:weight . _:xxx rdf:object "2.4" ._:xxx dc:creator exstaff:85740 .

1. Estas triplas indicam que "há uma afirmação cujo sujeito é"exproducts:item10245", cujo predicado é "exterms:weight", e cujo objeto é "2.4" e que a afirmação foi feita pelo recurso identificado por "exstaff:85740" "

2. Estas triplas não indicam que a afirmação (identificada por "_:xxx") é a mesma que alguma afirmação específica em um documento RDF.

Page 38: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 38

Resumo do Vocabulário

valor da propriedade é um recurso representando uma categoria ou classe de objetos;sujeito da propriedade é uma instância da categoria ou classe

rdf:type

classe das propriedadesrdf:Property

elementos aninhados no elemento "rdf:Description";indicam que a propriedade aplica-se ao recurso descrito

property elements

termo indicando um recursordf:resource

termo indicando um fragment identifier identificando o recursordf:ID

termo indicando uma URIref identificando o recursordf:about

termo indicando o início da descrição de um recursordf:Description

termo indicando que o documento define afirmações em RDF

Descrição

rdf:RDF

Termos Básicos

Page 39: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 39

Resumo do Vocabulário

classe dos grupo de recursos ou literais que representam alternativas

rdf:alt

indica um elementordf:li

classe dos conjuntos ("bag") de recursos ou literaisrdf:Bag

classe das seqüência de recursos ou literais

Descrição

rdf:Seq

RDF Container

Page 40: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 40

Resumo do Vocabulário

recurso indicando a lista vaziardf:nil

(equivalente a rdf:List em RDF/XML)rdf:parseType="Collection"

propriedade indicando o resto de uma listardf:rest

classe das listas de recursos ou literaisrdf:List

propriedade indicando o primeiro elemento de uma listardf:first

DescriçãoRDF Collection

Page 41: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 41

Resumo do Vocabulário

propriedade indicando o predcado da afirmaçãordf:predicate

propriedade indicando o objeto da afirmaçãordf:object

propriedade indicando o sujeito da afirmaçãordf:subject

tipo indicando que a afirmação é sobre outra afirmação

Descrição

rdf:Statement

RDF Reification

Page 42: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 42

RDF Schema

• Definição de RDF Schema (RDFS):

– sistema de tipos para RDF, permitindo definir:• classes

• hierarquia de classes

• propriedades de classes

– usa o próprio RDF para especificar o sistema de tipos

Page 43: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 43

RDF Schema

• Definição de RDF Schema (RDFS):

– provê um conjunto de recursos e propriedades:• com significado definido

• utilizado para descrever classes e propriedades de uma aplicação

• forma um vocabulário reservado (de RDF Schema) estendendo o vocabulário de RDF

Page 44: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 44

RDF Schema

• Vocabulário de RDF:

rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#

• Vocabulário de RDF Schema:

rdfs: http://www.w3.org/2000/01/rdf-schema#

• Namespace usado para os exemplos:

ex: http://www.example.org/

Page 45: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 45

RDF Schema

• Definição de classe:

– sujeito: o nome da classe

– propriedade: rdf:type

– objeto: rdfs:Class

• Exemplo:ex:MotorVehicle rdf:type rdfs:Class .

(nota: triplas usando QName prefixes dispensam o uso de “<“e “>”)

Page 46: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 46

RDF Schema

• Definição de classe em RDF/XML:

– xml:base: ex:

– tripla: ex:MotorVehicle rdf:type rdfs:Class .

<?xml version="1.0"?><rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#“>

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

</rdf:Description>

</rdf:RDF>

Page 47: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 47

RDF Schema

• Definição de subclasse:

– sujeito:o recurso identificando o nome da classe

– propriedade: rdfs:subClassOf

– objeto: o recurso identificando o nome da classe

• Exemplo:ex:Van rdf:type rdfs:Class .

ex:Van rdfs:subClassOf ex:MotorVehicle .

Page 48: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 48

RDF Schema

• Subclasse (cont.):

– a propriedade “rdfs:subClassOf” é transitiva

• Exemplo de subclasses transitivas:ex:Van rdf:type rdfs:Class . ex:MinVan rdf:type rdfs:Class . ex:Van rdfs:subClassOf ex:MotorVehicle . ex:MinVan rdfs:subClassOf ex:Van .

ex:MinVan rdfs:subClassOf ex:MotorVehicle .

Page 49: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 49

Page 50: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 50

RDF Schema

• Exemplo de esquema em triplas:ex:MotorVehicle rdf:type rdfs:Class .

ex:PassengerVehicle rdf:type rdfs:Class .

ex:Van rdf:type rdfs:Class .

ex:Truck rdf:type rdfs:Class .

ex:MiniVan rdf:type rdfs:Class .

ex:PassengerVehicle rdfs:subClassOf ex:MotorVehicle .

ex:Van rdfs:subClassOf ex:MotorVehicle .

ex:Truck rdfs:subClassOf ex:MotorVehicle .

ex:MiniVan rdfs:subClassOf ex:Van .

ex:MiniVan rdfs:subClassOf ex:PassengerVehicle .

Page 51: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 51

<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">

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

</rdf:Description>

<rdf:Description rdf:ID="PassengerVehicle"><rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/><rdfs:subClassOf rdf:resource="#MotorVehicle"/>

</rdf:Description>

<rdf:Description rdf:ID="Truck"><rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/><rdfs:subClassOf rdf:resource="#MotorVehicle"/>

</rdf:Description>

<rdf:Description rdf:ID="Van"><rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/><rdfs:subClassOf rdf:resource="#MotorVehicle"/>

</rdf:Description>

<rdf:Description rdf:ID="MiniVan"><rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/><rdfs:subClassOf rdf:resource="#Van"/><rdfs:subClassOf rdf:resource="#PassengerVehicle"/>

</rdf:Description>

</rdf:RDF>

Exemplo de esquema em RDF/XML

Page 52: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 52

RDF Schema

• Definição de instância de classe:

– sujeito:o recurso identificando a instância da classe

– propriedade: rdf:type

– objeto: o recurso identificando o nome da classe

• Exemplo:ex:companyCar rdf:type ex:MotorVehicle .

Page 53: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 53

RDF Schema

• Definição de inst. de classe em RDF/XML:

– xml:base: ex:

– tripla: ex:companyCar rdf:type ex:MotorVehicle .

<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:ex="http://example.org/schemas/vehicles"> <rdf:Description rdf:ID="companyCar">

<rdf:typerdf:resource="http://example.org/schemas/vehicles#MotorVehicle"/>

</rdf:Description> </rdf:RDF>

Page 54: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 54

RDF Schema

• Definição de inst. de classe em RDF/XML:

– xml:base: ex:

– tripla: ex:companyCar rdf:type ex:MotorVehicle .

<?xml version="1.0"?><rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#“>

<rdf:Description rdf:ID="companyCar"><rdf:type rdf:resource=“#MotorVehicle"/>

</rdf:Description>

</rdf:RDF>

URIref relativa

Page 55: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 55

RDF Schema

• Definição de inst. de classe em RDF/XML:

– xml:base: ex:

– tripla: ex:companyCar rdf:type ex2:MotorVehicle .

<?xml version="1.0"?><rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ex2="http://example.org/schemas/vehicles">

<rdf:Description rdf:ID="companyCar"><rdf:type rdf:resource=“ex2:#MotorVehicle"/>

</rdf:Description>

</rdf:RDF>

Page 56: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 56

RDF Schema

• Definição de propriedade:

– sujeito:o recurso identificando o nome da propriedade

– propriedade: rdf:type

– objeto: rdf:Property (uma classe definida em RDF)

• Exemplo:exterms:weightInKg rdf:type rdf:Property .

Page 57: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 57

RDF Schema

• Definição de domínio (Domain):

– sujeito:o recurso identificando o nome da propriedade

– propriedade: rdfs:domain

– objeto: o recurso identificando o nome de uma classe

• Exemplos:ex:Book rdf:type rdfs:Class . ex:author rdf:type rdf:Property . ex:author rdfs:domain ex:Book .

Page 58: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 58

RDF Schema

• Definição de contradomínio (Range):

– sujeito:o recurso identificando o nome da propriedade

– propriedade: rdfs:range

– objeto: o recurso identificando o nome de uma classe ouo nome de um XSD data type

• Exemplos:ex:Person rdf:type rdfs:Class . ex:age rdf:type rdf:Property .ex:author rdf:type rdf:Property . ex:age rdfs:range xsd:integer . ex:author rdfs:range ex:Person . xsd:integer rdf:type rdfs:Datatype .

Page 59: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 59

<rdf:Description rdf:ID="registeredTo"><rdf:type

rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/><rdfs:domain rdf:resource="#MotorVehicle"/><rdfs:range rdf:resource="#Person"/>

</rdf:Description>

<rdf:Description rdf:ID="rearSeatLegRoom"><rdf:type

rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/><rdfs:domain rdf:resource="#PassengerVehicle"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/>

</rdf:Description>

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

</rdf:Description>

<rdf:Description rdf:about="http://www.w3.org/2001/XMLSchema#integer"><rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Datatype"/>

</rdf:Description>

Exemplo de propriedades em RDF/XML

Page 60: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 60

RDF Schema

• Subpropriedade:

– sujeito:o recurso identificando o nome da propriedade

– propriedade: rdfs:subPropertyOf

– objeto: recurso identificando o nome da sub-propriedade

• Exemplo de definição de sub-propriedade:ex:driver rdf:type rdf:Property . ex:primaryDriver rdf:type rdf:Property . ex:primaryDriver rdfs:subPropertyOf ex:driver .

Page 61: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 61

RDF Schema

• Exemplo em RDF/XML:

<rdf:Description rdf:ID="driver"> <rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/> <rdfs:domain rdf:resource="#MotorVehicle"/>

</rdf:Description>

<rdf:Description rdf:ID="primaryDriver"> <rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/> <rdfs:subPropertyOf rdf:resource="#driver"/>

</rdf:Description>

Page 62: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 62

RDF Schema

• Instância de propriedade:

– sujeito:recurso identificando uma instância de uma classe

– propriedade: o nome da propriedade

– objeto:recurso identificando uma instância de uma classe ou literal indicando o valor da propriedade

• Exemplo:ex:JohnSmithsCar ex:registeredTo ex:85740 .

Page 63: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 63

RDF Schema

• Instância de propriedade em RDF/XML:

<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:ex="http://example.org/schemas/vehicles"> <rdf:Description rdf:ID="johnSmithsCar">

<rdf:typerdf:resource="http://example.org/schemas/vehicles#PassengerVehicle"/><ex:registeredTo rdf:resource="http://www.example.org/staffid/85740"/> <ex:rearSeatLegRoom

rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">127

</ex:rearSeatLegRoom> <ex:primaryDriver rdf:resource="http://www.example.org/staffid/85740"/>

</rdf:Description> </rdf:RDF>

Page 64: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 64

RDF Schema

• Forma abreviada em RDF/XML:

<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:ex="http://example.org/schemas/vehicles"> <ex:PassengerVehicle rdf:ID="johnSmithsCar">

<ex:registeredTo rdf:resource="http://www.example.org/staffid/85740"/> <ex:rearSeatLegRoom

rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">127

</ex:rearSeatLegRoom> <ex:primaryDriver rdf:resource="http://www.example.org/staffid/85740"/>

</ex:PassengerVehicle></rdf:RDF>

Page 65: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 65

RDF Schema

• Interpretação de um RDF Schema:

– regra de escopo para propriedades:• linguagens de programação:

– o escopo de um atributo é restrito à classe ou tipo em que é definido

• RDF:

– o escopo de uma propriedade é global, ou seja, independente da definição das classes

Page 66: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 66

RDF Schema

• Interpretação de um RDF Schema:

– papel das descrições em um esquema:• linguagens de programação:

– a definição dos tipos ou classes é prescritiva

• RDF:

– um RDF schema é apenas uma descrição adicional dos recursos

– a aplicação decide como interpretar o esquema

Page 67: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 67

RDF Schema

• Interpretação de um RDF Schema (cont.):

– papel das descrições em um esquema:• uma descrição de uma instância pode ser considerada válida

(por uma aplicação)

– sem que especifique alguma propriedade definida no esquema

ou

– com uma propriedade adicional não descrita no esquema

Page 68: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 68

RDF Schema

rdf:Property

rdfs:Classrdfs:Resource

Recurso

rdf:typerdfs:domainrdfs:rangerdfs:subPropertyOf

rdf:typerdfs:subClassOf

Propriedade

Propriedade de classe

Classe

Conceito

Vocabulário de RDF Schema

Page 69: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 69

Exemplos de RDF Schemas

• Dublin Core Metadata Initiativehttp://dublincore.org/documents/dces/

– conjunto mínimo de elementos descritivos para facilitar a descrição e indexação automática de objetos, como documentos, interligados entre si, de forma semelhante ao catálogo de uma biblioteca

Page 70: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 70

Exemplos de RDF Schemas<?xml version="1.0" encoding="UTF-8"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:dc="http://purl.org/dc/elements/1.1/"xml:lang="en-US">

<rdf:Description rdf:about="http://wanderlust.com/2000/08/Corfu.jpg"><dc:identifier rdf:resource="http://wanderlust.com/content/2357845" /><dc:description>Photograph taken at 6:00 am on Corfu with two models</dc:description><dc:title>Walking on the Beach in Corfu</dc:title><dc:creator>John Peterson</dc:creator><dc:contributor>Sally Smith, lighting</dc:contributor><dc:format>image/jpeg</dc:format>

</rdf:Description>

</rdf:RDF>

Page 71: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 71

Exemplos de RDF Schemas

• PRISM: Publishing Requirements for Industry Standard Metadatahttp://www.prismstandard.org/

– especificação de metadados para a imprensa, enfatizando:

• descoberta – pesquisa, browsing, distribuição de conteúdo, etc...

• acompanhamento de direitos autorais

• transmissão de metadados (junto com o conteúdo).

– baseia-se no Dublin Core

Page 72: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 72

Exemplos de RDF Schemas<?xml version="1.0" encoding="UTF-8"?><rdf:RDF xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/"

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:dc="http://purl.org/dc/elements/1.1/">

<rdf:Description rdf:about="http://wanderlust.com/2000/08/Corfu.jpg"><dc:identifier rdf:resource=" http://wanderlust.com/content/2357845" /><prism:copyright>Copyright 2001, Wanderlust Publications. All rights

reserved.</prism:copyright><prism:rightsAgent>Phantasy Photos, Philadelphia</prism:rightsAgent>

</rdf:Description>

</rdf:RDF>

Page 73: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 73

Exemplos de RDF Schemas

• Open Directory Projecthttp://rdf.dmoz.org/

– diretório para a Web editado manualmente (!)

– construído e mantido por uma comunidade de voluntários (!!)

Page 74: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 74

Exemplos de RDF Schemas

• Composite Capabilities/Preferences Profile(CC/PP)

– define um framework genérico para descrever, para servidores, o contexto de entrega de um cliente:

• capacidade do dispositivo

• preferências do usuário

• características da rede

• etc...

Page 75: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 75

Exemplos de RDF Schemas

• Gene Ontology (GO) Consortium:

– provê um vocabulário controlado para descrever aspectos de produtos derivados da Genética

Page 76: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 76

Referências

• RDF Primer(W3C Working Draft 23 January 2003)

http://www.w3.org/TR/2003/WD-rdf-primer-20030123/

Page 77: Ontologias - RDF

7/3/2005 (c) Marco A. Casanova - PUC-Rio 77

Referências