Buscar

RDF e RDFShema

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

RDF e RDFShema
Fernando Ostuni Gauthier
gauthier@inf.ufsc.br
Departamento de Informática e Estatística
Universidade Federal de Santa Catarina
Considerações iniciais sobre RDF
O RDF Resource Description Framework (RDF) é uma 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 pedra fundamental do RDF é uma tripla do tipo sujeito -propriedade-objeto. Que representam afirmações (statements). Por exemplo: 
A pagina http://www.inf.ufsc.br/~gauthier tem como criador a Fernando Gauthier. 
Tem-se um recurso (http://www.inf.ufsc.br/~gauthier), uma propriedade desse recurso (criador) e um valor para essa propriedade (Fernando Gauthier). Comumente se escreve como propriedade (sujeito, objeto) ou criador(http://www.inf.ufsc.br/~gauthier, Fernando Gauthier)
Pode-se pensar também neste relacionamento como uma aresta entre dois nós: [S] -P.->[O].
RDF permite que sujeito e objeto troquem de posição:
criador(http://www.inf.ufsc.br/~gauthier, Fernando Gauthier)
cargo(Fernando Gauthier, Professor Adjunto)
Para representar as triplas formalmente, em linguagem compreensível pela máquina, RDF utiliza o XML.
Conceitos básicos usados em RDF
RDF utiliza os seguintes conceitos: (http://www.w3.org/TR/rdf-concepts/)
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, já os tipados são strings cominadas com uma URI de tipo de dados.Exemplo de literal tipado:
<xsd:boolean, "true">
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.
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. Também podem ser equivalentes a um predicado com dois argumentos da lógica de predicados.
	Criador
	Sujeito
	Objeto
	http://www.inf.ufsc.br/~gauthier
	Fernando Gauthier
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 valor da célula. O mesmo se aplica para predicados da lógica de primeira ordem com mais de um argumento.
Figura 1 –Usando um nó em branco (fonte:http://www.w3.org/TR/rdf-concepts/)
Entailment 
Uma expressão RDF A e dita que entail outra expressão RDF b se todos os possíveis estados das coisas no mundo que fazem A verdadeira também fazer B verdadeira. O seja se A é provada como verdadeira então B pode ser inferida como verdadeira.
Sintaxe RDF
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>
Outras capacidades de RDF
RDF proporciona uma seria de capacidades pré-definidos (built-in) como tipos, propriedades para representar grupos de recursos e declarações RDF.
 
Containers rdf
Algumas vezes é necessário trablhar 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. Existem três tipos pré definidos de containers: 
rdf:Bag 
rdf:Seq 
rdf:Alt 
Bag responde por um grupo de recursos ou literais onde a ordem não interessa assim como podem existir repetições
Seq responde por seqüências que representam listas ordenadas. Como no anterior permite repetições
Alt responde por alternativas que são listas de recursos ou literais das quais a propriedade pode usar somente um valor.
RDF Collections
Uma limitação dos containers é não poder fechá-los, ou seja, dizer que outros membros não existem. 
Um Collection em RDF é um grupo de entidades representadas 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).
. 
RDFSchema
RDFSchema introduz primitivas básicas que permitem falar de classes, subclasses, domínio e restrições de valores das propriedades no contexto da web. Permitem aos desenvolvedores definir um vocabulário básico para dados RDF e especificar o tipo de objetos aos quais se aplicam esses atributos. 
O RDFS 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 (http://www.w3.org/TR/rdf-schema/#ch_resource) .
rdfs:Class
Esta e a classe dos recursos que são Classes RDF (http://www.w3.org/TR/rdf-schema/#ch_class) 
rdfs:Literal
Esta é a classe dos valores literais,valores de propriedades como strings e inteiros sÃo exemplos de rdfs:literals e podem se tipados ou não. Os valorres tipados são instancias da lcasse 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
A propriedade rdfs:subClassOf é uma instância de rdf:Property usada para declarar que todas as instâncias de uma classe são instâncias de oura.
Mais definições e especificações podem ser encontradas em http://www.w3.org/TR/rdf-schema/.
RDFS podem ser vistos como uma linguagem para descrever conhecimento bem simples, mas existem muitos tipos de conhecimentos que não podem ser expressos nesta linguagem. Por exemplo: 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”. 
Assim, para expressar o conhecimento necessário ao desenvolvimento de uma web semântica se faz necessário desenvolver uma linguagem mais poderosa, o que é feito na próxima camada: Vocabulário para Ontologia.
criador
Fernando Gauthier
http://www.inf.ufsc.br/~gauthier

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando