Você está na página 1de 9

RDF e RDFShema

Fernando Ostuni Gauthier gauthier@inf.ufsc.br Departamento de Informtica e Estatstica Universidade Federal de Santa Catarina

1.1 Consideraes iniciais sobre RDF


O RDF Resource Description Framework (RDF) uma recomendao do W3C para padronizar a definio e utilizao de meta-dados de descrio de recursos da web. Porm, RDF so adequados para representar dados e proporcionam uma forma simples de expressar afirmaes sobre estes recursos. O RDF tenta trazer interoperabilidade ante a multiplicidade de formatos incompatveis existentes. A pedra fundamental do RDF uma tripla do tipo sujeito -propriedadeobjeto. Que representam afirmaes (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 tambm neste relacionamento como uma aresta entre dois ns: [S] -P.->[O].

http://www.inf.ufsc.br/~gauthier

criador Fernando Gauthier

RDF permite que sujeito e objeto troquem de posio: criador(http://www.inf.ufsc.br/~gauthier, Fernando Gauthier) cargo(Fernando Gauthier, Professor Adjunto) Para representar as triplas formalmente, em linguagem compreensvel pela mquina, RDF utiliza o XML.

1.2 Conceitos bsicos usados em RDF


RDF utiliza os seguintes conceitos: (http://www.w3.org/TR/rdf-concepts/) Grafo de Modelo de Dados (Graph data model); Vocabulrio baseado em URIs (URI-based vocabulary); Tipos de dados (Datatypes) Literais (Literals) Sintaxe de serializao XML (XML serialization syntax) Expresso de Fatos Simples (Expression of simple facts) Entailment

1.2.1 Grafo de Modelo de Dados


Sustentando qualquer expresso 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 ligao no-arco-no. Cada tripla representa uma afirmao sobre um relacionamento entre as entidades representadas pelos ns.

1.2.2 Vocabulrio baseado em URIs


Cada n pode ser uma URI, um literal ou estar em branco (no podendo ser identificado). Os predicados so identificados por URIs e podem ser tambm ns em um grafo.

1.2.3 Tipos de dados


Tipos de dados so utilizados por RDF para representao de valores como nmeros inteiros, nmeros reais e datas. Um tipo de dados consiste de um espao lxico, um espao de valores e um mapeamento lxico-para-valor. Um tipo de dado identificado por uma ou mais URI. A recomendao W3C espera que tipos de dados definidos por XMLSchema sejam utilizados (http://www.w3.org/TR/rdf-concepts/#section-Datatypes).

1.2.4 Literais
O literais so utilizados em RDF para identificar valores como nmeros e datas por meio de uma representao lxica. Os literais podem ser o objeto de uma declarao RDF, mas no o sujeito ou o predicado. Os literais podem ser plain ou tipados. Os literais plain so strings combinadas com tag opcionais da linguagem, j os tipados so strings cominadas com uma URI de tipo de dados.Exemplo de literal tipado: <xsd:boolean, "true">

1.2.5 Sintaxe de serializao XML (XML serialization syntax)


Existe uma forma recomendada de serializao de RDF em XML de forma a facilitar a troca de modelos RDF entre aplicaes.

1.2.6 Expresso 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. Tambm

podem ser equivalentes a um predicado com dois argumentos da lgica de predicados. Criador Sujeito http://www.inf.ufsc.br/~gauthier Objeto Fernando Gauthier

Tanto banco de dados relacionais, como a lgica de primeira ordem permitem relaes ou predicados com mais de duas entidades. Este tipo de relao ou predicado tem que ser decomposto para representa-lo como uma tripla RDF. Uma forma simples de fazer esta decomposio introduzir um n em branco no grafo correspondente a linha (base de dados relacional) e uma nova tripla para cada clula 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 clula. O mesmo se aplica para predicados da lgica de primeira ordem com mais de um argumento.

Figura 1 Usando um n em branco (fonte:http://www.w3.org/TR/rdf-concepts/)

1.2.7 Entailment
Uma expresso RDF A e dita que entail outra expresso RDF b se todos os possveis estados das coisas no mundo que fazem A verdadeira tambm fazer B verdadeira. O seja se A provada como verdadeira ento B pode ser inferida como verdadeira.

1.3 Sintaxe RDF


Um documento RDF uma lista de descries de recursos em XML. Cada descrio corresponde a um recurso e contem as propriedades que o definem. Cada descrio representada por um elemento XML <rdf:Description> com um dos seguintes atributos: <rdf:about> ou <rdf:ID> ou annimo. Os valores das propriedades podem conter literais, outros recursos (URI) ou uma descrio de outro recurso Descrio propriedade com valor contendo literal: <rdf:Description about=" http://www.inf.ufsc.br/~gauthier"> <criador>Fernando Gauthier </criador> </rdf:Description> Descrio 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>

Descrio propriedade com valor contendo outra descrio:

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

1.4 Outras capacidades de RDF


RDF proporciona uma seria de capacidades pr-definidos (built-in) como tipos, propriedades para representar grupos de recursos e declaraes RDF.

1.4.1 Containers rdf


Algumas vezes necessrio trablhar ou declarar fatos sobre um conjunto de entidades e com essa finalidade RDF oferece um vocabulrio de recursos que contem coisas, estes recursos so chamados containers. Existem trs tipos pr definidos de containers:
rdf:Bag rdf:Seq rdf:Alt

Bag responde por um grupo de recursos ou literais onde a ordem no interessa assim como podem existir repeties Seq responde por seqncias que representam listas ordenadas. Como no anterior permite repeties Alt responde por alternativas que so listas de recursos ou literais das quais a propriedade pode usar somente um valor.

1.4.2 RDF Collections


Uma limitao dos containers no poder fech-los, ou seja, dizer que outros membros no existem. Um Collection em RDF um grupo de entidades representadas como uma estrutura de listas no grafo RDF A estrutura montada usando o vocabulrio de collection que consiste do tipo lista (rdf:List), das propriedades primeiro (rdf:first) e resto(rdf:rest) e do recurso nulo (rdf:nil).

1.5 RDFSchema

RDFSchema introduz primitivas bsicas que permitem falar de classes, subclasses, domnio e restries de valores das propriedades no contexto da web. Permitem aos desenvolvedores definir um vocabulrio bsico para dados RDF e especificar o tipo de objetos aos quais se aplicam esses atributos. O RDFS proporciona um mecanismo de tipagem bsica para modelos RDF, utilizando termos definidos como: Class, subPropertyof e subclassof. Os objetos RDF podem ser definidos como instncias de uma ou mais classes usando a propriedade type. rdfs:Resource Todas as coisas descritas por RDF so recursos (resources) e so instncias da classe rdfs:resource. Esta a classe raiz de todas as outras que so subclasses desta (http://www.w3.org/TR/rdf-schema/#ch_resource) . rdfs:Class Esta e a classe dos recursos que so 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 so exemplos de rdfs:literals e podem se tipados ou no. Os valorres tipados so 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 instncia de rdfs:class. rdfs:subClassOf A propriedade rdfs:subClassOf uma instncia de rdf:Property usada para declarar que todas as instncias de uma classe so instncias de oura. Mais definies e especificaes 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 no podem ser expressos nesta linguagem. Por exemplo: afirmar que cada livro tem um nico ttulo e pelo menos um autor, afirmar que um livro tem que ter capa dura ou capa normal. Assim, para expressar o conhecimento necessrio ao desenvolvimento de uma web semntica se faz necessrio desenvolver uma linguagem mais poderosa, o que feito na prxima camada: Vocabulrio para Ontologia.

Você também pode gostar