Your SlideShare is downloading. ×
0
Tecnologias de Banco de Dados
               para a Web Semântica

      Módulo 2b - Ontologias - RDF

                Mar...
Tópicos

• Introdução
• URIref e Qname
• RDF Básica
• RDF/XML
• Outros recursos de RDF
• RDF Schema
• Exemplos de RDF Sche...
Introdução

• RDF:
    – provê uma linguagem comum que as aplicações
      podem utilizar para intercambiar informação,
  ...
URIref e Qname

• URI Reference (URIref):
    – uma URI com um identificador de fragmento opcional
    – utilizada para id...
URIref e Qname

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

• QName prefix:
    – uma abreviaçã...
URIref e Qname

• Exemplos de QName prefix mais usados:

           rdf:    http://www.w3.org/1999/02/22-rdf-syntax-ns#
  ...
RDF Básica

• RDF Model:
    – um recurso em RDF é qualquer URIref
    – uma afirmação em RDF é uma tripla (S, P, O),
    ...
RDF Básica

• RDF Model:
    – um grupo de afirmações em RDF
      deve ser entendido como
      a conjunção das afirmaçõe...
RDF Básica

• Exemplo:
   “http://www.example.org/index.html
    has a creator
    whose value is John Smith”


     sujei...
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/index.html>
         <http://purl.org/dc/elements/1.1/creator>
               <http://www.example....
RDF Básica




7/3/2005   (c) Marco A. Casanova - PUC-Rio   12
RDF Básica

• Valores estruturados de propriedades
  e nós vazios:

    exstaff:85740   exterms:address              _:joh...
RDF Básica


           nó vazio




7/3/2005              (c) Marco A. Casanova - PUC-Rio   14
RDF Básica

• Literais tipados:

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




7/3/2005    ...
RDF/XML

• Exemplo:
           ex:index.html exterms:creation-date quot;August 16, 1999quot; .
           ex:index.html ex...
<?xml version=quot;1.0quot;?>
 <rdf:RDF xmlns:rdf=quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#quot;
           xmlns:d...
RDF/XML

• rdf:RDF
    – indica que o documento XML define afirmações em RDF
• rdf:Description
    – indica o início da de...
RDF/XML

• rdf:about
    – valor do atributo é uma URIref identificando o recurso
• property elements
    – aninhados no e...
RDF/XML

• rdf:ID
     – indica o uso de um fragment identifier, uma abreviação
       para a URIref completa do recurso s...
RDF/XML

• Exemplo:
    – fragment identifier: item10245
    – base URI:            http://www.example.com/2002/04/product...
RDF/XML
• XML base
     – por default, a base URI é a URI do documento que contém as
       afirmações em RDF
     – alter...
RDF/XML

• rdf:type
    – propriedade tal que:
           • valor da propriedade:
              – recurso representando um...
RDF/XML

• Exemplo de rdf:type
 <?xml version=quot;1.0quot;?>
 <rdf:RDF xmlns:rdf=quot;http://www.w3.org/1999/02/22-rdf-sy...
RDF/XML

• Exemplo de notação simplificada para rdf:type
 <?xml version=quot;1.0quot;?>
 <rdf:RDF xmlns:rdf=quot;http://ww...
RDF/XML

• Exemplo de uso de literais tipados

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

 <?x...
Outros recursos de RDF

• RDF Containers
    – um container é um recurso que contém objetos,
      chamados de membros
   ...
Outros recursos de RDF

• RDF Containers
    – tipos de containers:
           • rdf:Bag   tipo dos containers que designa...
Outros recursos de RDF




7/3/2005        (c) Marco A. Casanova - PUC-Rio   29
Outros recursos de RDF

• Exemplo de rdf:Bag
 <?xml version=quot;1.0quot;?>
 <rdf:RDF xmlns:rdf=quot;http://www.w3.org/199...
Outros recursos de RDF




7/3/2005        (c) Marco A. Casanova - PUC-Rio   31
Outros recursos de RDF

• Exemplo de rdf:Alt
 <?xml version=quot;1.0quot;?>
 <rdf:RDF xmlns:rdf=quot;http://www.w3.org/199...
Outros recursos de RDF

• RDF Collection
    – um grupo de objetos representado como uma lista
      em RDF através do seg...
7/3/2005   (c) Marco A. Casanova - PUC-Rio   34
Outros recursos de RDF

• Exemplo de RDF Collection
 <?xml version=quot;1.0quot;?>
 <rdf:RDF xmlns:rdf=quot;http://www.w3....
Outros recursos de RDF

• RDF Reification
    – rdf:Statement        indica que a afirmação
                           é s...
Outros recursos de RDF

• Exemplo de RDF Reification
 [[exproducts:item10245 exterms:weight quot;2.4quot; .]] dc:creator e...
Resumo do Vocabulário
Termos Básicos                                    Descrição
rdf:RDF             termo indicando que ...
Resumo do Vocabulário
  RDF Container                                 Descrição
rdf:Seq           classe das seqüência de ...
Resumo do Vocabulário
 RDF Collection                                 Descrição
rdf:List          classe das listas de rec...
Resumo do Vocabulário
 RDF Reification                                Descrição
rdf:Statement      tipo indicando que a af...
RDF Schema

• Definição de RDF Schema (RDFS):
    – sistema de tipos para RDF, permitindo definir:
           • classes
  ...
RDF Schema

• Definição de RDF Schema (RDFS):
    – provê um conjunto de recursos e propriedades:
           • com signifi...
RDF Schema

• Vocabulário de RDF:
    rdf:    http://www.w3.org/1999/02/22-rdf-syntax-ns#


• Vocabulário de RDF Schema:
 ...
RDF Schema

• Definição de classe:
    – sujeito:       o nome da classe
    – propriedade: rdf:type
    – objeto:        ...
RDF Schema

• Definição de classe em RDF/XML:
    – xml:base:        ex:

    – tripla:          ex:MotorVehicle          ...
RDF Schema

• Definição de subclasse:
    – sujeito:o recurso identificando o nome da classe
    – propriedade: rdfs:subCl...
RDF Schema

• Subclasse (cont.):
    – a propriedade “rdfs:subClassOf” é transitiva


• Exemplo de subclasses transitivas:...
7/3/2005   (c) Marco A. Casanova - PUC-Rio   49
RDF Schema

• Exemplo de esquema em triplas:
ex:MotorVehicle rdf:type rdfs:Class .
ex:PassengerVehicle rdf:type rdfs:Class...
<?xml version=quot;1.0quot;?>                                                    Exemplo de esquema
 <rdf:RDF xmlns:rdf=qu...
RDF Schema

• Definição de instância de classe:
    – sujeito:o recurso identificando a instância da classe
    – propried...
RDF Schema

• Definição de inst. de classe em RDF/XML:
    – xml:base:        ex:

    – tripla:          ex:companyCar rd...
RDF Schema

• Definição de inst. de classe em RDF/XML:
    – xml:base:        ex:

    – tripla:          ex:companyCar rd...
RDF Schema

• Definição de inst. de classe em RDF/XML:
   – xml:base:        ex:

   – tripla:          ex:companyCar rdf:...
RDF Schema

• Definição de propriedade:
    – sujeito:o recurso identificando o nome da propriedade
    – propriedade: rdf...
RDF Schema

• Definição de domínio (Domain):
     – sujeito:o recurso identificando o nome da propriedade
     – proprieda...
RDF Schema

• Definição de contradomínio (Range):
     – sujeito:o recurso identificando o nome da propriedade
     – prop...
Exemplo de propriedades
 <rdf:Description rdf:ID=quot;registeredToquot;>                      em RDF/XML
  <rdf:type
     ...
RDF Schema

• Subpropriedade:
     – sujeito:o recurso identificando o nome da propriedade
     – propriedade: rdfs:subPro...
RDF Schema

• Exemplo em RDF/XML:

 <rdf:Description rdf:ID=quot;driverquot;>
    <rdf:type rdf:resource=quot;http://www.w...
RDF Schema

• Instância de propriedade:
    – sujeito:
      recurso identificando uma instância de uma classe
    – propr...
RDF Schema

• Instância de propriedade em RDF/XML:
 <?xml version=quot;1.0quot;?>
 <rdf:RDF xmlns:rdf=quot;http://www.w3.o...
RDF Schema

• Forma abreviada em RDF/XML:
 <?xml version=quot;1.0quot;?>
 <rdf:RDF xmlns:rdf=quot;http://www.w3.org/1999/0...
RDF Schema

• Interpretação de um RDF Schema:
    – regra de escopo para propriedades:
           • linguagens de programa...
RDF Schema

• Interpretação de um RDF Schema:
    – papel das descrições em um esquema:
           • linguagens de program...
RDF Schema

• Interpretação de um RDF Schema (cont.):
    – papel das descrições em um esquema:
           • uma descrição...
RDF Schema

                          Vocabulário de RDF Schema

               Conceito                   Recurso        ...
Exemplos de RDF Schemas

• Dublin Core Metadata Initiative
   http://dublincore.org/documents/dces/

     – conjunto mínim...
Exemplos de RDF Schemas
<?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?>
<rdf:RDF xmlns:rdf=quot;http://www.w3.org/1...
Exemplos de RDF Schemas

• PRISM: Publishing Requirements for Industry
  Standard Metadata
   http://www.prismstandard.org...
Exemplos de RDF Schemas
<?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?>
<rdf:RDF xmlns:prism=quot;http://prismstand...
Exemplos de RDF Schemas

• Open Directory Project
   http://rdf.dmoz.org/

     – diretório para a Web editado manualmente...
Exemplos de RDF Schemas

• Composite Capabilities/Preferences Profile
  (CC/PP)
     – define um framework genérico para d...
Exemplos de RDF Schemas

• Gene Ontology (GO) Consortium:
     – provê um vocabulário controlado para descrever
       asp...
Referências

• RDF Primer
  (W3C Working Draft 23 January 2003)
    http://www.w3.org/TR/2003/WD-rdf-primer-20030123/




...
Referências




7/3/2005   (c) Marco A. Casanova - PUC-Rio   77
Upcoming SlideShare
Loading in...5
×

Ontologias - RDF

1,471

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,471
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
89
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Ontologias - RDF"

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 12. RDF Básica 7/3/2005 (c) Marco A. Casanova - PUC-Rio 12
  13. 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. 14. RDF Básica nó vazio 7/3/2005 (c) Marco A. Casanova - PUC-Rio 14
  15. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 29. Outros recursos de RDF 7/3/2005 (c) Marco A. Casanova - PUC-Rio 29
  30. 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. 31. Outros recursos de RDF 7/3/2005 (c) Marco A. Casanova - PUC-Rio 31
  32. 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. 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. 34. 7/3/2005 (c) Marco A. Casanova - PUC-Rio 34
  35. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 49. 7/3/2005 (c) Marco A. Casanova - PUC-Rio 49
  50. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 77. Referências 7/3/2005 (c) Marco A. Casanova - PUC-Rio 77
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×