RDF -Resource Description
Framework
Recomendação do W3C para padronizar
a definição e utilização de meta-dados
de descrição de recursos da web.
Porém, RDF são adequados para
representar dados e proporcionam uma
forma simples de expressar afirmações
sobre estes recursos.
O RDF tenta trazer interoperabilidade
ante a multiplicidade de formatos
incompatíveis existentes.
A base do RDF é uma tripla do tipo
sujeito-propriedade-objeto que
representam afirmações (statements).
A página
http://www.inf.ufsc.br/~gauthier tem
como criador Fernando Gauthier.
sujeito: http://www.inf.ufsc.br/~gauthier
propriedade: criador
objeto: Fernando Gauthier
Propriedade(sujeito, objeto) ou
criador(http://www.inf.ufsc.br/~gaut
hier, Fernando Gauthier)
http://www.inf.ufsc.br/~gauthier
criador
Fernando Gauthier
RDF permite que sujeitos e objetos
troquem de posição:
criador(http://www.inf.ufsc.br/~gauthier,
Fernando Gauthier)
cargo(Fernando Gauthier, Professor
Adjunto)
Conceitos básicos usados em
RDF
RDF utiliza o seguintes conceitos:
Grafo de Modelo de Dados (Graph data model);
Vocabulário baseado em URIs (URI-based
vocabulary);
Tipos de dados (Datatypes)
Literais (Literals)
Sintaxe de serialização XML (XML serialization
syntax)
Expressão de Fatos Simples (Expression of
simple facts)
Entailment
Grafo de Modelo de Dados
Sustentando qualquer expressão RDF existe
um conjunto de triplas, cada uma composta
de um sujeito, um predicado e um objeto.
O conjunto destas triplas é denominado
Grafo de modelo de dados. Cada tripla
representa uma ligação no-arco-no.
Cada tripla representa uma afirmação sobre
um relacionamento entre as entidades
representadas pelos nós.
Vocabulário baseado em URIs
Cada nó pode ser uma URI, um literal
ou estar em branco (não podendo ser
identificado).
Os predicados são identificados por
URIs e podem ser também nós em um
grafo.
Tipos de dados
Tipos de dados são utilizados por RDF para
representação de valores como números
inteiros, números reais e datas.
Um tipo de dados consiste de um espaço
léxico, um espaço de valores e um
mapeamento léxico-para-valor.
Um tipo de dado é identificado por uma ou
mais URI.
A recomendação W3C espera que tipos de
dados definidos por XMLSchema sejam
utilizados
(http://www.w3.org/TR/rdf-concepts/#section-Datatypes).
Literais
O literais são utilizados em RDF para identificar
valores como números e datas por meio de uma
representação léxica.
Os literais podem ser o objeto de uma declaração
RDF, mas não o sujeito ou o predicado.
Os literais podem ser plain ou tipados.
Os literais plain são strings combinadas com tag
opcionais da linguagem,
os tipados são strings cominadas com uma URI
de tipo de dados.Exemplo de literal tipado:
<xsd:boolean, "true">
Expressão de Fatos Simples
(Expression of simple facts)
Fatos simples indicam um relacionamento
entre duas entidades e podem ser
reapresentados como uma tripla RDF na qual
o predicado nomeia o relacionamento e o
sujeito e o objeto as duas entidades.
Estes fatos podem ser equivalentes a uma
linha numa tabela de uma base de dados
relacional contendo duas colunas, a primeira
indicando o sujeito e segunda o objeto, e o
nome da tabela representa o predicado.
Criador
Sujeito
http://www.inf.ufsc.br/~gauthier
Objeto
Fernando Gauthier
Também podem ser equivalentes a um
predicado com dois argumentos da lógica de
predicados.
Tanto banco de dados relacionais, como a
lógica de primeira ordem permitem relações
ou predicados com mais de duas entidades.
Este tipo de relação ou predicado tem que
ser decomposto para representa-lo como
uma tripla RDF.
Uma forma simples de fazer esta
decomposição é introduzir um nó em branco
no grafo correspondente a linha (base de
dados relacional) e uma nova tripla para cada
célula da linha.
O sujeito da tripa é o nó em branco, o
predicado e dado pelo nome da coluna e o
objeto corresponde ao vlaor da célula.
O mesmo se aplica para predicados da lógica
de primeira ordem co mais de um argumento.
Sintaxe de serialização XML
(XML serialization syntax)
Existe uma forma recomendada de
serialização de RDF em XML de forma
a facilitar a troca de modelos RDF entre
aplicações.
Para representar formalmente, em
linguagem compreensível pela máquina,
RDF utiliza o XML.
Um documento RDF é uma lista de
descrições de recursos em XML.
Descrição propriedade com valor
contendo literal:
<rdf:Description about="http://www.inf.ufsc.br/~gauthier">
<criador>”Fernando Gauthier” </criador>
</rdf:Description>
Descrição propriedade com valor
contendo outro recurso
<rdf:Description about=" http://www.inf.ufsc.br/~gauthier">
<Criador rdf:resource="mailto:[email protected]"/>
</rdf:Description>
Descrição propriedade com valor
contendo outra descrição:
<rdf:Description about=" http://www.inf.ufsc.br/~gauthier">
<Criador>
<rdf:Description rdf:about="mailto:[email protected]">
<TrabalhaCom rdf:resource="mailto:[email protected]"/>
</rdf:Description>
</Criador>
</rdf:Description>
Uma afirmativa sobre o
atributo ”Fernando Gauthier”
de que trabalhaCom
mailto:[email protected]
Containers rdf
Algumas vezes é necessário trabalhar
ou declarar fatos sobre um conjunto de
entidades e com essa finalidade RDF
oferece um vocabulário de recursos que
contem “ coisas”, estes recursos são
chamados containers.
Tipos pré definidos de containers:
rdf:Bag
responde por um grupo de recursos ou literais
onde a ordem não interessa assim como
podem existir repetições
rdf:Seq
responde por seqüências que representam
listas ordenadas. Como no anterior permite
repetições
rdf:Alt
responde por alternativas que são listas de
recursos ou literais das quais a propiedade
pode usar somente um valor.
RDF Collections
Uma limitação dos containers é não poder
fecha-los, ou seja dizer que outros membros
não existem.
Um Collection em RDF é um grupo de
entidades representada como uma estrutura
de listas no grafo RDF
A estrutura é montada usando o vocabulário
de collection que consiste do tipo lista
(rdf:List), das propriedades primeiro (rdf:first)
e resto(rdf:rest) e do recurso nulo (rdf:nil).
RAP - RDF API for PHP V0.9.4
http://www.wiwiss.fuberlin.de/suhl/bizer/rdfapi/
RDFSchema (RDFS)
Permitem definir um vocabulário básico
para dados RDF e especificar o tipo de
objetos aos quais se aplicam esses
atributos.
Introduze primitivas básicas que permitem
falar de classes, subclasses, domínio e
restrições de valores das propriedades no
contexto da web.
Proporciona um mecanismo de tipagem
básica para modelos RDF, utilizando termos
definidos como: Class, subPropertyof e
subclassof.
Os objetos RDF podem ser definidos
como instâncias de uma ou mais
classes usando a propriedade type.
rdfs:Resource
Todas as coisas descritas por RDF são recursos
(resources) e são instâncias da classe
rdfs:resource. Esta é a classe raiz de todas as
outras que são subclasses desta
rdfs:Class
Esta é a classe dos recursos que são Classes
RDF
rdfs:Literal
Esta é a classe dos valores literais (strings e
inteiros são exemplos de rdfs:literals e podem
se tipados ou não.)
Os valores tipados são instancias da classe
datatype. rdfs:Literal é uma instancia de
rdfs:Classe é uma sublcasse de
rdfs:Resource.
rdf:Property
É a classe das propriedades herdada de
RDF e uma instância de rdfs:class.
rdfs:subClassOf
Usada para declarar que todas as instâncias
de uma classe são instâncias de oura.
http://www.w3.org/TR/rdf-schema/.
Exemplo
RDFS pode ser vista como uma linguagem
para descrever conhecimento bem simples
Existem muitos tipos de conhecimentos que
não podem ser expressos nesta linguagem.
afirmar que cada livro tem um único título e pelo
menos um autor
afirmar que um livro tem que ter capa dura ou
capa “normal”
Download

02- RDFRDFSchema