Tecnologias de Banco de Dados
para a Web Semântica
Módulo 2b - Ontologias - RDF
Marco A. Casanova
7/3/2005 (c) Marco A. Casanova - PUC-Rio 1
Tópicos
• Introdução
• URIref e Qname
• RDF Básica
• RDF/XML
• Outros recursos de RDF
• RDF Schema
• Exemplos de RDF Schemas
7/3/2005 (c) Marco A. Casanova - PUC-Rio 2
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)
7/3/2005 (c) Marco A. Casanova - PUC-Rio 3
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:em@w3.org,
identificado por http://www.example.org/staffem/85741
7/3/2005 (c) Marco A. Casanova - PUC-Rio 4
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
7/3/2005 (c) Marco A. Casanova - PUC-Rio 5
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#
7/3/2005 (c) Marco A. Casanova - PUC-Rio 6
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
7/3/2005 (c) Marco A. Casanova - PUC-Rio 7
RDF Básica
• RDF Model:
– um grupo de afirmações em RDF
deve ser entendido como
a conjunção das afirmações
7/3/2005 (c) Marco A. Casanova - PUC-Rio 8
RDF Básica
• Exemplo:
“http://www.example.org/index.html
has a creator
whose 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”)
7/3/2005 (c) Marco A. Casanova - PUC-Rio 9
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
propriedade
Objeto
7/3/2005 (c) Marco A. Casanova - PUC-Rio 10
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>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 18
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>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 19
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\"
7/3/2005 (c) Marco A. Casanova - PUC-Rio 20
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>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 21
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>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 22
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
7/3/2005 (c) Marco A. Casanova - PUC-Rio 23
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>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 25
RDF/XML
• Exemplo de uso de literais tipados
ex:index.html exterms:creation-date \"1999-08-16\"^^xsd:date .
<?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>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 26
Outros recursos de RDF
• RDF Containers
– um container é um recurso que contém objetos,
chamados de membros
– os membros podem ser recursos ou literais
7/3/2005 (c) Marco A. Casanova - PUC-Rio 27
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
7/3/2005 (c) Marco A. Casanova - PUC-Rio 28
Outros recursos de RDF
7/3/2005 (c) Marco A. Casanova - PUC-Rio 29
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>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 30
Outros recursos de RDF
7/3/2005 (c) Marco A. Casanova - PUC-Rio 31
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>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 32
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
7/3/2005 (c) Marco A. Casanova - PUC-Rio 33
7/3/2005 (c) Marco A. Casanova - PUC-Rio 34
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>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 35
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
7/3/2005 (c) Marco A. Casanova - PUC-Rio 36
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.
7/3/2005 (c) Marco A. Casanova - PUC-Rio 37
Resumo do Vocabulário
Termos Básicos Descrição
rdf:RDF termo indicando que o documento define afirmações em RDF
rdf:Description termo indicando o início da descrição de um recurso
rdf:about termo indicando uma URIref identificando o recurso
rdf:ID termo indicando um fragment identifier identificando o recurso
rdf:resource termo indicando um recurso
property elements elementos aninhados no elemento \"rdf:Description\";
indicam que a propriedade aplica-se ao recurso descrito
rdf:type valor da propriedade é um recurso representando uma
categoria ou classe de objetos;
sujeito da propriedade é uma instância da categoria ou classe
rdf:Property classe das propriedades
7/3/2005 (c) Marco A. Casanova - PUC-Rio 38
Resumo do Vocabulário
RDF Container Descrição
rdf:Seq classe das seqüência de recursos ou literais
rdf:Bag classe dos conjuntos (\"bag\") de recursos ou literais
rdf:alt classe dos grupo de recursos ou literais que representam
alternativas
rdf:li indica um elemento
7/3/2005 (c) Marco A. Casanova - PUC-Rio 39
Resumo do Vocabulário
RDF Collection Descrição
rdf:List classe das listas de recursos ou literais
rdf:first propriedade indicando o primeiro elemento de uma lista
rdf:rest propriedade indicando o resto de uma lista
rdf:nil recurso indicando a lista vazia
rdf:parseType= (equivalente a rdf:List em RDF/XML)
\"Collection\"
7/3/2005 (c) Marco A. Casanova - PUC-Rio 40
Resumo do Vocabulário
RDF Reification Descrição
rdf:Statement tipo indicando que a afirmação é sobre outra afirmação
rdf:subject propriedade indicando o sujeito da afirmação
rdf:predicate propriedade indicando o predcado da afirmação
rdf:object propriedade indicando o objeto da afirmação
7/3/2005 (c) Marco A. Casanova - PUC-Rio 41
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
7/3/2005 (c) Marco A. Casanova - PUC-Rio 42
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
7/3/2005 (c) Marco A. Casanova - PUC-Rio 43
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/
7/3/2005 (c) Marco A. Casanova - PUC-Rio 44
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 “>”)
7/3/2005 (c) Marco A. Casanova - PUC-Rio 45
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>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 46
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 .
7/3/2005 (c) Marco A. Casanova - PUC-Rio 47
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 .
7/3/2005 (c) Marco A. Casanova - PUC-Rio 48
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 .
7/3/2005 (c) Marco A. Casanova - PUC-Rio 52
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:type
rdf:resource=\"http://example.org/schemas/vehicles#MotorVehicle\"/>
</rdf:Description>
</rdf: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#“>
<rdf:Description rdf:ID=\"companyCar\">
<rdf:type rdf:resource=“#MotorVehicle\"/> URIref relativa
</rdf:Description>
</rdf: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 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>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 55
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 .
7/3/2005 (c) Marco A. Casanova - PUC-Rio 56
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 .
7/3/2005 (c) Marco A. Casanova - PUC-Rio 57
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 ou
o 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 .
7/3/2005 (c) Marco A. Casanova - PUC-Rio 58
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 .
7/3/2005 (c) Marco A. Casanova - PUC-Rio 60
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>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 61
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 .
7/3/2005 (c) Marco A. Casanova - PUC-Rio 62
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:type
rdf: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>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 63
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>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 64
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
7/3/2005 (c) Marco A. Casanova - PUC-Rio 65
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
7/3/2005 (c) Marco A. Casanova - PUC-Rio 66
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
7/3/2005 (c) Marco A. Casanova - PUC-Rio 67
RDF Schema
Vocabulário de RDF Schema
Conceito Recurso Propriedade
Classe rdfs:Class rdf:type
rdfs:Resource rdfs:subClassOf
Propriedade de classe rdf:Property rdf:type
rdfs:domain
rdfs:range
rdfs:subPropertyOf
7/3/2005 (c) Marco A. Casanova - PUC-Rio 68
Exemplos de RDF Schemas
• Dublin Core Metadata Initiative
http://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
7/3/2005 (c) Marco A. Casanova - PUC-Rio 69
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>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 70
Exemplos de RDF Schemas
• PRISM: Publishing Requirements for Industry
Standard Metadata
http://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
7/3/2005 (c) Marco A. Casanova - PUC-Rio 71
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>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 72
Exemplos de RDF Schemas
• Open Directory Project
http://rdf.dmoz.org/
– diretório para a Web editado manualmente (!)
– construído e mantido por uma comunidade de
voluntários (!!)
7/3/2005 (c) Marco A. Casanova - PUC-Rio 73
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...
7/3/2005 (c) Marco A. Casanova - PUC-Rio 74
Exemplos de RDF Schemas
• Gene Ontology (GO) Consortium:
– provê um vocabulário controlado para descrever
aspectos de produtos derivados da Genética
7/3/2005 (c) Marco A. Casanova - PUC-Rio 75
Referências
• RDF Primer
(W3C Working Draft 23 January 2003)
http://www.w3.org/TR/2003/WD-rdf-primer-20030123/
7/3/2005 (c) Marco A. Casanova - PUC-Rio 76
Referências
7/3/2005 (c) Marco A. Casanova - PUC-Rio 77
0 comments
Post a comment