Metadados e o RDFa

15 de outubro de 2007 às 13:02 | Lucas Petes

Meta é um radical derivado do grego que pode significar “acima”, “além”, “informação sobre”, “relacionado a”, “baseado em”, com um certo caráter reflexivo. Na nossa língua, palavras como metamorfose e metalinguagem se utilizam desse prefixo.

Os metadados são dados que descrevem dados. Em um documento XHTML, essa descrição pode ter inúmeras finalidades, tais como a acessibilidade de pessoas com necessidades especiais, indicar o do que se trata um documento ou partes dele pra um mecanismo de busca ou qualquer outro tipo de software, incluir uma licença de uso do conteúdo (CC, DRM’s, GPL), etc.

As tags <meta>, atributos como o alt, o title e o longdesc e os microformats são algumas das formas de descrever ou indicar os dados contidos no documento.

RDFa

O RDFa permite a inserção de metadados em um documento XHTML ou XML por meio de atributos – generalizados dos elementos meta e link pra serem usados em qualquer outra tag. Isso o torna mais simples e digerível para quem está acostumado a codificar somente XHTML. O RDFa usa declaração XML no início do arquivo e DTD próprio:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">

Obs: o RDFa surgiu juntamente com o rascunho do XHTML 2. O DTD acima, introduzido mais tarde, trabalha com a especificação do XHTML 1.1.

Além disso, é necessário fazer a referência aos vocabulários (namespaces) que serão usados para descrever o conteúdo, tais como iCal, vCard, etc. Tais vocabulários são padrões já definidos e usados em inúmeras aplicações. Eles definirão também os prefixos dos valores que serão usados mais adiante. Exemplo:

<html xmlns:cal="http://www.w3.org/2002/12/cal/ical#"
           xmlns:contact="http://www.w3.org/2001/vcard-rdf/3.0#">

Neste caso, a declaração foi feita para todo o documento, mas também pode ser feita em fragmentos:

...
  <p instanceof="cal:Vevent"
     xmlns:cal="http://www.w3.org/2002/12/cal/ical#">
    I'm holding
    <span property="cal:summary">
      one last summer Barbecue,
    </span>
    on
    <span property="cal:dtstart" content="20070916T1600-0500">
      September 16th at 4pm.
    </span>
  </p>
...
  <p class="contactinfo" about="http://example.org/staff/jo"
     xmlns:contact="http://www.w3.org/2001/vcard-rdf/3.0#">
    <span property="contact:fn">
      Jo Smith
    </span>
    <span property="contact:title">
      Web hacker
    </span>
    at
    <a rel="contact:org" href="http://example.org">
      Example.org
    </a>.
    You can contact me
    <a rel="contact:email" href="mailto:jo@example.org">
      via email
    </a>.
  </p>
...

A inclusão dos atributos semânticos é feita seguindo a sintaxe do namespace que foi referenciado. Em contact:org é aceito pela especificação do vCard o conteudo da tag a em que ele está inserido. Já para o cal:dtstart o formato de data aceito pelo iCal é outro, descrito em content. Se o documento for lido diretamente, será exibido o conteúdo da tag. Mas se o documento for aberto para a retirada das informações iCal, o atributo content será o importante.

Atributos utilizados

about
uma URI especificando o recurso de que se trata o metadado; na sua ausência, por omissão, o documento corrente
rel, rev e href
especifica a relação ou a relação inversa (rev) com outro recurso
property
especifica uma propriedade para o conteúdo de um elemento
content
atributo opcional que sobrescreve o conteúdo do elemento quando se usa o atributo property
datatype
atributo opcional que especifica o tipo de conteúdo

Existem diversos schemas RDF para adicionar semântica aos mais variados tipos de conteúdo. Alguns, como o iCal e o vCard são mais comuns e de aplicação mais ampla. Outros já definem conteúdo extremamente específicos, como os da área médica e biológica.

Fontes: Creative Commons, W3C, Wikipedia.

Comentar Trackback

Comentrios fechados.