tutoriais mais recente desenvolvimento web
 

XML RDF


Exemplo documento RDF

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:si="http://www.w3ii.com/rdf/">

<rdf:Description rdf:about="http://www.w3ii.com">
  <si:title>w3ii</si:title>
  <si:author>Jan Egil Refsnes</si:author>
</rdf:Description>

</rdf:RDF>

O que é RDF?

  • RDF significa R esource D escrição F UADRO
  • RDF é uma estrutura para descrever recursos na web
  • RDF é projetado para ser lido e entendido por computadores
  • RDF não é projetado para ser exibido para as pessoas
  • RDF é escrito em XML
  • RDF é uma parte da Semantic Web Activity da W3C
  • RDF é uma Recomendação W3C de 10. fevereiro 2004

RDF - Exemplos de Utilização

  • Descrevendo propriedades para itens comerciais, como preço e disponibilidade
  • Descrevendo os horários para eventos web
  • Descrevendo informações sobre páginas da web (content, author, created and modified date)
  • Descrevendo conteúdo e classificação para web imagens
  • Descrevendo conteúdo para os motores de busca
  • Descrevendo bibliotecas eletrônicas

RDF é projetado para ser lida por computadores

RDF foi projetado para fornecer uma maneira comum de descrever a informação para que possa ser lido e compreendido por aplicações informáticas.

descrições RDF não são projetados para ser exibido na web.


RDF é escrito em XML

documentos RDF são escritos em XML. A linguagem XML utilizada por RDF é chamado RDF / XML.

Usando XML, RDF informações podem facilmente ser trocadas entre diferentes tipos de computadores usando diferentes tipos de sistemas operacionais e linguagens de aplicação.


RDF e "The Semantic Web"

A linguagem RDF é uma parte da Semantic Web Activity da W3C. Do W3C "Semantic Web Vision" é um futuro onde:

  • informações Web tem significado exato
  • informações da Web pode ser entendido e processados ​​por computadores
  • Os computadores podem integrar as informações a partir da web

RDF utiliza identificadores de Web (URIs) para identificar recursos.

RDF descreve recursos com propriedades e valores de propriedade.


RDF Resource, Propriedade e Valor de propriedade

RDF identifica coisas usando identificadores de Web (URIs) , e descreve recursos com propriedades e valores de propriedade.

Explicação dos recursos, propriedade e valor de propriedade:

  • A Resource é algo que pode ter um URI, como "http://www.w3ii.com/rdf"
  • A Property é um recurso que tem um nome, como "author" ou "homepage"
  • Um Property value é o valor de uma propriedade, como "Jan Egil Refsnes" ou "http://www.w3ii.com" (note that a property value can be another resource)

O seguinte documento RDF poderia descrever o recurso "http://www.w3ii.com/rdf" :

<?xml version="1.0"?>

<RDF>
  <Description about="http://www.w3ii.com/rdf">
    <author>Jan Egil Refsnes</author>
    <homepage>http://www.w3ii.com</homepage>
  </Description>
</RDF>

O exemplo acima é simplificado. Namespaces são omitidos.


Demonstrações RDF

A combinação de um recurso, uma propriedade e um valor de propriedade forma um Statement (known as the subject, predicate and object of a Statement) .

Vejamos alguns exemplos de declarações de obter uma melhor compreensão:

Declaração: "The author of http://www.w3ii.com/rdf is Jan Egil Refsnes" .

  • O sujeito do enunciado acima é: http://www.w3ii.com/rdf
  • O predicado é: autor
  • O objeto é: Jan Egil Refsnes

Declaração: "The homepage of http://www.w3ii.com/rdf is http://www.w3ii.com" .

  • O sujeito do enunciado acima é: http://www.w3ii.com/rdf
  • O predicado é: homepage
  • O objeto é: http://www.w3ii.com

Exemplo RDF

Aqui estão dois registros de um CD-list:

Título Artista País companhia Preço Ano
Empire Burlesque Bob Dylan EUA Columbia 10.90 1985
Esconder seu coração Bonnie Tyler Reino Unido CBS Records 9.90 1988

Abaixo está algumas linhas de um documento RDF:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
  <cd:artist>Bob Dylan</cd:artist>
  <cd:country>USA</cd:country>
  <cd:company>Columbia</cd:company>
  <cd:price>10.90</cd:price>
  <cd:year>1985</cd:year>
</rdf:Description>

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Hide your heart">
  <cd:artist>Bonnie Tyler</cd:artist>
  <cd:country>UK</cd:country>
  <cd:company>CBS Records</cd:company>
  <cd:price>9.90</cd:price>
  <cd:year>1988</cd:year>
</rdf:Description>
.
.
.
</rdf:RDF>

A primeira linha do documento RDF é a declaração XML. A declaração XML é seguido pelo elemento raiz de documentos RDF: <rdf:RDF> .

Os xmlns:rdf namespace, especifica que os elementos com o prefixo RDF são do namespace "http://www.w3.org/1999/02/22-rdf-syntax-ns#" .

O xmlns:cd namespace, especifica que os elementos com o prefixo cd são do namespace "http://www.recshop.fake/cd#" .

O <rdf:Description> elemento contém a descrição do recurso identificado pela rdf:about atributo.

Os elementos: <cd:artist>, <cd:country>, <cd:company>, etc, são propriedades do recurso.


RDF online Validador

RDF Serviço de Validação do W3C é útil quando aprender RDF. Aqui você pode experimentar com arquivos RDF.

A linha RDF Validador analisa o documento RDF, verifica sua sintaxe, e gera tabelas e visualizações gráficas do documento RDF.

Copie e cole o exemplo abaixo em RDF validador do W3C:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:si="http://www.w3ii.com/rdf/">
<rdf:Description rdf:about="http://www.w3ii.com">
  <si:title>w3ii.com</si:title>
  <si:author>Jan Egil Refsnes</si:author>
</rdf:Description>
</rdf:RDF>

Quando você analisar o exemplo acima, o resultado será algo parecido com isso .


RDF Elements

Os principais elementos do RDF são o elemento raiz, <RDF>, e <Description> elemento, que identifica um recurso.


O <rdf:RDF> Elemento

<Rdf: RDF> é o elemento raiz de um documento RDF. Ele define o documento XML para ser um documento RDF. Ele também contém uma referência ao namespace RDF:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  ...Description goes here...
</rdf:RDF>

O <rdf:Description> Elemento

O <rdf:Description> elemento identifica um recurso com a about atributo.

O <rdf:Description> elemento contém elementos que descrevem o recurso:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
  <cd:artist>Bob Dylan</cd:artist>
  <cd:country>USA</cd:country>
  <cd:company>Columbia</cd:company>
  <cd:price>10.90</cd:price>
  <cd:year>1985</cd:year>
</rdf:Description>

</rdf:RDF>

Os elementos, artista, país, empresa, preço e ano, são definidos no http: namespace //www.recshop.fake/cd#. Este namespace é RDF fora (and not a part of RDF) . RDF define apenas o quadro. Os elementos, artista, país, empresa, preço e ano, deve ser definida por outra pessoa (empresa, organização, pessoa, etc).


Propriedades como atributos

Os elementos de propriedade também pode ser definida como atributos (instead of elements) :

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque"
cd:artist="Bob Dylan" cd:country="USA"
cd:company="Columbia" cd:price="10.90"
cd:year="1985" />

</rdf:RDF>

Propriedades como Recursos

Os elementos de propriedade também pode ser definida como recursos:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
  <cd:artist rdf:resource="http://www.recshop.fake/cd/dylan" />
  ...
  ...
</rdf:Description>

</rdf:RDF>

No exemplo acima, o artista propriedade não tem um valor, mas a referência a um recurso que contêm informações sobre o artista.


RDF Containers

RDF recipientes são usados ​​para descrever grupo de coisas.

Os seguintes elementos RDF são usados para descrever grupos: <Bag>, <Seq> e <Alt> .


O <rdf:Bag> Elemento

O <rdf:Bag> elemento é usado para descrever uma lista de valores que não têm de estar em uma ordem específica.

O <rdf:Bag> elemento pode conter valores duplicados.

Exemplo

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
  <cd:artist>
    <rdf:Bag>
      <rdf:li>John</rdf:li>
      <rdf:li>Paul</rdf:li>
      <rdf:li>George</rdf:li>
      <rdf:li>Ringo</rdf:li>
    </rdf:Bag>
  </cd:artist>
</rdf:Description>

</rdf:RDF>

O <rdf:Seq> Elemento

O <rdf:Seq> elemento é usado para descrever uma lista ordenada de valores (For example, in alphabetical order) .

O <rdf:Seq> elemento pode conter valores duplicados.

Exemplo

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
  <cd:artist>
    <rdf:Seq>
      <rdf:li>George</rdf:li>
      <rdf:li>John</rdf:li>
      <rdf:li>Paul</rdf:li>
      <rdf:li>Ringo</rdf:li>
    </rdf:Seq>
  </cd:artist>
</rdf:Description>

</rdf:RDF>

O <rdf:Alt> Elemento

O <rdf:Alt> elemento é usado para descrever uma lista de valores alternativos (the user can select only one of the values) .

Exemplo

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
  <cd:format>
    <rdf:Alt>
      <rdf:li>CD</rdf:li>
      <rdf:li>Record</rdf:li>
      <rdf:li>Tape</rdf:li>
    </rdf:Alt>
  </cd:format>
</rdf:Description>

</rdf:RDF>

Termos RDF

Nos exemplos acima, temos falado sobre "list of values" ao descrever os elementos de contêiner. Em RDF estes "list of values" são chamados de membros.

Assim, temos o seguinte:

  • Um recipiente é um recurso que contém coisas
  • As coisas contidas são chamados de membros (not list of values)

RDF Colecções

coleções RDF descrevem grupos que podem conter apenas os membros especificados.


O rdf:parseType="Collection" Atributo

Como visto no capítulo anterior, um recipiente diz que os recursos que contêm são membros - ele não diz que outros membros não são permitidos.

coleções RDF são usados ​​para descrever grupos que podem conter apenas os membros especificados.

Uma coleção é descrita pela RDF atributo: parseType = "Coleção".

Exemplo

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://recshop.fake/cd#">

<rdf:Description
rdf:about="http://recshop.fake/cd/Beatles">
  <cd:artist rdf:parseType="Collection">
    <rdf:Description rdf:about="http://recshop.fake/cd/Beatles/George"/>
    <rdf:Description rdf:about="http://recshop.fake/cd/Beatles/John"/>
    <rdf:Description rdf:about="http://recshop.fake/cd/Beatles/Paul"/>
    <rdf:Description rdf:about="http://recshop.fake/cd/Beatles/Ringo"/>
  </cd:artist>
</rdf:Description>

</rdf:RDF>

RDF Schema e classes de aplicação

RDF Schema (RDFS) é uma extensão do RDF.

RDF descreve recursos com as classes, propriedades e valores.

Além disso, RDF também precisa de uma forma de definir classes e propriedades específicas da aplicação. aulas específicas de aplicativos e propriedades devem ser definidas usando extensões para RDF.

Uma tal extensão é RDF Schema.


RDF Schema (RDFS)

O RDF Schema não fornece classes e propriedades específicas de aplicativos reais.

Em vez disso RDF Schema fornece a estrutura para descrever classes e propriedades específicas da aplicação.

Classes em RDF Schema são muito parecidos com as classes em linguagens de programação orientada a objeto. Isso permite que os recursos a serem definidos como instâncias de classes e subclasses de classes.


Exemplo RDFS

O exemplo a seguir demonstra algumas das facilidades RDFS:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base="http://www.animals.fake/animals#">

<rdf:Description rdf:ID="animal">
  <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
</rdf:Description>

<rdf:Description rdf:ID="horse">
  <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
  <rdfs:subClassOf rdf:resource="#animal"/>
</rdf:Description>

</rdf:RDF>

No exemplo acima, o recurso de "horse" é uma subclasse da classe "animal" .


exemplo abreviada

Desde uma classe RDFS é um recurso RDF podemos abreviar o exemplo acima usando rdfs: Classe em vez de RDF: Description, e soltar o RDF: informações do tipo:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base="http://www.animals.fake/animals#">

<rdfs:Class rdf:ID="animal" />

<rdfs:Class rdf:ID="horse">
  <rdfs:subClassOf rdf:resource="#animal"/>
</rdfs:Class>

</rdf:RDF>

É isso aí!


O Dublin Core

O Dublin Core Metadata Initiative (DCMI) criou algumas propriedades predefinidas para descrever documentos.

RDF é metadados (data about data) . RDF é usada para descrever recursos de informação.

O Dublin Core é um conjunto de propriedades predefinidas para descrever documentos.

As primeiras propriedades Dublin Core foram definidos no Metadata Workshop in Dublin, Ohio , em 1995, e é atualmente mantido pela Iniciativa de metadados Dublin Core .

Propriedade Definição
Contribuinte Uma entidade responsável por fazer contribuições ao conteúdo do recurso
Cobertura A extensão ou âmbito do conteúdo do recurso
Criador Uma entidade principalmente responsáveis ​​por fazer o conteúdo do recurso
Formato A manifestação física ou digital do recurso
Encontro A data de um evento no ciclo de vida do recurso
Descrição Um relato do conteúdo do recurso
identificador Uma referência não ambígua ao recurso dentro de um determinado contexto
Língua A língua do conteúdo intelectual do recurso
Editor Uma entidade responsável por tornar o recurso disponível
Relação Uma referência a um recurso relacionado
Direitos Informações sobre os direitos detidos no interior e sobre o recurso
Fonte Uma referência a um recurso do qual o presente recurso é derivado
Sujeito Um tema do conteúdo do recurso
Título Um nome dado ao recurso
Digitar A natureza ou género do conteúdo do recurso

Um rápido olhar para a tabela acima indica que RDF é ideal para representar as informações Dublin Core.


Exemplo RDF

O exemplo seguinte demonstra o uso de algumas das propriedades Dublin Core em um documento RDF:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc= "http://purl.org/dc/elements/1.1/">

<rdf:Description rdf:about="http://www.w3ii.com">
  <dc:description>w3ii - Free tutorials</dc:description>
  <dc:publisher>Refsnes Data as</dc:publisher>
  <dc:date>2008-09-01</dc:date>
  <dc:type>Web Development</dc:type>
  <dc:format>text/html</dc:format>
  <dc:language>en</dc:language>
</rdf:Description>

</rdf:RDF>

RDF Referência

O namespace RDF (xmlns:rdf) é: http://www.w3.org/1999/02/22-rdf-syntax-ns#

O namespace RDFS (xmlns:rdfs ) é: http://www.w3.org/2000/01/rdf-schema#

A extensão de arquivo recomendado para ficheiros RDF é .rdf . No entanto, a extensão .xml é muitas vezes usado para fornecer compatibilidade com analisadores XML de idade.

O tipo MIME deve ser "application/rdf+xml" .


Classes RDFS / RDF

Elemento Classe de subclasse de
rdfs:Class All classes  
rdfs:Datatype Data types Class
rdfs:Resource All resources Class
rdfs:Container Containers Resource
rdfs:Literal Literal values (text and numbers) Resource
rdf:List Lists Resource
rdf:Property Properties Resource
rdf:Statement Statements Resource
rdf:Alt Containers of alternatives Container
rdf:Bag Unordered containers Container
rdf:Seq Ordered containers Container
rdfs:ContainerMembershipProperty Container membership properties Property
rdf:XMLLiteral XML literal values Literal

Propriedades RDFS / RDF

Elemento Domínio Alcance Descrição
rdfs:domainPropertyClass O domínio do recurso
rdfs:rangePropertyClass A gama do recurso
rdfs:subPropertyOfPropertyProperty A propriedade é uma propriedade sub de uma propriedade
rdfs:subClassOfClassClass O recurso é uma subclasse de uma classe
rdfs:commentResourceLiteral A descrição legível do recurso
rdfs:labelResourceLiteral O rótulo legível (name) do recurso
rdfs:isDefinedByResourceResource A definição do recurso
rdfs:seeAlsoResourceResource O obter informações adicionais sobre o recurso
rdfs:memberResourceResource O membro do recurso
rdf:firstListResource
rdf:restListList
rdf:subjectStatementResource O objecto do recurso numa declaração RDF
rdf:predicateStatementResource O predicado do recurso em uma declaração RDF
rdf:objectStatement Resource O objeto do recurso em uma declaração RDF
rdf:valueResourceResource A propriedade usada para valores
rdf:typeResourceClass O recurso é uma instância de uma classe

Atributos RDF

Atributo Descrição
rdf:about Define o recurso que está sendo descrito
rdf:Description Recipiente para a descrição de um recurso
rdf:resource Define um recurso para identificar uma propriedade
rdf:datatype Define o tipo de dados de um elemento
rdf:ID Define a ID de um elemento
rdf:li Define uma lista
rdf:_ n Define um nó
rdf:nodeID Define o ID de um nó de elemento
rdf:parseType Define como um elemento deve ser analisado
rdf:RDF A raiz de um documento RDF
xml:base Define a base XML
xml:lang Define o idioma do conteúdo do elemento