Publicação de Dados Governamentais no Padrão Linked Data 2.2 O Padrão RDF Karin Breitman José Viterbo Edgard Marx Percy Salas L A C Laboratory for Advanced Collaboration
Objetivo deste módulo 1.Apresentar conceitos básicos sobre o padrão RDF 2
Sumário 1. Introdução 2. Definição 3. Redes Semânticas 4. Integração de Dados 5. Modelo de Dados 6. Propriedades 7. Containers 8. Exemplos 3
Sobre Metadados A Web é machine-readable mas não machine-understandable Metadados são úteis: Ex: Muito pode-se ganhar com a estruturação descritiva de páginas, servidores, serviços de busca e outros recursos 4
RDF é Uma sintaxe padrão para representar um grafo dirigido em XML. 5
O Modelo RDF pode ser pensado como.. Infoset de XML simplificado 6
Redes Semânticas Uma maneira de representar a linguagem natural Um formato para organizar afirmações de uma forma que ela possa ser consultada por computadores 7
Redes Semânticas espinha tem coração cabelo vertebrado isa asas mamífero pássaro anda pode isa isa canário amarelo voar avestruz não vôa joão hugo 8
Semântica em Rede joão pode voar? hugo tem asas? joão tem coluna? de todos os canários, quantos vivem em gaiolas? 9
Introduzindo: RDF Empregados em HTML e XML Metadados compreendidos por máquinas Suporta valores estruturados Estimula metadados autenticados Uma base para uma infinidade de descrições: catalogação, privacidade, acessibilidade, Direitos de propriedade intelectual,... 10
Integração de dados Exemplo: O autor do documento é Paul Paul é o autor de um documento Um documento é escrito por Paul O autor do documento é Paul Representação(s) em XML: 11 <document href = http://doc_url author = Paul /> <author> <url> http://doc_url </url> <author> <name> Paul </name> <name> Paul </name> </author> <document> </author>
Integração de dados Complexidade de consultar documentos XML N maneiras de mapear XML para uma estrutura lógica Requer a normalização de todas as possibilidades de representação para uma consulta efetiva Significa a mesma coisa para uma pessoa Significa coisas diferentes para uma máquina RDF deve ser menos flexível Menos flexibilidade == mais interoperabilidade! Maneira consistente de representar declarações (statements) 12
Componentes Modelo de dados formal Sintaxe para trocar informações Tipo de esquema do sistema (modelo do esquema) Sintaxe para machine-understandable esquemas Protocolos de perfil e consulta 13
Sintaxe O Modelo RDF define uma relação formal entre recursos, propriedades e valores Sintaxe é requerida para... Armazenar instâncias do modelo em arquivos Interoperabilidade entre aplicações 14
Modelo de Dados Impõe regras estruturais sobre a expressão dos modelos de dados de aplicativos para codificação consistente, troca e tratamento de metadados Habilita a descrição de recursos para definir sua própria semântica Provido para interoperabilidade estrutural 15
Modelo de Dados Grafos dirigidos rotulados (Directed labelled graphs) Elementos do modelo Recurso (Resource) Propriedade (Propertie) Valor (Value) Declaração (Statement) 16
Grafo Dirigido isa bar has foo baz (isa, foo, bar) (has, bar, baz) (plays, baz, bop) (wants, baz, bing) plays bop wants bing 17
Grafo Dirigido root 18 attribute href element <root> <foo href= x= 1 /> <bar x= 2 y= 3 > <baz z= aaa /> </bar> element foo bar attribute x attribute y 3 1 x attribute element baz attribute z aaa
Modelo de Dados Sujeito Predicado Objeto Declaração 19
Modelo RDF Um modelo é um conjunto de declarações declaração = (predicado,sujeito,objeto) Predicado é um recurso Sujeito é um recurso Objeto é ambos um recurso ou um literal Objeto = Predicado(Sujeito) 20
Primitivas do Modelo Recurso Propriedade Value Recurso Declaração 21
Definição de Recurso RFC 2396: Um recurso pode ser qualquer coisa que tenha identidade. Exemplos familiares incluem um documento eletrônico, uma imagem, um serviço (por exemplo, "o relatório do tempo de hoje para Los Angeles"), e uma coleção de outros recursos. Nem todos os recursos de rede são "recuperáveis", por exemplo, os seres humanos, empresas e livros encadernados em uma biblioteca também pode ser considerado recursos. O recurso é o mapeamento conceitual para uma entidade ou um conjunto de entidades, não necessariamente a entidade que corresponde ao mapeamento, em qualquer instância em particular no tempo. Assim, um recurso pode permanecer constante, mesmo quando o seu conteúdo --- as entidades a que corresponde atualmente --- sofrem mudanças ao longo do tempo, desde que o mapeamento conceitual não seja alterado no processo. 22
Propriedades Nomes de propriedades devem ser associados a um esquema. São qualificados com um prefixo de namespaces <?A version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:description about="http://www.cs.vassar.edu/~ide/rdf/"> <dc:creator>nancy Ide</dc:creator> </rdf:description> </rdf:rdf> 23 Tópicos E speciais em W eb S emântica 23
Recurso Um recurso pode ser identificado por uma URI O recurso identificado por uma URI pode ser abstrato não recuperado pela rede Recurso é distinto da entidade e resolvido a qualquer hora. 24
Declaração <rdf:statement> <rdf:subject resource= http://www.openhealth.org/rdf/rdfextractify.xsl > <rdf:predicate resource= http://www.purl.org/dublin-core#author > <rdf:object>jonathan Borden</rdf:object> </rdf:statement> 25
O Elemento rdf:description Atributos about : Refere-se a uma URI ou a um recurso existente ID: Sinaliza a criação de um novo recurso <?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntaxns#"> <rdf:description about="http://www.cs.vassar.edu/~ide/">.. </rdf:description> 26 <rdf:description rdf:id="nancy Ide">.. </rdf:description> </rdf:rdf> 26 Tópicos E speciais em W eb S emântica
Descrevendo Coisas <rdf:description about= http://www.openhealth.org/rdf/rdfextractify.xsl > <dc:author>jonathan Borden</dc:author> <dc:description>an XSLT based parser which converts an arbitrary XML document into RDF Statements</dc:description> </rdf:description> 27
Descrevendo Coisas http://www.openhealth.org/rdf/rdfextractify.xsl description author Jonathan Borden An XSLT based... 28
RDF Containers Bag Uma lista desordenada de recursos ou literais Seq Uma lista ordenada de recursos ou literais Alt Uma lista de recursos ou literais que representam alternativas para o valor de uma propriedade. 29 Tópicos E speciais em W eb S emântica 29
Usando o Container Bag Declaração: Os autores do livro 0201000237 são Alfred, John e Jeffrey <?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:description about="urn:isbn:0-201-00023-7"> <dc:creator> <rdf:bag> <rdf:li>alfred</rdf:li> <rdf:li>john</rdf:li> <rdf:li>jeffrey</rdf:li> </rdf:bag> </dc:creator> </rdf:description> </rdf:rdf> 30 Tópicos E speciais em W eb S emântica 30
Usando o Container Seq Declaração: Os estudantes do curso csci-2962 em ordem alfabética são Elizabeth, George e John <?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s="http://www.schemas.org/course/"> <rdf:description about="http://www.cs.vassar.edu/courses/cs240"> <s:students> <rdf:seq> <rdf:li rdf:resource="http://www.cs.vassar.edu/students/er"/> <rdf:li rdf:resource="http://www.cs.vassar.edu/students/gl"/> <rdf:li rdf:resource="http://www.cs.vassar.edu/students/js"/> </rdf:seq> </s:students> </rdf:description> </rdf:rdf> 31 Tópicos E speciais em W eb S emântica 31
Usando o Container Alt Declaração Os formatos do livro 0201000237 são plain, html e postscript <?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:description about="urn:isbn:0-201-00023-7"> <dc:format> <rdf:alt> <rdf:li>text/html</rdf:li> <rdf:li>text/plain</rdf:li> <rdf:li>application/postscript</rdf:li> </rdf:alt> </dc:format> </rdf:description> </rdf:rdf> 32 Tópicos E speciais em W eb S emântica 32
Declarações sobre Containers <?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s="http://www.schemas.org/course/" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:description about="http://www.cs.vassar.edu/courses/cs240"> <s:homeworks> <rdf:bag ID="pages"> <rdf:li rdf:resource="http://www.cs. vassar.edu/courses/cs240/hw1.html"> <rdf:li rdf:resource="http://www.cs. vassar.edu/courses/cs240/hw2.html"> </rdf:bag> </s:homeworks> </rdf:description> <rdf:description about="#pages"> <dc:creator>nancy Ide</dc:creator> </rdf:description> </rdf:rdf> 33 Tópicos E speciais em W eb S emântica 33
Relações Não-Binárias O modelo de dados RDF somente suporta relações binárias (relações entre dois recursos) Solução: Usar um recurso intermediário com propriedades adicionais) <?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s="http://www.schemas.org/units/"> <rdf:description about="urn:isbn:0-201-00023-7"> <s:price rdf:parsetype="resource"> <rdf:value>45.00</rdf:value> <s:units rdf:resource="http://www.schemas.org/units/usdollar"/> </s:price> </rdf:description> </rdf:rdf> Declaração: O custo do livro 0201000237 é $45.00 34 Tópicos E speciais em W eb S emântica 34
Sintaxe Abreviada Propriedades convertidas em atributos <?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:description about="http://www.cs.vassar.edu/~ide/esa.pdf"> <dc:creator>nancy Ide</dc:creator> <dc:title>encoding Syntactic Annotation</dc:title> <dc:date>2007-04-10</dc:date> </rdf:description> </rdf:rdf> <?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:description about="http://www.cs.vassar.edu/~ide/esa.pdf" dc:creator="nancy Ide" dc:title="encoding Syntactic Annotation" dc:date="2007-04-10"/> </rdf:rdf> 35 35
Exemplo Simples Recurso Autor Paul 36
Modelo RDF Exemplo #1 URI:R dc: Title dc: Creator RDF Presentation Paul Miller 37
Exemplo de sintaxe RDF URI:R dc: Title dc: Creator RDF Presentation Paul Miller 38 <RDF xmlns = http://www.w3.org/tr/wd-rdf-syntax# xmlns:dc = http://purl.org/dc/elements/1.0/ > <Description about = URI:R > <dc:title> RDF Presentation </dc:title> <dc:creator> Paul Miller </dc:creator> </Description> </RDF>
Modelo RDF Exemplo #2 URI:R dc: Title dc: Creator RDF Presentation URI:PAUL Paul Miller UKOLN URI:UKOLN bib:aff bib:name Paul Miller bib:email p.miller@ ukoln.ac.uk 39
Modelo RDF Exemplo #2 <RDF xmlns = http://www.w3.org/tr/wd-rdf-syntax# xmlns:dc = http://purl.org/dc/elements/1.0/ xmlns:bib = http://www.bib.org/persons# > <Description about = URI:R > <dc:title> RDF Presentation </dc:title> <dc:creator> <Description> <bib:name> Paul Miller </bib:name> <bib:email> p.miller@ukoln.ac.uk </bib:email> <bib:aff resource = http://www.ukoln.ac.uk /> </Description> </dc:creator> </Description> </RDF> 40
RDF Schemas Rede semântica na WEB Nós são identificados pelas URIs rdfs:class rdfs:property rdfs:subclassof rdf:type 41
Esquema Simples de Saúde <rdfs:class rdf:id= Provider > <rdfs:subclassof rdf:resource= #Person /> </rdfs:class> 42
43 Esquema Simples de Saúde
44 Esquema de Saúde
Outros modelos Dublin core Conjunto de semânticas simples para descrição de recursos vcard (business-card data) vcalendar (calendar/scheduling data) LCNA (Library of Congress Name Authority File) 45
Principais Referências K. Breitman. Web Semântica: a Internet do Futuro. Editora LTC, 2005; G. Klyne e J. J. Carrol (editores). Resource Description Framework (RDF): Concepts and Abstract Syntax. Online, 2004. Disponível em: http://www.w3.org/tr/2004/rec-rdf-concepts-20040210/; D. Brickley e R.V. Guha (editores). RDF Vocabulary Description Language 1.0: RDF Schema. Online, 2004. Disponível em: http://www.w3.org/tr/2004/rec-rdf-schema-20040210/; D. Beckett (editor). RDF/XML Syntax Specification (Revised). Online, 2004. Disponível em: http://www.w3.org/tr/2004/rec-rdf-syntaxgrammar-20040210/; 46