RDFa, estructura i verbositat
Publicat el 14/09/2008
RDFa és l'esforç més recent del W3C de dur la integració entre metadades i contingut a quelcom real tant per l'usuari que ho ha d'escriure com per les eines d'extracció d'aquesta informació.
En contrast amb els Microformats, permet una extracció de les dades sense que l'extractor hagi d'estar preparat per aquell model alhora que la dificultat per l'usuari és similar.
A més a més, a través dels espais de nom permet un model distribuït de creació de vocabularis, agilitzant-ne la creació i evitant els conflictes.
RDFa és un conjunt d'atributs —antics i nous— per permetre definir triples RDF.
Entrant en matèria i definint que:
- cal:
- http://www.w3.org/2002/12/cal/ical#
- dc:
- http://purl.org/dc/elements/1.1/
- earl:
- http://www.w3.org/ns/earl#
- rdf:
- http://www.w3.org/1999/02/22-rdf-syntax-ns#
Un exemple fàcil és marcar l'autor d'aquest post. En N3 seria:
<http://blog.esbudellat.net/rdfa-estructura-i-verbositat> dc:creator "Arnau Siches" .
En RDF/XML:
<rdf:Description rdf:about="http://blog.esbudellat.net/rdfa-estructura-i-verbositat">
<dc:creator>Arnau Siches</dc:creator>
</rdf:Description>
I finalment en RDFa, considerant que el fragment és part del document al qual fa referència:
<p property="dc:creator">Arnau Siches</p>
Una molt bona introducció que mostra altres exemples senzills: RDF Primer.
Quan diverses triples comparteixen el mateix subjecte, la verbositat augmenta, igual que amb els microformats.
Per exemple, a l'expressar un esdeveniment en hcalendar obtenim:
<div class="vevent">
<p class="summary">Trobada per xerrar sobre desenvolupament web de maig.</p>
<h3>Dades de la trobada</h3>
<dl>
<dt>Dia:</dt>
<dd>
<abbr title="2008-05-23T19:30+1:00" class="dtstart">23 de maig a les 19:30h</abbr>
</dd>
<dt>Lloc:</dt>
<dd class="location">
<abbr class="geo" title="41.401745;2.155166">Bar Billar H.D.P.</abbr> de Gràcia
</dd>
</dl>
</div>
Molt similar a expressar-ho en RDF Calendar via RDFa:
<div typeof="cal:Vevent">
<p property="cal:summary">Trobada per xerrar sobre desenvolupament web de maig.</p>
<h3>Dades de la trobada</h3>
<dl>
<dt>Dia:</dt>
<dd property="cal:dtstart" content="2008-05-23T19:30+1:00" datatype="xs:datetime">
23 de maig a les 19:30h
</dd>
<dt>Lloc:</dt>
<dd property="cal:location">
<span property="cal:geo" content="41.401745 2.155166">Bar Billar H.D.P.</span> de Gràcia
</dd>
</dl>
</div>
En casos on l'estructura és complexa com per exemple un informe EARL de validació de les WCAG 1.0:
<earl:Assertion>
<earl:assertedBy rdf:resource="#assertor"/>
<earl:subject rdf:resource="#subject"/>
<earl:test rdf:resource="http://www.w3.org/TR/WCAG10#tech-color-convey">
<dc:description rdf:parseType="Literal" xml:lang="ca">
<div xmlns="http://www.w3.org/1999/xhtml">
Assegureu-vos que tota la informació transmesa amb colors…
</div>
</dc:description>
</earl:test>
<earl:mode rdf:resource="http://www.w3.org/ns/earl#manual"/>
<earl:result rdf:resource="http://www.w3.org/ns/earl#fail">
<dc:description rdf:parseType="Literal" xml:lang="ca">
<div xmlns="http://www.w3.org/1999/xhtml">
<p>Els enllaços només es poden distingir a través del color.</p>
</div>
</dc:description>
</earl:result>
</earl:Assertion>
Passat a RDFa seria quelcom semblant a:
<div typeof="earl:Assertion" about="#subject">
<h2 property="earl:test" resource="http://www.w3.org/TR/WCAG10/#tech-color-convey">
Assegureu-vos que tota la informació transmesa amb colors…
</h2>
<div property="earl:mode" resource="http://www.w3.org/ns/earl#manual">
<div property="earl:result" resource="http://www.w3.org/ns/earl#fail">
<p>Els enllaços només es poden distingir a través del color.</p>
</div>
</div>
</div>
L'estructura no permet per exemple, usar una llista de definició amb tots els punts de les WCAG 1.0 ja que cal un contenidor per cada /earl:Assertion (gran part de la culpa és de la mala estructura de les llistes de definició en X/HTML). I cal un /div per cada /earl:result ja que pot haver-hi múltiples paràgrafs.
En conclusió, no millora en verbositat respecte els microformats però permet més flexibilitat d'expressió de relacions.
Comentaris
Si RDFa acaba convertint-se en un estàndard del W3C, ¿es podria produir un abandonament progressiu dels microformats? A part d'això, RDFa resoldria el problema d'accessibilitat del microformat hCalendar a l'hora d'expressar les dates amb l'atribut "title", la qual cosa ja és un punt a favor.
Comentat per Bernat Lleonart el 15/09/2008
Bé, poder es podrà sempre que s'usi XHTML amb el Doctype XHTML+RDFa 1.0 i, si es vol ser consistent amb l'especificació, com que es basa en XHTML 1.1, caldria servir el contingut com a
application/xhtml+xml.Tant la gent de microformats com la gent d'RDFa estan intentant aproximar postures perque siguin compatibles. Veurem què en surt.
També s'ha tantejat el terreny amb la gent d'HTML WG (HTML5), però sembla que de moment no hi ha concens en la solució.
El problema més greu radica en l'ús d'espais de nom, que HTML no suporta ni suportarà si la cosa segueix igual.
Evidentment, sempre es pot usar negociació de contingut per servir quelcom menys correcte a qui no ho suporta. Aquest blog serveix
application/xhtml+xmla qui ho accepta itext/htmla qui no.Comentat per admin el 15/09/2008