The Codex of Business Writing Software for Real-World Solutions 2.pptx
Ontologias - RDF
1. 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
2. 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
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)
7/3/2005 (c) Marco A. Casanova - PUC-Rio 3
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:em@w3.org,
identificado por http://www.example.org/staffem/85741
7/3/2005 (c) Marco A. Casanova - PUC-Rio 4
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
7/3/2005 (c) Marco A. Casanova - PUC-Rio 5
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#
7/3/2005 (c) Marco A. Casanova - PUC-Rio 6
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
7/3/2005 (c) Marco A. Casanova - PUC-Rio 7
8. 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
9. 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
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
propriedade
Objeto
7/3/2005 (c) Marco A. Casanova - PUC-Rio 10
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=quot;1.0quot;?>
<rdf:RDF xmlns:rdf=quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#quot;
xmlns:dc=quot;http://purl.org/dc/elements/1.1/quot;
xmlns:exterms=quot;http://www.example.org/terms/quot;>
<rdf:Description rdf:about=quot;http://www.example.org/index.htmlquot;>
<exterms:creation-date>August 16, 1999</exterms:creation-date>
<exterms:language>English</exterms:language>
<dc:creator rdf:resource=quot;http://www.example.org/staffid/85740quot;/>
</rdf:Description>
</rdf:RDF>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 18
19. RDF/XML
• rdf:about
– valor do atributo é uma URIref identificando o recurso
• property elements
– aninhados no elemento quot;rdf:Descriptionquot;
– indicam que a propriedade aplica-se ao recurso em quot;rdf:aboutquot;
<?xml version=quot;1.0quot;?>
<rdf:RDF xmlns:rdf=quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#quot;
xmlns:dc=quot;http://purl.org/dc/elements/1.1/quot;
xmlns:exterms=quot;http://www.example.org/terms/quot;>
<rdf:Description rdf:about=quot;http://www.example.org/index.htmlquot;>
<exterms:creation-date>August 16, 1999</exterms:creation-date>
<exterms:language>English</exterms:language>
<dc:creator rdf:resource=quot;http://www.example.org/staffid/85740quot;/>
</rdf:Description>
</rdf:RDF>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 19
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 quot;#quot;
• com o valor de quot;rdf:IDquot;
– rdf:ID=quot;fragment identifierquot; é equivalente a
rdf:about=quot;#fragment identifierquot;
7/3/2005 (c) Marco A. Casanova - PUC-Rio 20
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=quot;1.0quot;?>
<rdf:RDF xmlns:rdf=quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#quot;
xmlns:exterms=quot;http://www.example.com/terms/quot;>
<rdf:Description rdf:ID=quot;item10245quot;>
<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
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=quot;1.0quot;?>
<rdf:RDF xmlns:rdf=quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#quot;
xmlns:exterms=quot;http://www.example.com/terms/quot;
xml:base=quot;http://www.example.com/2002/04/productsquot;>
<rdf:Description rdf:ID=quot;item10245quot;>
<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
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
7/3/2005 (c) Marco A. Casanova - PUC-Rio 23
25. RDF/XML
• Exemplo de notação simplificada para rdf:type
<?xml version=quot;1.0quot;?>
<rdf:RDF xmlns:rdf=quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#quot;
xmlns:exterms=quot;http://www.example.com/terms/quot;
xml:base=quot;http://www.example.com/2002/04/productsquot;>
<exterms:Tent rdf:ID=quot;item10245quot;>
<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
26. RDF/XML
• Exemplo de uso de literais tipados
ex:index.html exterms:creation-date quot;1999-08-16quot;^^xsd:date .
<?xml version=quot;1.0quot;?>
<rdf:RDF xmlns:rdf=quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#quot;
xmlns:exterms=quot;http://www.example.org/terms/quot;>
<rdf:Description rdf:about=quot;http://www.example.org/index.htmlquot;>
<exterms:creation-date rdf:datatype=
quot;http://www.w3.org/2001/XMLSchema#datequot;>1999-08-16
</exterms:creation-date>
</rdf:Description>
</rdf:RDF>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 26
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
7/3/2005 (c) Marco A. Casanova - PUC-Rio 27
28. Outros recursos de RDF
• RDF Containers
– tipos de containers:
• rdf:Bag tipo dos containers que designam
conjuntos (quot;bagquot;) 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
32. Outros recursos de RDF
• Exemplo de rdf:Alt
<?xml version=quot;1.0quot;?>
<rdf:RDF xmlns:rdf=quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#quot;
xmlns:s=quot;http://example.org/packages/vocab#quot;>
<rdf:Description rdf:about=quot;http://example.org/packages/X11quot;>
<s:DistributionSite>
<rdf:Alt>
<rdf:li rdf:resource=quot;ftp://ftp.example.orgquot;/>
<rdf:li rdf:resource=quot;ftp://ftp.example1.orgquot;/>
<rdf:li rdf:resource=quot;ftp://ftp.example2.orgquot;/>
</rdf:Alt>
</s:DistributionSite>
</rdf:Description>
</rdf:RDF>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 32
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
7/3/2005 (c) Marco A. Casanova - PUC-Rio 33
35. Outros recursos de RDF
• Exemplo de RDF Collection
<?xml version=quot;1.0quot;?>
<rdf:RDF xmlns:rdf=quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#quot;
xmlns:s=quot;http://example.edu/students/vocab#quot;>
<rdf:Description rdf:about=quot;http://example.edu/courses/6.001quot;>
<s:students rdf:parseType=quot;Collectionquot;>
<rdf:Description rdf:about=quot;http://example.edu/students/Amyquot;/>
<rdf:Description rdf:about=quot;http://example.edu/students/Timquot;/>
<rdf:Description rdf:about=quot;http://example.edu/students/Johnquot;/>
</s:students>
</rdf:Description>
</rdf:RDF>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 35
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
7/3/2005 (c) Marco A. Casanova - PUC-Rio 36
37. Outros recursos de RDF
• Exemplo de RDF Reification
[[exproducts:item10245 exterms:weight quot;2.4quot; .]] dc:creator exstaff:85740 .
_:xxx rdf:type rdf:Statement .
_:xxx rdf:subject exproducts:item10245 .
_:xxx rdf:predicate exterms:weight .
_:xxx rdf:object quot;2.4quot; .
_:xxx dc:creator exstaff:85740 .
1. Estas triplas indicam que quot;há uma afirmação cujo sujeito é
quot;exproducts:item10245quot;, cujo predicado é quot;exterms:weightquot;,
e cujo objeto é quot;2.4quot; e que a afirmação foi feita pelo recurso identificado
por quot;exstaff:85740quot; quot;
2. Estas triplas não indicam que a afirmação (identificada por quot;_:xxxquot;)
é a mesma que alguma afirmação específica em um documento RDF.
7/3/2005 (c) Marco A. Casanova - PUC-Rio 37
38. 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 quot;rdf:Descriptionquot;;
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
39. Resumo do Vocabulário
RDF Container Descrição
rdf:Seq classe das seqüência de recursos ou literais
rdf:Bag classe dos conjuntos (quot;bagquot;) 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
40. 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)
quot;Collectionquot;
7/3/2005 (c) Marco A. Casanova - PUC-Rio 40
41. 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
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
7/3/2005 (c) Marco A. Casanova - PUC-Rio 42
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
7/3/2005 (c) Marco A. Casanova - PUC-Rio 43
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/
7/3/2005 (c) Marco A. Casanova - PUC-Rio 44
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 “>”)
7/3/2005 (c) Marco A. Casanova - PUC-Rio 45
46. RDF Schema
• Definição de classe em RDF/XML:
– xml:base: ex:
– tripla: ex:MotorVehicle rdf:type rdfs:Class .
<?xml version=quot;1.0quot;?>
<rdf:RDF
xmlns:rdf=quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#“>
<rdf:Description rdf:ID=quot;MotorVehiclequot;>
<rdf:type rdf:resource=quot;http://www.w3.org/2000/01/rdf-schema#Classquot;/>
</rdf:Description>
</rdf:RDF>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 46
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 .
7/3/2005 (c) Marco A. Casanova - PUC-Rio 47
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 .
7/3/2005 (c) Marco A. Casanova - PUC-Rio 48
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 .
7/3/2005 (c) Marco A. Casanova - PUC-Rio 52
53. RDF Schema
• Definição de inst. de classe em RDF/XML:
– xml:base: ex:
– tripla: ex:companyCar rdf:type ex:MotorVehicle .
<?xml version=quot;1.0quot;?>
<rdf:RDF xmlns:rdf=quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#quot;
xmlns:ex=quot;http://example.org/schemas/vehiclesquot;>
<rdf:Description rdf:ID=quot;companyCarquot;>
<rdf:type
rdf:resource=quot;http://example.org/schemas/vehicles#MotorVehiclequot;/>
</rdf:Description>
</rdf:RDF>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 53
54. RDF Schema
• Definição de inst. de classe em RDF/XML:
– xml:base: ex:
– tripla: ex:companyCar rdf:type ex:MotorVehicle .
<?xml version=quot;1.0quot;?>
<rdf:RDF
xmlns:rdf=quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#“>
<rdf:Description rdf:ID=quot;companyCarquot;>
<rdf:type rdf:resource=“#MotorVehiclequot;/> URIref relativa
</rdf:Description>
</rdf:RDF>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 54
55. RDF Schema
• Definição de inst. de classe em RDF/XML:
– xml:base: ex:
– tripla: ex:companyCar rdf:type ex2:MotorVehicle .
<?xml version=quot;1.0quot;?>
<rdf:RDF
xmlns:rdf=quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#quot;
xmlns:ex2=quot;http://example.org/schemas/vehiclesquot;>
<rdf:Description rdf:ID=quot;companyCarquot;>
<rdf:type rdf:resource=“ex2:#MotorVehiclequot;/>
</rdf:Description>
</rdf:RDF>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 55
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 .
7/3/2005 (c) Marco A. Casanova - PUC-Rio 56
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 .
7/3/2005 (c) Marco A. Casanova - PUC-Rio 57
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 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
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 .
7/3/2005 (c) Marco A. Casanova - PUC-Rio 60
61. RDF Schema
• Exemplo em RDF/XML:
<rdf:Description rdf:ID=quot;driverquot;>
<rdf:type rdf:resource=quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#Propertyquot;/>
<rdfs:domain rdf:resource=quot;#MotorVehiclequot;/>
</rdf:Description>
<rdf:Description rdf:ID=quot;primaryDriverquot;>
<rdf:type rdf:resource=quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#Propertyquot;/>
<rdfs:subPropertyOf rdf:resource=quot;#driverquot;/>
</rdf:Description>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 61
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 .
7/3/2005 (c) Marco A. Casanova - PUC-Rio 62
63. RDF Schema
• Instância de propriedade em RDF/XML:
<?xml version=quot;1.0quot;?>
<rdf:RDF xmlns:rdf=quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#quot;
xmlns:ex=quot;http://example.org/schemas/vehiclesquot;>
<rdf:Description rdf:ID=quot;johnSmithsCarquot;>
<rdf:type
rdf:resource=quot;http://example.org/schemas/vehicles#PassengerVehiclequot;/>
<ex:registeredTo rdf:resource=quot;http://www.example.org/staffid/85740quot;/>
<ex:rearSeatLegRoom
rdf:datatype=quot;http://www.w3.org/2001/XMLSchema#integerquot;>
127
</ex:rearSeatLegRoom>
<ex:primaryDriver rdf:resource=quot;http://www.example.org/staffid/85740quot;/>
</rdf:Description>
</rdf:RDF>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 63
64. RDF Schema
• Forma abreviada em RDF/XML:
<?xml version=quot;1.0quot;?>
<rdf:RDF xmlns:rdf=quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#quot;
xmlns:ex=quot;http://example.org/schemas/vehiclesquot;>
<ex:PassengerVehicle rdf:ID=quot;johnSmithsCarquot;>
<ex:registeredTo rdf:resource=quot;http://www.example.org/staffid/85740quot;/>
<ex:rearSeatLegRoom
rdf:datatype=quot;http://www.w3.org/2001/XMLSchema#integerquot;>
127
</ex:rearSeatLegRoom>
<ex:primaryDriver rdf:resource=quot;http://www.example.org/staffid/85740quot;/>
</ex:PassengerVehicle>
</rdf:RDF>
7/3/2005 (c) Marco A. Casanova - PUC-Rio 64
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
7/3/2005 (c) Marco A. Casanova - PUC-Rio 65
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
7/3/2005 (c) Marco A. Casanova - PUC-Rio 66
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
7/3/2005 (c) Marco A. Casanova - PUC-Rio 67
68. 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
69. 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
70. Exemplos de RDF Schemas
<?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?>
<rdf:RDF xmlns:rdf=quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#quot;
xmlns:dc=quot;http://purl.org/dc/elements/1.1/quot;
xml:lang=quot;en-USquot;>
<rdf:Description rdf:about=quot;http://wanderlust.com/2000/08/Corfu.jpgquot;>
<dc:identifier rdf:resource=quot;http://wanderlust.com/content/2357845quot; />
<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
71. 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
72. Exemplos de RDF Schemas
<?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?>
<rdf:RDF xmlns:prism=quot;http://prismstandard.org/namespaces/1.2/basic/quot;
xmlns:rdf=quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#quot;
xmlns:dc=quot;http://purl.org/dc/elements/1.1/quot;>
<rdf:Description rdf:about=quot;http://wanderlust.com/2000/08/Corfu.jpgquot;>
<dc:identifier rdf:resource=quot; http://wanderlust.com/content/2357845quot; />
<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
73. 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
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...
7/3/2005 (c) Marco A. Casanova - PUC-Rio 74
75. 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
76. 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