XFN – XHTML Friends Network

ottobre 25, 2008

XFN è un microformat che viene utilizzato per rappresentare le relazioni tra le persone (piuttosto che le persone in sè), definendole come valori dell’attributo rel di un hyperlink. In questo modo è possibile mostrare le relazioni che, ad esempio, l’autore di un blog ha con gli autori dei blog che sono presenti nel suo blogroll (ad esempio quali sono amici, quali ha fisicamente incontrato, quali sono colleghi o collaboratori, ecc…).

Facciamo un esempio (fonte http://www.gmpg.org/xfn/intro):
Prendiamo 5 persone (Ingrid, Josh, Kat, Mary  e Nick) con delle relazioni specifiche tra di loro. Focalizziamoci sul punto di vista di Ingrid:

  • Ingrid
    • lavora con Mary
    • è amica di Mary e Josh
    • conoscente di Kat
    • ha incontrato fisicamente tutti tranne Nick

In un caso di questo tipo, il i link di Ingrid (cioè le relazioni rappresentate dal suo punto di vista) sarebbero:

<a href="http://josh.example.com/" rel="friend met">Josh</a>
<a href="http://kat.example.com/" rel="met acquaintance">Kat</a>
<a href="http://mary.example.com/" rel="co-worker friend met">Mary</a>
<a href="http://nick.example.com/">Nick</a>

Vengono quindi usati un insieme di valori specifici (nel nostro caso friend, met, acquaintance, co-worker) come valori dell’attributo rel del link; questi valori sono riconosciuti dai crawler XFN che analizzano i link presenti nelle pagine e ricavano reti di relazioni tra i soggetti interessati.

Per rendere la propria lista di link o il proprio blogroll XFN-friendly:

  • modificare i link inserendo (come abbiamo visto nell’esempio precedente) l’attributo rel e specificarne i valori facendo riferimento alla tabella che segue
XFN quick reference
relationship category XFN values
friendship (at most one): friend acquaintance contact
physical: met
professional: co-worker colleague
geographical (at most one): co-resident neighbor
family (at most one): child parent sibling spouse kin
romantic: muse crush date sweetheart
identity: me

[Per dettagli sui significati dei valori XFN fare riferimento a http://www.gmpg.org/xfn/1]

  • Inserire nella head della pagina l’attributo profile, in questo modo

<head profile="http://gmpg.org/xfn/11">

  • Inserire il badge XFN-Friendly con il codice:

<a href="http://gmpg.org/xfn"> <img src="xfn-btn.gif" alt="XFN Friendly" /> </a>

  • Aggiungere il proprio sito al motore di ricerca XFN rubhub

Le caratteristiche chiave di XFN, come abbiamo avuto modo di vedere, sono:

  • semplicità, si basa anche su un insieme di valori molto ridotto ma che permette comunque di esprimere una grande quantità di relazioni interpersonali.
  • funzionamento decentralizzato, in quanto sono gli autori stessi a definire e creare i link
  • riutilizzo dell’infrastruttura web già esistente, non è stata creata una nuova sintassi XML-based (vedi RDF), bensì ci si basa sull’XHTML, riutilizzando l’attributo rel estendendolo alle relazioni tra le persone (era nato per rappresentare le relazioni tra i documenti)
  • machine-readable (basandosi su un una struttura ed un insieme di valori standard) ma anche human-readable (associando stili CSS ai link è possibile dare anche un aspetto visivo diverso per i vari link, ad esempio scrivendo in grassetto i link agli amici, in sottolineato i link ai colleghi)

Il tool XFN Dumper permette di visualizzare i link XFN presenti nella pagina web che si sta visitando. Per utilizzarlo basta semplicemente inserire tra i preferiti lo script JavaScript che trovate in fondo a questa pagina e farvi click una volta raggiunta la pagina web di cui si vuole visualizzare la lista dei valori XFN.

WordPress supporta XFN. Nell’inserimento dei link che si riferiscono a persone, si ha la possibilità di specificare i valori XFN per l’attributo rel del link in modo da definire la propria relazione con la persona in questione.

Fonti:
http://www.gmpg.org/xfn/
http://rubhub.com/main/add

Annunci

Operator – plugin per rilevare i microformats

ottobre 23, 2008

Il plugin Operator per Firefox, permette di rilevare i microformats presenti in una determinata pagina web.

Il plugin installa una toolbar che evidenzia la presenza, all’interno della pagina web che stiamo visualizzando, di elementi formattati con microformat, come Contatti, Eventi, ecc…

Apriamo ad esempio la pagina del mio Full Profile su LinkedIn:

Dallo screenshot possiamo notare la toolbar di Operator (indicata dal rettangolo rosso). Dalla barra viene evidenziata la presenza di un elemento Contatto.

Selezionando il contatto dalla toolbar, notiamo che l’elemento presente sulla pagina viene circondato da una cornice nera. Operator permette inoltre di effettuare delle operazioni (come esportare) l’elemento rintracciato sulla pagina. In questo caso verrebbe esportata la vCard corrispondente al profilo su LinkedIn.

Dalla voce “Rilevazione errori”, è anche possibile visualizzare il codice semantic XHTML dell’elemento e il codice vCard o iCalendar.


hResume microformat

ottobre 23, 2008

Il microformat hResume viene utilizzato per rappresentare Curriculum Vitae e sintesi di esperienze professionali. Come gli altri microformats segue i design principles del semantic XHTML e permette di incorporare nelle pagine web dati riguardanti le esperienze lavorative delle persone e rendere queste informazioni formattate in maniera standard.

Diversamente da hCard e hCalendar, non segue uno schema di elementi standard (come vCard per hCard o iCalendar per hCalendar) ma si basa su un insieme di elementi che comunemente vengono usati nelle definizioni dei CVs pubblicati sul web. I class names della struttura hResume sono:

  • hresume: elemento radice del hResume
  • summary: identifica una brevissima sintesi delle esperienze
  • contact: informazioni della persona in formato hCard
  • education: il class name education viene associato ad uno o più eventi hCalendar cui è connessa una hCard che rappresenta la scuola (nome, indirizzo, ecc…)
  • experience:  il class name experience viene associato ad uno o più eventi hCalendar cui è connessa una hCard che rappresenta il lavoro e le informazioni dell’azienda
  • skill: frasi o parole chiave rappresentate con il microformat rel-tag
  • affiliation: corrisponde alla hCard dell’organizzazione
  • publications: citazioni, rappresentate con il tag <cite> o il microformat citation

Come possiamo vedere, quindi, hResume nella sua struttura comprende informazioni rappresentate con altri microformats (hCard, hCalendar).

Questo microformat è stato utilizzato da LinkedIn per riformulare i profili registrati; è evidente la corrispondenza tra gli elementi della Full View di un profilo LinkedIn e gli elementi della struttura hResume: Summary, Contact info, Education, Experience, Affiliation.
Rendere semantico questo tipo di informazioni permette una nuova concezione della ricerca del lavoro sul web: iscriversi ai diversi siti che raccolgono offerte di lavoro (vedi Monster) implica dover aggiornare e gestire (evitando inconsistenza dei dati) i propri “CV” sulle varie piattaforme cui si è iscritti; con il proprio hResume su LinkedIn, invece, si aggiorna una sola volta il CV e si è allo stesso modo rintracciabili (la questione si riduce a rendere noto agli altri – ping – che il CV/profilo è stato aggiornato).
I vantaggi di questa “semanticità” dei dati professionali vanno evidentemente anche incontro a chi ricerca persone con determinate esperienze, caratteristiche e interessi lavorativi (vedi cacciatori di teste).

Da queste nuove opportunità si stanno sviluppando nuovi standard e microformat, come job-listing

Fonti:
http://microformats.org/wiki/hresume
http://hresume.weblogswork.com/hresumecreator/
http://it.toolbox.com/blogs/recruitment-technology/linkedin-does-hresume-can-hjobs-be-next-14196
http://steve.ganz.name/blog/2007/01/linkedin-launches-hresume.html
http://factoryjoe.com/blog/2007/01/26/hresume-is-live-on-linkedin/
http://it.toolbox.com/blogs/recruitment-technology/linkedin-does-hresume-can-hjobs-be-next-14196


Microformats

ottobre 20, 2008

Dalla pagina “What are microformats?” del wiki di microformats.org, si trovano molte possibili definizioni di microformats.
Per citarne alcune:

“Designed for humans first and machines second, microformats are a set of simple, open data formats built upon existing and widely adopted standards.”

Definizione corrente di microformats, Dan Cederholm

“Microformats are simple codes that you can use to identify specific kinds of data, like people or events, in your webpages.”

Chris Messina

“Microformats are a way of adding simple markup to human-readable data items such as events, contact details or locations, on web pages, so that the information in them can be extracted by software and indexed, searched for, saved, cross-referenced or combined.

Andy Mabbett

“Microformats are the way to publish and share information on the web with higher fidelity.”

“[…]microformats are carefully designed (X)HTML class names that extend the semantics of (X)HTML and enable authors to publish higher semantic fidelity content such as people, events, reviews, etc.”

“A microformat is way of adding more meaning to web pages beyond normal HTML headings and paragraphs, so you can indicate mentions of people, companies, events, reviews, tags, etc.

Tantek Çelik

Microformats are a way of attaching extra meaning to the information published on a web page. This extra semantic richness works alongside the information already presented, and can be used for the benefit of people and computers. This is mostly done through adding special pre-defined names to the class attribute of existing XHTML markup.

Drew McLellan

Prendendo spunto da queste definizioni, possiamo quindi dire che i microformats sono dei particolari formati che vengono utilizzati per dare un significato (semantico) ai dati “human-oriented” che si trovano sulle pagine web (eventi, persone, links, etc…), in modo tale da renderli “machine-readable“, riusabili e facilmente condivisibili. Questo processo è ottenuto tramite l’uso di specifici class names XHTML.
Esempi di microformats sono hCard, hCalendar, hResume, XFN.
Il microformat hCard, ad esempio, è un formato standard per rappresentare informazioni riguardanti persone, organizzazioni o aziende, che sfrutta elementi del semantic HTML in modo da poter incorporare i dati delle vCard nelle pagine web. hCard parte proprio dagli elementi dello standard vCard e li utilizza come class names per inserire in pagine (X)HTML i valori degli oggetti vCard. Le proprietà di una hCard sono rappresentate dagli elementi identificati con certi class names, che sono quelli definiti dallo standard, ovvero:

  • vcard (identifica l’inizio di una hCard, è l’elemento root)
  • fn (formatted name)
  • n
  • nickname, sort-string
  • url, email, tel
  • adr, label
  • geo (latitude, longitude), tz
  • photo, logo, sound, bday
  • title, role, org
  • category, note
  • class, key, mailer, uid, rev

La mia hCard (creata in questo caso con hCard Creator) con alcune delle mie informazioni personali (Nome, Cognome, Città, Stato, Telefono, email, foto, url) potrebbe essere:

1. <div id="hcard-Simone-Dezaiacomo" class="vcard">
2.   <img style="float:left; margin-right:4px"
        src="http://www.esempio.com/miafoto.jpg" alt="photo of "
        class="photo"/>
3.   <a class="url fn" href="https://semanticweb30.wordpress.com">
                       Simone Dezaiacomo</a>
4.   <a class="email" href="mailto:indirizzoemail@gmail.com">
                       indirizzoemail@gmail.com</a>
5.   <div class="adr">
6.    <span class="locality">Bologna</span>
      ,
7.    <span class="region">Italy</span>
8.   </div>
9.   <div class="tel">+39 0512020202020</div>
10. </div>
(in rosso sono evidenziati i class names)

Questo codice, inserito nella propria pagina web, fa sì che le informazioni personali siano “semantiche” e formattate con il microformat hCard, rendendo i dati “machine-readable”, riusabili e facilmente condivisibili poichè sono identificati da class names standardizzati.

I Design Principles del semantic XHTML sono:

  • riutilizzare le strutture (nomi, oggetti, proprietà, valori, tipi, ecc…) già standardizzate nelle RFC (nel caso delle hCard, viene riutilizzato lo standard delle vCard)
  • usare class names basati sui nomi delle strutture originali dello standard (ad esempio quello che nelle vCard è BEGIN:VCARD, nelle hCard è class=”vcard”, così come FN diventa class=”fn”, ecc…)
  • Alcuni elementi possiedono sotto-proprietà (locality è una sotto-proprietà di adr). Queste sotto-proprietà devono essere annidate rispetto agli principali cui sono riferiti (vedi righe 5-8 dell’esempio sopra)
  • Se il formato dell’elemento corrispondente alla struttura standard originale è troppo lungo o scomodo, è possibile usare <abbr> e inserire il contenuto dell’elemento come valore dell’attributo title invece che come contenuto dell’elemento. (Per rappresentare la sotto-proprietà region – riga 7 – in formato abbreviato, avremmo potuto usare <abbr class=”region” title=”Italy”>IT</abbr>)

Per quanto riguarda il microformat hCalendar, il concetto e i design principles sono gli stessi di hCard, ma permette, seguendo la struttura definita dallo standard iCalendar, di rappresentare eventi e calendari incorporabili in pagine web e presentanti contenuto semantico riusabile e “machine-readable”.

Fonti:
http://microformats.org/
http://microformats.org/wiki/what-are-microformats
http://microformats.org/wiki/hcard
http://microformats.org/wiki/hcalendar
http://microformats.org/wiki/hresume
http://www.gmpg.org/xfn/


poshformats e microformats

ottobre 19, 2008

POSH è l’acronimo per Plain Old Semantic HTML.
Il semantic HTML è un sottoinsieme di elementi ed attributi XHTML che vengono utilizzati per scopi semantici piuttosto che per scopi presentazionali; il concetto di POSH comprende l’utilizzo del semantic HTML nella creazione di pagine web, cioè un documento (es: pagina web) è POSH se è sviluppato utilizzando certi criteri e processi che si basano sull’applicazione del semantic HTML.

I poshformats sono dei formati sviluppati in modo informale dall’autore di un documento POSH, che decide di creare un proprio vocabolario personale per i class names utilizzati. I microformats, invece, possono essere visti come un sottoinsieme dei poshformat, e sono dei formati che vengono generati seguendo “processi” e “principi” specifici. In linea di massima il concetto che sta alla base di entrambi è lo stesso, ed è quello di utilizzare un vocabolario per i class names utilizzati nelle pagine, la differenza sostanziale è che nei poshformat questo vocabolario è ad-hoc e personale, nei microformats invece il vocabolario è riusabile e formale, da questo si può comprendere l’importanza dei microformat per il semantic web.

Fonti:
http://microformats.org/wiki/posh