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:domain | Property | Class | O domínio do recurso |
rdfs:range | Property | Class | A gama do recurso |
rdfs:subPropertyOf | Property | Property | A propriedade é uma propriedade sub de uma propriedade |
rdfs:subClassOf | Class | Class | O recurso é uma subclasse de uma classe |
rdfs:comment | Resource | Literal | A descrição legível do recurso |
rdfs:label | Resource | Literal | O rótulo legível (name) do recurso |
rdfs:isDefinedBy | Resource | Resource | A definição do recurso |
rdfs:seeAlso | Resource | Resource | O obter informações adicionais sobre o recurso |
rdfs:member | Resource | Resource | O membro do recurso |
rdf:first | List | Resource | |
rdf:rest | List | List | |
rdf:subject | Statement | Resource | O objecto do recurso numa declaração RDF |
rdf:predicate | Statement | Resource | O predicado do recurso em uma declaração RDF |
rdf:object | Statement | Resource | O objeto do recurso em uma declaração RDF |
rdf:value | Resource | Resource | A propriedade usada para valores |
rdf:type | Resource | Class | 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 |