A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

RDF Resource Description Framework Ana Christina Bringuente Adaptação da Apresentação do Mark Douglas de Azevedo Jacyntho.

Apresentações semelhantes


Apresentação em tema: "RDF Resource Description Framework Ana Christina Bringuente Adaptação da Apresentação do Mark Douglas de Azevedo Jacyntho."— Transcrição da apresentação:

1 RDF Resource Description Framework Ana Christina Bringuente Adaptação da Apresentação do Mark Douglas de Azevedo Jacyntho

2 Tópicos  Introdução  Modelo RDF  URIref  Qname  RDF/XML  Containeres e Coleções RDF  Reificação  Comparação entre RDF/OWL e OO

3 Introdução  RDF é uma linguagem para descrever recursos na web por meio de declarações processáveis por máquina Recurso é qualquer “coisa” que possa ser identificada na web, mesmo que não possa ser recuperada pela web Ex: página web, pessoa, produto, etc. Recurso são descritos por meio de propriedades e valores.  RDF permite intercâmbio de informações, entre aplicações de software, sem perda de significado.

4 4 Introdução idFuncionarioNomeChefiaRamal 6025Rodrigo Guarino00046024 7023Ana Bringuente6025 7024Caio Sousa6025 7050Jacqueline Abreu79566023 6025Rodrigo Guarino00046024 7023Ana Bringuente6025 7024Caio Sousa6025 7050Jacqueline Abreu79566023

5 Introdução

6 Modelo RDF  Recurso são descritos por meio de declarações RDF que são triplas (S, P, O): Sujeito: recurso. Predicado: propriedade do recurso. Objeto: valor da propriedade (pode ser um literal ou outro recurso)  Recursos e propriedades são identificados por URIrefs.

7 Modelo RDF  RDF é um modelo em grafo, onde cada declaração é representada por: um nó para o sujeito; um nó para o objeto; um arco para o predicado, direcionado do nó do sujeito para o nó do objeto.  Há duas notações para o grafo: gráfica; em triplas.

8 8 Sujeito Objeto Predicado bp:Salles bp:Labanca foaf:knows bp:Labanca foaf:name “Rodrigo Labanca” @prefix foaf: @prefix bp: Modelo RDF

9 9 bp:Salles bp:Labanca foaf:knows “Rodrigo Labanca” foaf:Person foaf:name rdf:type @prefix foaf: @prefix rdf: @prefix bp: Modelo RDF

10  Turtle @prefix foaf: @prefix rdf: @prefix bp: bp:Salles rdf:typefoaf:person bp:Labancardf:typefoaf:person bp:Sallesfoaf:knows bp:Labanca bp:Labancafoaf:name“Rodrigo Labanca” 10 Modelo RDF

11 URIref  URI reference (URIref): URI com identificador de fragmento opcional.  Exemplo: http://www.example.org/index.html#section2, onde: http://www.example.org/index.html é a URI; section2 é o identificador de fragmento.  Em RDF, recurso é qualquer “coisa” que pode ser identificada por uma URIref. Uma URL é uma cadeia de caracteres que identifica um recurso da web;

12 Qualified Name  QName (XML Qualified Name): uma abreviação para uma URIref foo:bar é um QName abreviando a URIref http://example.org/somewhere/bar  QName prefix: uma abreviação para um URI namespace foo é um QName prefix abreviando o URI namespace http://example.org/somewhere/http://example.org/somewhere/

13 RDF Model  Um conjunto de termos (URIrefs) definido para um propósito específico é chamado de vocabulário. P. ex: vocabulário Dublin Core prefix dc:, namespace URI: http://purl.org/dc/elements/1.1/  RDF é apenas uma linguagem e não define o significado de termos de um vocabulário particular. Cabe a cada aplicação conhecer o significado de cada termo; RDF somente define o significado de termos do vocabulário RDF.

14 RDF Model  Nós em Branco (blank node) Artifício para: modelar valores estruturados (de propriedades) mais complexos do que um tipo primitivo.  similar a value objects em orientação a objetos. reduzir relacionamentos n-ários a n relacionamentos binários.

15 RDF Model  Exemplo de valor estruturado e nó em branco:

16 RDF Model  Literais tipados Associar um tipo ao valor literal para evitar interpretações erradas. Um literal tipado é definido por um par (string, URIref), onde URIref identifica o tipo. RDF não oferece tipos nativos, somente permite referenciar tipo definidos externamente Os tipos mais usados são os do XMLSchema (xsd).

17 RDF Model  Exemplo de valor tipado:

18 RDF/XML  Sintaxe XML para intercâmbio de grafos RDF.  Exemplo:

19 RDF/XML  rdf:RDF elemento de inicial do documento RDF/XML;  rdf:Description elemento de descrição de recurso  rdf:about atributo cujo valor é a URIref do recurso;

20 RDF/XML  exterms:creation-date propriedade “creation-date” do vocabulário “exterms”; anhinado dentro de rdf:Description e se refere ao recurso em rdf:about

21 RDF/XML  rdf:Resource atributo usado quando o valor da propriedade é outro recurso; o valor do atributo é a URIref do recurso  valor literal de propriedade em geral é usado texto entre as tags do elemento.

22 RDF/XML  Notas sobre Qname e URIref: Qname somente pode se usado em nomes de elementos e atributos. Em valores de atributos tem que usar URIref sem Qname. URIref absoluta ou relativa (à URI base do documento).

23 RDF/XML  Uso de rdf:nodeID para nó em branco:

24 RDF/XML  Mecanismos de abreviação e organização de URIrefs na descrição de um recurso: rdf:ID = “identificador de fragmento” URIref completa é obtida concatenando:  URI base do documento + # +valor de rdf:ID Indicado na criação de recursos novos pois evita duplicatas  Tem que ser único com relação à URI base do documento. rdf:about = “#identificador de fragmento” Equivalente, mas não evita duplicatas. Não indicado para criação de novo recursos.

25 RDF/XML  Literais tipados: rdf:datatype atributo usado em propriedade cujo valor é um literal tipado para indicar o tipo. Literal XML (único tipo nativo do RDF): rdf:parseType = “Literal” indica que o conteúdo do elemento é para ser interpretado como um fragmento XML literal.

26 RDF/XML  Exemplo de uso do rdf:ID e rdf:datatype:

27 RDF/XML  Exemplo de uso do rdf:parseType=“Literal”:

28 RDF/XML  URI base Por default, a URI base é a URI do documento no qual as URIrefs relativas são usadas. mas, pode-se explicitamente definir a URI base usando o atributo xml:base do elemento rdf:RDF desfaz ambigüidade quando o documento é disponibilizado em mais de um endereço web; ou quando há mais de um documento envolvido no conjunto de definições RDF.

29 RDF/XML  Exemplo de uso de xml:base:

30 RDF/XML  rdf:type proriedade usada para classificar recursos, ou seja, definir seu tipo. mapeia um recurso em um tipo (instância de rdfs:class, como veremos).

31 RDF/XML  Notação abreviada de rdf:type

32 Containeres RDF  Containeres são tipos que contém objetos, chamadas membros;  Um membro pode ser recurso (inclusive nós em branco) ou literais;  Há três tipos: rdf:Bag: permite duplicatas e não importa a ordem; rdf:Seq: permite duplicatas e importa a ordem; rdf:Alt: elementos são alternativas (tipicamente para um único valor de uma proprieade).

33 Containeres RDF  Notas: O tipo do container denota apenas uma intenção, podendo os elementos serem processados de forma diferente pela aplicação. Containeres não permitem definir número máximo de elementos Apenas indicam alguns membros, mas não tem como dizer que outros membros não existem. Não são estrutura de dados. São tipos usados para classificar objetos com suas características.

34 Containeres RDF  Exemplo de rdf:Bag:

35 Containeres RDF  Exemplo de rdf:Bag em RDF/XML:

36 Containeres RDF  Exemplo de rdf:Alt :

37 Containeres RDF  Outros exemplos de rdf:Bag:

38 Coleções RDF  Coleções são grupo de objeto representados com uma lista no grafo RDF.  Coleções permitem limitar os membros do grupo, dizendo que somente contém os membros especificados.  O vocabulário utilizado é o seguinte: rdf:list: tipo listas; rdf:first: propriedade “primeiro elemento da lista”; rdf:rest: propriedade “restante da lista”; rdf:nil: recurso predefinido significando “vazio”.

39 Coleções RDF  Exemplo de coleção RDF: O tipo rdf:List é opcional. Pode ser inferido dado que o sujeito de rdf:first e rdf:rest somente pode ser do tipo rdf:List.

40 Coleções RDF  Exemplo de coleção em RDF/XML:

41 Coleções RDF  Notação abreviada do exemplo de coleção em RDF/XML:

42 Reificação RDF  Reificar: Promover uma declaração RDF a recurso para que possa ser sujeito (ou objeto) de outras declarações. Similar a relacionamento envolvendo classes de relacionamento em orientação a objetos. Para tal tem que definir uma URIref para a declaração e descrevê-la usando o seguinte vocabulário: rdf:Statement: tipo declaração; rdf:subject: sujeito da declaração; rdf:predicate: predicado da declaração; rdf:object: objeto da declaração.

43 Reificação  Exemplo: declaração “criador da declaração”.

44 Reificação  Exemplo: declaração “criador da declaração”.

45 Reificação  Mesmo exemplo, gerando reificação com rdf:ID:

46 Reificação  Nota: RDF não estabelece nenhuma ligação entre a declaração de reificação e a declaração original. Isto fica a cargo da aplicação.

47 Comparação entre RDF/OWL e OO  Como ponto em comum, pode-se citar: modelos de domínio (domain models) consistem de classes, propriedade e instâncias; permitem definir hierarquia de classes; propriedades podem ter objetos ou primitivos como valor.

48 Comparação entre RDF/OWL e OO  Analogia entre as linguagens RDFS e UML: RDF Schema UML Metamodel Domain Schema Domain Model RDF Instances UML Instances

49 Comparação entre RDF/OWL e OO  Diferenças relativas a classes e instâncias: Orientação a ObjetosRDF e OWL Classes estão relacionadas a tipos para instâncias. Classes estão relacionadas a conjunto de indivíduos. Cada instância tem uma classe. Classes não compartilham instâncias. Cada indivíduo pode pertencer a múltiplas classes. Instâncias não podem mudar seu tipo em tempo de execução. Membros de classe podem mudar em tempo de execução.

50 Comparação entre RDF/OWL e OO  Diferenças relativas a classes e instâncias: Orientação a ObjetosRDF e OWL A lista de classes já conhecida em tempo de compilação e não pode mudar. Classes podem ser criadas e modificadas em tempo de execução. Compiladores são usados em tempo de construção. Erros de compilação indicam problemas. Raciocinadores podem ser usados para classificação e checagem de consistência em tempo de execução ou de construção.

51 Comparação entre RDF/OWL e OO  Diferenças relativas a propriedades, atributos e valores: Orientação a ObjetosRDF e OWL Propriedade são definidas localmente para uma classe (e suas subclasses, por herança). Propriedades existem independentemente de classes específicas. Instâncias somente podem ter valores para as propriedades pré-definidas. Valores tem que ter o tipo correto. Contra-domínio é usado para checagem de tipo. Instâncias podem ter valores arbitrários para qualquer propriedade. Domínio e contra-domínio podem ser usados para checagem e inferência de tipo.

52 Comparação entre RDF/OWL e OO Orientação a ObjetosRDF e OWL Classes codificam grande parte de seu significado e comportamento por meio de métodos imperativos. Classes tornam seu significado explícito em termos de declarações OWL. Código imperativo não pode ser adicionado. Classes podem encapsular seus membros com acesso privado. Todas as partes de um documento RDF/OWL são públicas e podem ser acessadas de qualquer lugar.  Diferenças relativas a propriedades, atributos e valores:

53 Comparação entre RDF/OWL e OO Orientação a ObjetosRDF e OWL Mundo fechado: se não há informação suficiente para provar se uma declaração é verdadeira, então ela é falsa. Mundo aberto: se não há informação suficiente para provar se uma declaração é verdadeira, então ela pode ser verdadeira ou falsa.  Diferenças relativas a propriedades, atributos e valores:

54 Comparação entre RDF/OWL e OO Orientação a ObjetosRDF e OWL Algumas APIs genéricas são compartilhadas entre aplicações. Poucos modelos de domínio são compartilhados. Em RDF e OWL modelos de domínio são publicados e compartilhados na web. Modelos de domínio são projetados como parte de uma arquitetura de software. Modelos de domínio são projetados para representar o conhecimento sobre o domínio e para integração de informação. Tecnologia madura com suporte de muitas ferramentas. Tecnologia emergente com pouco suporte de ferramentas.  Diferenças relativas ao design:

55 Comparação entre RDF/OWL e OO Orientação a ObjetosRDF e OWL Instâncias são anônimas dificultando acesso fora da aplicação. Com exceção de nós em branco, todo recurso tem uma URI associada. Modelos podem ser serializados em XMI, outro formato XML ou proprietário. Objetos têm uma serialização padrão baseada em XML, com URIs únicas para cada recurso no documento.  Diferenças gerais:

56 Referências  RDF Primer http://www.w3.org/TR/rdf-primer/  A Semantic Web Primer for Object-Oriented Software Developers http://www.w3.org/TR/sw-oosd-primer/


Carregar ppt "RDF Resource Description Framework Ana Christina Bringuente Adaptação da Apresentação do Mark Douglas de Azevedo Jacyntho."

Apresentações semelhantes


Anúncios Google