Ontologias - RDF

  • 1,390 views
Uploaded on

 

More in: Technology , Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,390
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
89
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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
  • 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> quot;August 16, 1999quot; . <http://www.example.org/index.html> <http://www.example.org/terms/language> quot;Englishquot; . literais 7/3/2005 (c) Marco A. Casanova - PUC-Rio 11
  • 12. RDF Básica 7/3/2005 (c) Marco A. Casanova - PUC-Rio 12
  • 13. RDF Básica • Valores estruturados de propriedades e nós vazios: exstaff:85740 exterms:address _:johnaddress . _:johnaddress exterms:street quot;1501 Grant Avenuequot; . _:johnaddress exterms:city quot;Bedfordquot; . _:johnaddress exterms:state quot;Massachusettsquot; . _:johnaddress exterms:Zip quot;01730quot; . 7/3/2005 (c) Marco A. Casanova - PUC-Rio 13
  • 14. RDF Básica nó vazio 7/3/2005 (c) Marco A. Casanova - PUC-Rio 14
  • 15. RDF Básica • Literais tipados: ex:index.html exterms:creation-date quot;1999-08-16quot;^^xsd:date . 7/3/2005 (c) Marco A. Casanova - PUC-Rio 15
  • 16. RDF/XML • Exemplo: ex:index.html exterms:creation-date quot;August 16, 1999quot; . ex:index.html exterms:language quot;Englishquot; . ex:index.html dc:creator http://www.example.org/staffid/85740 . <?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 16
  • 17. <?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 17
  • 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
  • 24. RDF/XML • Exemplo de 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;> <rdf:Description rdf:ID=quot;item10245quot;> <rdf:type rdf:resource=quot;http://www.example.com/terms/Tentquot; /> <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> 7/3/2005 (c) Marco A. Casanova - PUC-Rio 24
  • 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
  • 29. Outros recursos de RDF 7/3/2005 (c) Marco A. Casanova - PUC-Rio 29
  • 30. Outros recursos de RDF • Exemplo de rdf:Bag <?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:Bag> <rdf:li rdf:resource=quot;http://example.edu/students/Amyquot;/> <rdf:li rdf:resource=quot;http://example.edu/students/Timquot;/> <rdf:li rdf:resource=quot;http://example.edu/students/Johnquot;/> <rdf:li rdf:resource=quot;http://example.edu/students/Maryquot;/> <rdf:li rdf:resource=quot;http://example.edu/students/Suequot;/> </rdf:Bag> </s:students> </rdf:Description> </rdf:RDF> 7/3/2005 (c) Marco A. Casanova - PUC-Rio 30
  • 31. Outros recursos de RDF 7/3/2005 (c) Marco A. Casanova - PUC-Rio 31
  • 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
  • 34. 7/3/2005 (c) Marco A. Casanova - PUC-Rio 34
  • 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
  • 49. 7/3/2005 (c) Marco A. Casanova - PUC-Rio 49
  • 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 7/3/2005 rdfs:subClassOf(c) Marco A. Casanova - PUC-Rio ex:PassengerVehicle . 50
  • 51. <?xml version=quot;1.0quot;?> Exemplo de esquema <rdf:RDF xmlns:rdf=quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#quot; xmlns:rdfs=quot;http://www.w3.org/2000/01/rdf-schema#quot;> em RDF/XML <rdf:Description rdf:ID=quot;MotorVehiclequot;> <rdf:type rdf:resource=quot;http://www.w3.org/2000/01/rdf-schema#Classquot;/> </rdf:Description> <rdf:Description rdf:ID=quot;PassengerVehiclequot;> <rdf:type rdf:resource=quot;http://www.w3.org/2000/01/rdf-schema#Classquot;/> <rdfs:subClassOf rdf:resource=quot;#MotorVehiclequot;/> </rdf:Description> <rdf:Description rdf:ID=quot;Truckquot;> <rdf:type rdf:resource=quot;http://www.w3.org/2000/01/rdf-schema#Classquot;/> <rdfs:subClassOf rdf:resource=quot;#MotorVehiclequot;/> </rdf:Description> <rdf:Description rdf:ID=quot;Vanquot;> <rdf:type rdf:resource=quot;http://www.w3.org/2000/01/rdf-schema#Classquot;/> <rdfs:subClassOf rdf:resource=quot;#MotorVehiclequot;/> </rdf:Description> <rdf:Description rdf:ID=quot;MiniVanquot;> <rdf:type rdf:resource=quot;http://www.w3.org/2000/01/rdf-schema#Classquot;/> <rdfs:subClassOf rdf:resource=quot;#Vanquot;/> <rdfs:subClassOf rdf:resource=quot;#PassengerVehiclequot;/> </rdf:Description> </rdf:RDF> 7/3/2005 (c) Marco A. Casanova - PUC-Rio 51
  • 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
  • 59. Exemplo de propriedades <rdf:Description rdf:ID=quot;registeredToquot;> em RDF/XML <rdf:type rdf:resource=quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#Propertyquot;/> <rdfs:domain rdf:resource=quot;#MotorVehiclequot;/> <rdfs:range rdf:resource=quot;#Personquot;/> </rdf:Description> <rdf:Description rdf:ID=quot;rearSeatLegRoomquot;> <rdf:type rdf:resource=quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#Propertyquot;/> <rdfs:domain rdf:resource=quot;#PassengerVehiclequot;/> <rdfs:range rdf:resource=quot;http://www.w3.org/2001/XMLSchema#integerquot;/> </rdf:Description> <rdf:Description rdf:ID=quot;Personquot;> <rdf:type rdf:resource=quot;http://www.w3.org/2000/01/rdf-schema#Classquot;/> </rdf:Description> <rdf:Description rdf:about=quot;http://www.w3.org/2001/XMLSchema#integerquot;> <rdf:type rdf:resource=quot;http://www.w3.org/2000/01/rdf-schema#Datatypequot;/> </rdf:Description> 7/3/2005 (c) Marco A. Casanova - PUC-Rio 59
  • 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
  • 77. Referências 7/3/2005 (c) Marco A. Casanova - PUC-Rio 77