Resource Description Framework (RDF) Mark Douglas de Azevedo Jacyntho.

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto Orientado a Objetos
Advertisements

Python: Funções Claudio Esperança.
Engenharia de Software
Especificação de Software
Modelagem Orientada a Objetos
Aplicação de XML Web Semântica Tópicos Avançados em Bancos de Dados II
RV: Objetos e Implementação Prof. Dr. Annibal Hetem Jr.
Sistemas Inteligentes Ontologia e Protegé
PETER ANTONY RAUSCH JOYCE MARTINS
Professor: Márcio Amador
Modelagem Visual de Objetos Com UML
UML Diagrama de classes.
Unified Modeling Language Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Nov/2010.
Inteligência Artificial Web Semântica
Linguagem de consulta SPARQL
The Petri Net Markup Language (PNML) Wellington João da Silva Mestrado Ciência da Computação.
XML Namespaces XML Namespaces provê um método para evitar conflito de nomes de elementos.
RDF -Resource Description Framework
Resumo RDF Schema
Utilização de Ontologias para Integração de Heterogeneidade Semântica
Inteligência Artificial Web Semântica
Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional.
Módulo II Capítulo 1: Orientação a Objetos
SPEM (Software Process Engineering Metamodel): Uma Linguagem para Modelagem de Processos de Software.
Larva/Virtuos í Antonio Kantek T ó picos Avan ç ados de Programa ç ão Orientada a Objetos - MAC 413/5715 Segundo Semestre de 2003 Prof. Fabio Kon.
Programação para Internet Aula 10 Introdução (Características do BD Relacional e Implementação)
GERENCIAMENTO DE PROJETOS (GP) ①CONTEXTO DE PROJETOS DIFERENÇAS ROTINAS / PROJETOS Fonte: MOURA, BARBOSA, 2010 APLICAÇÕES EM PROJETOS Projeto arquitetônico.
Análise Orientada a Objetos Wedson Quintanilha da Silva
Introdução ao Java Prof. Gustavo Wagner (modificações) Slides originais: Prof. Tiago Massoni Java Básico FATEC-PB  Centro de Informática, UFPE.
Tecnologias e Linguagens para Banco de Dados I - WEB Prof. João Ricardo Andrêo 29/5/ :40 1 Atividades: 1 - Criar uma base de dados para uma empresa.
José Antônio da cunha IFRN Administração de Banco de Dados.
Professor: Gerson Leiria Nunes.  Tempo contínuo vs. Discreto  Sinal Determinístico vs. Aleatório  Conceito de frequência  Amostragem.
Introdução POO Thiago Medeiros Sistemas de Informação Definição: Sistemas de Informação é uma combinação de pessoas, dados, processos, redes de.
Aula 01 Conhecendo o Computador Prof. Filipe Mutz.
Modelagem de Dados Aula 1.
1 Introdução aos Padrões de Projetos (na prática) Créditos: Lúbia Vinhas Hazel Carvalho Crato Adaptações: Prof. Nécio de Lima Veras.
J. Rawls Teoria da Justiça (1971). Propõe uma teoria da justiça baseada no conceito duma sociedade ordenada racionalmente com base em princípios de justiça.
Método para Estudo e Intervenção nas Organizações Forma de intervenção nas organizações.
Web Application Rafael Muniz e Marcus Vinícius Plugins MAVEN 04/04/2009 Revisão 12/04/2009.
INDEXAÇÃO E REPRESENTAÇÃO DE DOCUMENTOS VISUAIS E AUDIOVISUAIS Félix del Valle Gastaminza.
GRASP: Projeto de Objetos com Responsabilidade. 2 Pauta Responsabilidades e métodos Responsabilidades e métodos Padrões Padrões GRASP: Padrões e princípios.
Application Server & EJB3 Wesley Gonçalves da Silva
Tecnologias e Linguagens para Banco de Dados I Prof. João Ricardo Andrêo 1/6/ :17 1 Atividades: 1 – Descreva os tipos de dados existentes no Microsoft.
Tecnologias e Linguagens para Banco de Dados I Prof. João Ricardo Andrêo 1/6/ :19 1 Respostas: 1. O que é um Sistema Gerenciador de Banco de Dados.
Métodos e Técnicas de Desenvolvimento
Conjuntos: Não existe uma definição formalizada do que vem a ser um conjunto. O que temos é uma idéia ou uma noção do que vem a ser um conjunto. De uma.
INE5408 Estruturas de Dados Introdução a Árvores - Conceitos - Árvores Binárias - Métodos e algoritmos de percurso - Métodos e algoritmos de balanceamento.
Programação para Internet Aula 06 Linguagem Java (Orientação a Objetos – Atributos e Métodos)
Polimorfismo com Interfaces Pacotes em Java Prof. Gustavo Wagner (Alterações) Prof. Tiago Massoni (Slides Originais) Desenvolvimento de Sistemas FATEC-PB.
Modelagem de Dados Aula 5.
Disciplina: Análise e Projeto de Sistemas
RDF Resource Description Framework Ana Christina Bringuente Adaptação da Apresentação do Mark Douglas de Azevedo Jacyntho.
Normalização (4FN) Na literatura aparecem outras formas normais, como a forma normal de Boyce/Codd, a 4FN e a 5FN. Destas a única que tem importância na.
TEMPLATE DESIGN © Ontologias na Descoberta de Recursos da Computação Pervasiva Renato Marques Dilli 1, Luiz Antônio Moro.
Rhizome. Roteiro Definição Metas Características Arquitetura Tecnologias envolvidas Referências.
Lógica de programação Estruturas de seleção Estruturas de repetição Sub-Rotinas 1.
FORMULÁRIOS FORMULARIOS. Introdução O formulário é um importante meio de comunicação, transmissão e registro de informações, principalmente as baseadas.
Prof. Thales Castro.  Breve revisão  Diagramas de Classe.
Diagramas de Sequência e Comunicação
Mídias Sociais Aula 04 Mecanismo de Busca Operadores Prof. Dalton Martins Gestão da Informação Universidade Federal de Goiás.
SENSIBILIDADE AO CONTEXTO NA COMPUTAÇÃO UBÍQUA UTILIZANDO WEB SEMÂNTICA Luthiano Venecian, Luis A. M. Palazzo, Adenauer C. Yamin Universidade Católica.
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Unidade I Estatística Descritiva Profª. Maria Ester Domingues de Oliveira.
Web Services Conceitos e Tecnologias Amanda Modesto Suzanna Sandes.
SISTEMA OPERACIONAL Administra todos os recursos do computador fazendo a interação entre software e hardware. Sua função é gerenciar e disponibilizar.
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Programação Gráfica em Java Desenho em AWT Aula 04.
CLASSES EM JAVA Dilvan Moreira (baseado no livro Big Java)
Descrevendo Recursos na Web com RDF (Parte 2)
Exemplos RDF Mini-Curso – Introdução à Web Semântica
Transcrição da apresentação:

Resource Description Framework (RDF) Mark Douglas de Azevedo Jacyntho

Tópicos  Introdução  URIref  Qname  Modelo RDF  RDF/XML  Containeres e Coleções RDF  Reificação  RDF Schema  Comparação entre RDF/OWL e orientação a objetos

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.

URIref  URI reference (URIref): URI com identificador de fragmento opcional.  Exemplo: onde: é a URI; section2 é o identificador de fragmento.  Em RDF, recurso é qualquer “coisa” que pode ser identificada por uma URIref.

Qname  XML Qualified Name (QName): uma abreviação para uma URIref  QName prefix: uma abreviação para um URI namespace  Exemplo: foo é um QName prefix abreviando o URI namespace foo:bar é um QName abreviando a URIref

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.

RDF Model  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.

RDF Model  Exemplo em notação gráfica:  Mesmo exemplo em triplas:

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:  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.

RDF Model  Nós em Branco 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.

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

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).

RDF Model  Exemplo de valor tipado:

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

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;

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

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.

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).

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

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.

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.

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

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

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.

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

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).

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

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).

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.

Containeres RDF  Exemplo de rdf:Bag:

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

Containeres RDF  Exemplo de rdf:Alt :

Containeres RDF  Outros exemplos de rdf:Bag:

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”.

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.

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

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

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.

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

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

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

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.

RDF Schema  RDF Schema (RDFS) é um sistema de tipos para RDF: permite definir uma vocabulário específico a ser usado na criação de documentos RDF; classes, sub-classes; propriedades e sub-propriedades de classes. um arquivo RDFS é um arquivo RDF;

RDF Schema  Classes: são os conceitos envolvidos no domínio Similar a tipos em orientação a objetos. são descritas usando os seguintes recursos RDFS: tipos:  rdfs:Class: meta-classe para definir classes;  rdfs:Resource: recurso. propriedades:  rdfs:type: indica que um recurso é uma instância de uma classe;  rdfs:subClassOf: indica que uma classe é subclasse de outra (propriedade transitiva).

RDF Schema  Exemplo esquema de veículos em triplas Nota: o prefixo ex é xml:base do documento do esquema.

RDF Schema  Exemplo de esquema de veículos em grafo:

RDF Schema  Exemplo de esquema de veículos em RDF/XML:

RDF Schema  Exemplo de esquema de veículos em RDF/XML abreviado com nó tipado:

RDF Schema  Definindo instância em um documento RDF: uso da propriedade rdf:type.  Exemplo de instância em RDF/XML, usando nó tipado:

RDF Schema  Propriedades: são propriedades usadas para caracterizar classes são independentes de classes e podem ser usadas em zero ou mais classes ao mesmo tempo; são descritas usando os seguintes recursos RDFS: tipo:  rdf:Property: meta-classe para definir propriedades. propriedades:  rdfs:domain: indica para qual tipo (classe) a propriedade se aplica  rdfs:range: indica o tipo (classe) dos valores (contra-domínio) da propriedade  rdfs: subproperty: indica que propriedade é sub-propriedade de outra.

RDF Schema  Domínio (rdfs:domain) de propriedade: indica a qual tipo (classe) a propriedade se aplica; pode haver mais de uma declaração de domínio para uma mesma propriedade indica que o sujeito da propriedade é uma instância de todos os tipos declarados como domínio. exemplo:

RDF Schema  Contra-domínio (rdfs:range) de propriedade indica o tipo (classe) dos valores da propriedade pode ser um tipo primitivo XML-Schema (xsd). pode haver mais de uma declaração de contra-domínio para uma mesma propriedade indica que o objeto da propriedade é uma instância de todos os tipos declarados como contra-domínio exemplo:

RDF Schema  Exemplo de propriedade para o esquema de veículos:

RDF Schema  Subpropriedade (rdfs:subproperty): uma propriedade pode ser subpropriedade de zero ou mais propriedades; uma subpopriedade herda as declarações de domínio e contra- domínio da(s) superpropriedade(s); exemplo:

RDF Schema  Interpretação de declarações RDFS: descrições de um esquema linguagens de programação  descrições prescritivas (restrições) RDF  descrições adicionais, mas a aplicação pode interpretá-las como quiser.  Aplicações podem ignorar declarações existentes ou assumir outras inexistentes.

RDF Schema  RDFS não prevê: cardinalidade em propriedades; transitividade em propriedades; propriedades candidatas à chave para uma classe; que duas classes com URIrefs diferentes, na verdade, são a mesma classe; que duas instâncias com URIrefs diferentes, na verdade, representam o mesmo indivíduo; customização de propriedades por classe; criação de novas classes por meio de combinação de outras (união e interseção); disjunção entre classes, etc.

RDF Schema  Para suprir as limitações de RDFS algumas linguagens de ontologia têm sido propostas a mais atual é Web Ontology Language (OWL) Em OWL classes são definidas por um conjunto de axiomas, ou seja, conjunto de instâncias com características comuns.

RDF Schema  Classes em OWL:

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.

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

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.

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.

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.

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:

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:

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:

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:

Referências  RDF Primer  A Semantic Web Primer for Object-Oriented Software Developers