Google, Microformats, RDFa e l’evoluzione del commercio elettronico

agosto 2, 2009

Con il supporto per Microformats e RDFa anche da parte di Google, l’evoluzione che il semantic web porterà al commercio elettronico sembra sempre più vicina e  incisiva.

Come detto per SearchMonkey di Yahoo!, per i venditori online, incorporare informazioni semantiche nei propri siti web porterà a vantaggi sicuri sia in termini di visibilità che in termini di qualità degli annunci. Allo stesso modo questo si otterrà anche con Google, che sembra pronto a supportare anche il formato hProduct.

Fonte: Articolo di Alan Rimm-Kaufman


Anche Google verso il Semantic Web: Rich Snippets

agosto 2, 2009

Google annuncia il supporto per dati strutturati con Microformats e RDFa per evolvere gli “snippets”, ovvero i brevi riassunti che descrivono i siti che vengono visualizzati nelle SERPs.

Link all’articolo dell’annuncio sul Google Webmaster Central blog. (Maggio 2009)

Come ci si poteva immaginare, Google non ha tardato molto nel seguire la via “semantic-oriented” già intrapresa da Yahoo! con SearchMonkey.


Web 3.0 Conference – May 19-20, NYC

marzo 24, 2009

Web 3.0 Conference: Profit and gain insight by organizing information with semantic web and linked data technologies, May 19-20, 2009 New York City, The New Yorker Hotel.

Conference about Web 3.0 for Marketers, Information Technologists and Builders.

Informations here http://www.web3event.com/.

Enhanced by Zemanta

FoaF Explorer

marzo 15, 2009

human-readable

–>

machine-readable

–>

human-readable.


FoaF Explorer è un tool che permette di visualizzare in forma human-readable la struttura di una rete FOAF.


Enhanced by Zemanta

OWL – Web Ontology Language

novembre 16, 2008
Layer-Cake Diagram

Layer-Cake Diagram

Il livello che si trova sopra a RDF nel Layer-Cake Diagram (rappresentazione dell’architettura del Semantic Web) è OWL: Web Ontology Language.
Prima di tutto: cos’è un’ontologia? Con questo termine si intende la descrizione delle entità presenti in un sistema e delle loro relazioni. Un’ontologia quindi non è un semplice vocabolario di termini, ma una rete di relazioni tra entità definite.
OWL è un linguaggio per definire Ontologie Web e lo scopo di queste ultime è quello di descrivere formalmente il significato dei termini utilizzati nei documenti Web.
Questo livello dell’architettura del Semantic Web è molto importante per il fatto che dà la possibilità di realizzare quel passo verso la “machine-readabilty” delle informazioni, che, come abbiamo già detto, è l’elemento chiave del Semantic Web. OWL è infatti progettato per essere usato dalle applicazioni che devono elaborare le informazioni web, piuttosto che per quelle che devono solo presentarle all’utente.
Da un punto di vista di sintassi OWL è un’estensione di RDF, ma si differenzia da quest’ultimo per il fatto che RDF è un modello per rappresentare le risorse Web e le loro relazioni tramite una sintassi definita, OWL invece fornisce un vocabolario per le classi e le proprietà delle risorse RDF e per le relazioni tra queste.
Altra caratteristica fondamentale del Semantic Web che è applicata in OWL, è il concetto di riusabilità e “open world“, nel senso che le ontologie devono poter essere riutilizzabili e combinabili, in modo da poter estendere, definendo nuove ontologie, le classi che sono già descritte in una certa ontologia preesistente.

Leggi il seguito di questo post »


Introduzione a RDFa

ottobre 30, 2008

RDFa fornisce un insieme di attributi XHTML per rappresentare in formato machine-readable dei dati human-readable come le pagine web, senza che sia necessario riscrivere e creare nuovi contenuti (eventualmente anche in altri formati e con altre sintassi), ma semplicemente aggiungendo informazioni a quelli già esistenti.
Quando un utente raggiunge una pagina web è in grado di capire che, molto probabilmente, il testo scritto con un carattere più grande rispetto resto del contenuto della pagina indica il titolo della pagina stessa, e che la foto a fianco della biografia dell’autore è presumibilmente la foto dell’autore stesso. Se un’applicazione (browser) raggiunge la stessa pagina, non è in grado di fare le stesse deduzioni dell’utente, si limita ad identificare una stringa nella testata ed una immagine affiancata a del testo.
Aggiungendo delle informazioni (attributi XHTML) che esprimono il significato degli elementi, è possibile far sì che i programmi possano “capire” le pagine web.

RDFa introduce dei nuovi attributi XHTML che accettano valori appartenenti ad vocabolario specifico.
Il vocabolario di riferimento (Dublin Core, FOAF, etc..) viene importato specificando una XML Namespace declaration che associa il prefisso alla URIref, ad esempio per il prefisso dc:

xmlns:dc="http://purl.org/dc/elements/1.1/"

In questo modo è possibile utilizzare gli elementi raccolti nel vocabolario (ad esempio dc:title) come valori per gli attributi XHTML di RDFa. RDFa permette anche l’utilizzo combinato di più vocabolari nella stessa pagina.

Le informazioni aggiuntive inserite agli elementi della pagina XHTML tramite RDFa, costruiscono delle relazioni tra gli elementi stessi e sono rappresentabili tramite grafi basati sulle triple RDF soggetto-predicato-oggetto, questo fatto chiarisce che RDFa non è altro che un’applicazione dell’idea di RDF applicata alle pagine XHTML. L’estensibilità e riusabilità che caratterizzano RDF si notano anche in RDFa, è infatti possibile costruire nuovi vocabolari creando e pubblicando documenti RDF in cui sono descritte le classi e le proprietà del vocabolario stesso.

Fonti:
http://www.w3.org/TR/xhtml-rdfa-primer/
http://www.w3.org/TR/rdfa-syntax/#rdfa-attributes


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


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/