• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Ontologias - RDF
 

Ontologias - RDF

on

  • 2,253 views

 

Statistics

Views

Total Views
2,253
Views on SlideShare
2,239
Embed Views
14

Actions

Likes
0
Downloads
85
Comments
0

3 Embeds 14

http://e-reality-database.blogspot.com 9
http://www.slideshare.net 3
http://e-reality-database.blogspot.com.br 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Ontologias - RDF Ontologias - RDF Presentation Transcript

    • Tecnologias de Banco de Dados para a Web Semântica Módulo 2b - Ontologias - RDF Marco A. Casanova 7/3/2005 (c) Marco A. Casanova - PUC-Rio 1
    • Tópicos • Introdução • URIref e Qname • RDF Básica • RDF/XML • Outros recursos de RDF • RDF Schema • Exemplos de RDF Schemas 7/3/2005 (c) Marco A. Casanova - PUC-Rio 2
    • Introdução • RDF: – provê uma linguagem comum que as aplicações podem utilizar para intercambiar informação, sem perda de significado: • informação sobre recursos na Web, particularmente metadados • informação sobre objetos que podem ser identificados na Web, mesmo que não possam ser recuperados pela Web (como produtos vendidos pela Web) 7/3/2005 (c) Marco A. Casanova - PUC-Rio 3
    • URIref e Qname • URI Reference (URIref): – uma URI com um identificador de fragmento opcional – utilizada para identificar: • indivíduos, e.g., Eric Miller, identificado por http://www.w3.org/People/EM/contact#me • tipos de objetos, e.g., Person, identificado por http://www.w3.org/2000/10/swap/pim/contact#Person • propriedades de objetos, e.g., mailbox, identificado por http://www.w3.org/2000/10/swap/pim/contact#mailbox • valores das propriedades, e.g. mailto:em@w3.org, identificado por http://www.example.org/staffem/85741 7/3/2005 (c) Marco A. Casanova - PUC-Rio 4
    • URIref e Qname • Qualified Name (QName): – uma abreviação para uma URI reference • QName prefix: – uma abreviação para um URI namespace • Exemplo: – foo é um QName prefix abreviando o URI namespace http://example.org/somewhere/ – foo:bar é um QName abreviando a URIref http://example.org/somewhere/bar 7/3/2005 (c) Marco A. Casanova - PUC-Rio 5
    • URIref e Qname • Exemplos de QName prefix mais usados: rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# rdfs: http://www.w3.org/2000/01/rdf-schema# dc: http://purl.org/dc/elements/1.1/ daml: http://www.daml.org/2001/03/daml+oil# ex: http://www.example.org/ xsd: http://www.w3.org/2001/XMLSchema# 7/3/2005 (c) Marco A. Casanova - PUC-Rio 6
    • RDF Básica • RDF Model: – um recurso em RDF é qualquer URIref – uma afirmação em RDF é uma tripla (S, P, O), entendida como “S possui P com valor O”, onde • S é o sujeito da afirmação, designado por um recurso • P é o predicado da afirmação, designado por um recurso • O é o o objeto da afirmação, designado por um recurso ou literal 7/3/2005 (c) Marco A. Casanova - PUC-Rio 7
    • RDF Básica • RDF Model: – um grupo de afirmações em RDF deve ser entendido como a conjunção das afirmações 7/3/2005 (c) Marco A. Casanova - PUC-Rio 8
    • RDF Básica • Exemplo: “http://www.example.org/index.html has a creator whose value is John Smith” sujeito: http://www.example.org/index.html predicado: http://purl.org/dc/elements/1.1/creator (URI para “creator”) objeto: http://www.example.org/staffid/85740 (URI para “John Smith”) 7/3/2005 (c) Marco A. Casanova - PUC-Rio 9
    • RDF Básica • Notação em triplas: <http://www.example.org/index.html> <http://purl.org/dc/elements/1.1/creator> <http://www.example.org/staffid/85740>. • Notação em grafo: Sujeito propriedade Objeto 7/3/2005 (c) Marco A. Casanova - PUC-Rio 10
    • <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
    • 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 _: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
    • 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 (c) Marco A. Casanova - PUC-Rio 15
    • 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
    • <?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
    • 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
    • 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
    • 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
    • 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
    • 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
    • RDF/XML • rdf:type – propriedade tal que: • valor da propriedade: – recurso representando uma categoria ou classe de objetos • sujeito da propriedade: – instância da categoria ou classe 7/3/2005 (c) Marco A. Casanova - PUC-Rio 23
    • RDF/XML • Exemplo de 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
    • 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
    • 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
    • Outros recursos de RDF • RDF Containers – um container é um recurso que contém objetos, chamados de membros – os membros podem ser recursos ou literais 7/3/2005 (c) Marco A. Casanova - PUC-Rio 27
    • Outros recursos de RDF • RDF Containers – tipos de containers: • rdf:Bag tipo dos containers que designam conjuntos (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
    • 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/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
    • 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/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
    • Outros recursos de RDF • RDF Collection – um grupo de objetos representado como uma lista em RDF através do seguinte vocabulário: • rdf:List tipo das listas de recursos ou literais • rdf:first primeiro elemento de uma lista • rdf:rest resto de uma lista • rdf:nil lista vazia 7/3/2005 (c) Marco A. Casanova - PUC-Rio 33
    • 7/3/2005 (c) Marco A. Casanova - PUC-Rio 34
    • Outros recursos de RDF • Exemplo de RDF Collection <?xml version=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
    • Outros recursos de RDF • RDF Reification – rdf:Statement indica que a afirmação é sobre outra afirmação – rdf:subject sujeito da afirmação – rdf:predicate predicado da afirmação – rdf:object objeto da afirmação 7/3/2005 (c) Marco A. Casanova - PUC-Rio 36
    • Outros recursos de RDF • Exemplo de RDF Reification [[exproducts:item10245 exterms:weight 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
    • 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
    • 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
    • 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
    • Resumo do Vocabulário RDF Reification Descrição rdf:Statement tipo indicando que a afirmação é sobre outra afirmação rdf:subject propriedade indicando o sujeito da afirmação rdf:predicate propriedade indicando o predcado da afirmação rdf:object propriedade indicando o objeto da afirmação 7/3/2005 (c) Marco A. Casanova - PUC-Rio 41
    • RDF Schema • Definição de RDF Schema (RDFS): – sistema de tipos para RDF, permitindo definir: • classes • hierarquia de classes • propriedades de classes – usa o próprio RDF para especificar o sistema de tipos 7/3/2005 (c) Marco A. Casanova - PUC-Rio 42
    • RDF Schema • Definição de RDF Schema (RDFS): – provê um conjunto de recursos e propriedades: • com significado definido • utilizado para descrever classes e propriedades de uma aplicação • forma um vocabulário reservado (de RDF Schema) estendendo o vocabulário de RDF 7/3/2005 (c) Marco A. Casanova - PUC-Rio 43
    • RDF Schema • Vocabulário de RDF: rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# • Vocabulário de RDF Schema: rdfs: http://www.w3.org/2000/01/rdf-schema# • Namespace usado para os exemplos: ex: http://www.example.org/ 7/3/2005 (c) Marco A. Casanova - PUC-Rio 44
    • RDF Schema • Definição de classe: – sujeito: o nome da classe – propriedade: rdf:type – objeto: rdfs:Class • Exemplo: ex:MotorVehicle rdf:type rdfs:Class . (nota: triplas usando QName prefixes dispensam o uso de “<“e “>”) 7/3/2005 (c) Marco A. Casanova - PUC-Rio 45
    • RDF Schema • Definição de classe em RDF/XML: – xml:base: ex: – tripla: ex:MotorVehicle rdf:type rdfs:Class . <?xml version=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
    • RDF Schema • Definição de subclasse: – sujeito:o recurso identificando o nome da classe – propriedade: rdfs:subClassOf – objeto: o recurso identificando o nome da classe • Exemplo: ex:Van rdf:type rdfs:Class . ex:Van rdfs:subClassOf ex:MotorVehicle . 7/3/2005 (c) Marco A. Casanova - PUC-Rio 47
    • RDF Schema • Subclasse (cont.): – a propriedade “rdfs:subClassOf” é transitiva • Exemplo de subclasses transitivas: ex:Van rdf:type rdfs:Class . ex:MinVan rdf:type rdfs:Class . ex:Van rdfs:subClassOf ex:MotorVehicle . ex:MinVan rdfs:subClassOf ex:Van . ex:MinVan rdfs:subClassOf ex:MotorVehicle . 7/3/2005 (c) Marco A. Casanova - PUC-Rio 48
    • 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 . 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
    • <?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
    • RDF Schema • Definição de instância de classe: – sujeito:o recurso identificando a instância da classe – propriedade: rdf:type – objeto: o recurso identificando o nome da classe • Exemplo: ex:companyCar rdf:type ex:MotorVehicle . 7/3/2005 (c) Marco A. Casanova - PUC-Rio 52
    • RDF Schema • Definição de inst. de classe em RDF/XML: – xml:base: ex: – tripla: ex:companyCar rdf:type ex:MotorVehicle . <?xml version=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
    • 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
    • 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
    • RDF Schema • Definição de propriedade: – sujeito:o recurso identificando o nome da propriedade – propriedade: rdf:type – objeto: rdf:Property (uma classe definida em RDF) • Exemplo: exterms:weightInKg rdf:type rdf:Property . 7/3/2005 (c) Marco A. Casanova - PUC-Rio 56
    • RDF Schema • Definição de domínio (Domain): – sujeito:o recurso identificando o nome da propriedade – propriedade: rdfs:domain – objeto: o recurso identificando o nome de uma classe • Exemplos: ex:Book rdf:type rdfs:Class . ex:author rdf:type rdf:Property . ex:author rdfs:domain ex:Book . 7/3/2005 (c) Marco A. Casanova - PUC-Rio 57
    • RDF Schema • Definição de contradomínio (Range): – sujeito:o recurso identificando o nome da propriedade – propriedade: rdfs:range – objeto: o recurso identificando o nome de uma classe ou o nome de um XSD data type • Exemplos: ex:Person rdf:type rdfs:Class . ex:age rdf:type rdf:Property . ex:author rdf:type rdf:Property . ex:age rdfs:range xsd:integer . ex:author rdfs:range ex:Person . xsd:integer rdf:type rdfs:Datatype . 7/3/2005 (c) Marco A. Casanova - PUC-Rio 58
    • 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
    • RDF Schema • Subpropriedade: – sujeito:o recurso identificando o nome da propriedade – propriedade: rdfs:subPropertyOf – objeto: recurso identificando o nome da sub-propriedade • Exemplo de definição de sub-propriedade: ex:driver rdf:type rdf:Property . ex:primaryDriver rdf:type rdf:Property . ex:primaryDriver rdfs:subPropertyOf ex:driver . 7/3/2005 (c) Marco A. Casanova - PUC-Rio 60
    • RDF Schema • Exemplo em RDF/XML: <rdf:Description rdf:ID=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
    • RDF Schema • Instância de propriedade: – sujeito: recurso identificando uma instância de uma classe – propriedade: o nome da propriedade – objeto: recurso identificando uma instância de uma classe ou literal indicando o valor da propriedade • Exemplo: ex:JohnSmithsCar ex:registeredTo ex:85740 . 7/3/2005 (c) Marco A. Casanova - PUC-Rio 62
    • RDF Schema • Instância de propriedade em RDF/XML: <?xml version=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
    • 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
    • RDF Schema • Interpretação de um RDF Schema: – regra de escopo para propriedades: • linguagens de programação: – o escopo de um atributo é restrito à classe ou tipo em que é definido • RDF: – o escopo de uma propriedade é global, ou seja, independente da definição das classes 7/3/2005 (c) Marco A. Casanova - PUC-Rio 65
    • RDF Schema • Interpretação de um RDF Schema: – papel das descrições em um esquema: • linguagens de programação: – a definição dos tipos ou classes é prescritiva • RDF: – um RDF schema é apenas uma descrição adicional dos recursos – a aplicação decide como interpretar o esquema 7/3/2005 (c) Marco A. Casanova - PUC-Rio 66
    • RDF Schema • Interpretação de um RDF Schema (cont.): – papel das descrições em um esquema: • uma descrição de uma instância pode ser considerada válida (por uma aplicação) – sem que especifique alguma propriedade definida no esquema ou – com uma propriedade adicional não descrita no esquema 7/3/2005 (c) Marco A. Casanova - PUC-Rio 67
    • RDF Schema Vocabulário de RDF Schema Conceito Recurso Propriedade Classe rdfs:Class rdf:type rdfs:Resource rdfs:subClassOf Propriedade de classe rdf:Property rdf:type rdfs:domain rdfs:range rdfs:subPropertyOf 7/3/2005 (c) Marco A. Casanova - PUC-Rio 68
    • Exemplos de RDF Schemas • Dublin Core Metadata Initiative http://dublincore.org/documents/dces/ – conjunto mínimo de elementos descritivos para facilitar a descrição e indexação automática de objetos, como documentos, interligados entre si, de forma semelhante ao catálogo de uma biblioteca 7/3/2005 (c) Marco A. Casanova - PUC-Rio 69
    • Exemplos de RDF Schemas <?xml version=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
    • Exemplos de RDF Schemas • PRISM: Publishing Requirements for Industry Standard Metadata http://www.prismstandard.org/ – especificação de metadados para a imprensa, enfatizando: • descoberta – pesquisa, browsing, distribuição de conteúdo, etc... • acompanhamento de direitos autorais • transmissão de metadados (junto com o conteúdo). – baseia-se no Dublin Core 7/3/2005 (c) Marco A. Casanova - PUC-Rio 71
    • Exemplos de RDF Schemas <?xml version=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
    • Exemplos de RDF Schemas • Open Directory Project http://rdf.dmoz.org/ – diretório para a Web editado manualmente (!) – construído e mantido por uma comunidade de voluntários (!!) 7/3/2005 (c) Marco A. Casanova - PUC-Rio 73
    • Exemplos de RDF Schemas • Composite Capabilities/Preferences Profile (CC/PP) – define um framework genérico para descrever, para servidores, o contexto de entrega de um cliente: • capacidade do dispositivo • preferências do usuário • características da rede • etc... 7/3/2005 (c) Marco A. Casanova - PUC-Rio 74
    • Exemplos de RDF Schemas • Gene Ontology (GO) Consortium: – provê um vocabulário controlado para descrever aspectos de produtos derivados da Genética 7/3/2005 (c) Marco A. Casanova - PUC-Rio 75
    • Referências • RDF Primer (W3C Working Draft 23 January 2003) http://www.w3.org/TR/2003/WD-rdf-primer-20030123/ 7/3/2005 (c) Marco A. Casanova - PUC-Rio 76
    • Referências 7/3/2005 (c) Marco A. Casanova - PUC-Rio 77