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
Fernando Gauthier
criador
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)
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
Fernando Gauthier http://www.inf.ufsc.br/~gauthier
Objeto Sujeito
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.
Cada descrição corresponde a um recurso e contem as propriedades que o definem. Cada descrição é representada por um elemento XML <rdf:Description> com um dos seguintes atributos: <rdf:about> ou <rdf:ID> ou anônimo.
Os valores das propriedades podem conter literais, outros recursos (URI) ou uma descrição de outro recurso
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:gauthier@inf.ufsc.br"/>
</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:gauthier@inf.ufsc.br">
<TrabalhaCom rdf:resource="mailto:nassar@inf.ufsc.br"/>
</rdf:Description> </Criador>
</rdf:Description>
Uma afirmativa sobre o
atributo ”Fernando Gauthier”
de que trabalhaCom
mailto:nassar@inf.ufsc.br
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 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.fu-berlin.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
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”
The class of RDF Lists. rdf:List
The class of container membership properties, rdf:_1, rdf:_2, ..., all of which are sub-properties of 'member'. rdfs:ContainerMembershipPrope
rty
The class of RDF containers. rdfs:Container
The class of containers of alternatives. rdf:Alt
The class of ordered containers. rdf:Seq
The class of unordered containers. rdf:Bag
The class of RDF statements. rdf:Statement
The class of RDF datatypes. rdfs:Datatype
The class of RDF properties. rdf:Property
The class of classes. rdfs:Class
The class of XML literals values. rdf:XMLLiteral
The class of literal values, e.g. textual strings and integers.
rdfs:Literal
The class resource, everything. rdfs:Resource comment Class name rdfs:Litera l rdfs:Resource A description of the subject
resource. rdfs:comment
rdfs:Litera l rdfs:Resource A human-readable name for the
subject. rdfs:label
rdfs:Class rdf:Property
A range of the subject property. rdfs:range
rdfs:Class rdf:Property
A domain of the subject property. rdfs:domain
rdf:Proper ty rdf:Property The subject is a subproperty of a
property. rdfs:subPropert yOf
rdfs:Class rdfs:Class
The subject is a subclass of a class.
rdfs:subClassOf
rdfs:Class rdfs:Resource
The subject is an instance of a class. rdf:type range domain comment Property name rdfs:R esour rdf:Statement The predicate of the subject RDF statement.
rdf:predi cate rdfs:R esour ce rdf:Statement The subject of the subject RDF statement.
rdf:subj ect rdfs:R esour ce rdfs:Resourc e Idiomatic property used for structured values (see the RDF Primer for an example of its usage). rdf:valu e rdfs:R esour ce rdfs:Resourc e The definition of the subject resource. rdfs:isD efinedB y rdfs:R esour ce rdfs:Resourc e Further information about the subject resource. rdfs:see Also rdf:Li st rdf:List The rest of the subject RDF list after the first item.