Membro di PiperitaLab
Home » Seo e webmarketing » RDFa : La genesi del web semantico. Parte IV

RDFa : La genesi del web semantico. Parte IV

Scritto da il 15 giugno 2009 in Seo e webmarketing, Xhtml, Css e Ajax - 7 Commenti - 17 visite

google microformats 218x120 RDFa : La genesi del web semantico. Parte IVTorniamo alla notizia che ho citato nel primo articolo di questa guida: “Google recepisce RDFa e i microformati”. Proprio su questo aspetto ci concentriamo in questo ultimo appuntamento, chiedendoci “In che modo ?” . In effetti questa domanda già pone un sospetto al lettore, ovvero che la sintassi e i namespace già noti non sono poi stati recepiti pienamente e che google, in un certo senso, abbia personalizzato questi strumenti. Innanzitutto, l’unico namespace che viene interpretato dal motore è http://rdf.data-vocabulary.org/# . Questo namespace è limitato, e così come risulta dalla guida, é possibile descrivere solo 4 tipologie di “risorse-soggetto” :

  • Review (recensione singola) e Review-aggregate (recensione aggregata)
  • Person (persone)
  • Product (prodotti)
  • Organization (Associazioni e/o Organizzazioni)

Un ulteriore problema è la sintassi di RDFa. La guida, sottolinea più volte che non è possibile usare l’attributo about per definire i soggetti, anche se non si esclude che in futuro ciò possa avvenire, anzi se ne incentiva l’uso per altri vocabolari non interpretati dal motore, dato che, come abbiamo visto l’attributo può coesistere con typeof. Inoltre non è un caso che tutti gli esempi siano strutturati sempre allo stesso modo. Eccone uno, estratto proprio dalla guida, che descrive una persona (i predicati sono abbastanza intuitivi) :

<div xmlns:v="http://rdf.data-vocabulary.org/#" typeof="v:Person">
   <span property="v:name">John Smith</span>
   <span property="v:nickname">Smithy</span>
   <span property="v:url">http://www.example.com</span>
   <span property="v:affiliation">ACME</span>
   <span rel="v:address">
     <span property="v:locality">Albuquerque</span>
   </span>
   <span property="title">Engineer</span>
   <a href="http://darryl-blog.example.com/" rel="v:friend">
   <span property="v:name">Darryl</span>
</div>

La struttura degli esempi è sempre la stessa:

  • scope del namespace limitato al blocco di codice in questione (div o span)
  • soggetto definito con typeof. La mancanza di about non permette di separare la descrizione delle risorse in blocchi distinti di codice (esempio…su più div dello stesso livello gerarchico)
  • predicato definito con rel o property
  • l’oggetto è un letterale pieno o un letterale XML

Insomma, da questa guida non si evince con chiarezza se, a parte l’eccezione di about, ci sono altre regole sintattiche di RDFa che non sono state recepite. Sembra proprio che il motore lasci consapevolmente questo dubbio agli sviluppatori, dichiarando la mancata compatibilità di about e la ripetizione degli stessi schemi sintattici, proprio per nascondere una maggiore incompatibilità della sintassi standard. L’unico modo per scoprire la verità è quello di provare tutte le possibili forme sintattiche e osservare i risultati che queste producono sul motore, ma questa non sembra essere una strada facilmente percorribile. Dunque, per ora, è conveniente esprimere le informazioni semantiche usando gli schemi (esempi) che ci vengono proposti, con la certezza almeno di ottenere i risultati sperati.

Sottolineati questi aspetti, i predicati associabili ad ogni tipologia di risorsa-soggetto li trovate direttamente nella guida e pur essendo descritti in inglese, sono intuitivi e ben organizzati in tabelle. L’unica risorsa che merita una analisi critica riguarda la recensione aggregata. L’esigenza delle recensioni aggregate è ignota. In genere una recensione può aiutare il motore a selezionare e a dare importanza ai link o alle risorse nel posizionamento, ma una recensione ha senso quando il rapporto tra la risorsa e la recensione stessa è 1:1. Più sono le recensioni, più il motore dovrebbe attribuire importanza alla risorsa recensita. Ma che senso ha un rapporto 1:n prodotto da una sola persona(in questo caso lo sviluppatore web)? Per esempio google afferma che con questo codice :

<span xmlns:v="http://rdf.data-vocabulary.org/#" typeof="v:Review-aggregate">
   <span property="v:itemreviewed">Komala Vilas</span>
   <span rel="v:rating">
      <span property="v:average">3.6</span>
   </span>
   <span property="v:count">20</span>
</span>

l’autore del codice può attribuire alla risorsa recensita una media di voti pari a 3.6 data da 20 partecipanti al voto. A che serve una recensione aggregata, se ogni sviluppatore può inventarsi il numero di persone e il voto medio?

Bene, siamo arrivati alla fine della guida, spero sia stata utile per tutti . Alla prossima !

Libri da non perdere:
Amazon-Box creato da Giuseppe Frattura

L'Autore

Informatico. Appassionato di teoria dei numeri.

homeSito personale|archiveArchivio autore

7 Commenti

  1. Francesco Venturini (3 comments)
    Scritto il 18 giugno 2009 alle 16:49

    grazie dell’articolo che mi ha dato una bella panoramica, ma ho un problema + che altro di fonti:
    io nn sapendo nulla di xml o di programmazione a oggetti devo imparare sto web semantico. Ok c’è il sito w3c che ti da la sintassi, siti che ti danno delle resource, c’è swoogle ma…esiste una guida/tutorial (tipo difficoltà bambini 3 anni) che ti aiuta a creare un semplice RDF giusto x muovere i primi passi!

    NB se ho capito qlc senza xml è come chiedere ad un cieco di imparare a guidare, sbaglio?

  2. Giancarlo (123 comments)
    Scritto il 19 giugno 2009 alle 18:35

    @Francesco : hai ragione e non hai ragione allo stesso tempo. Insomma…se già hai masticato dell’xhtml dovresti sapere che xhtml è xml. Mentre l’html non è xml! Anche se esiste uno scontro tra fazioni di sviluppatori su questo argomento, perchè i server “servono” i file xhtml come file html. Io ho preso una posizione chiara sullo scontro di vedute (guarda http://www.yourinspirationweb.com/2009/05/22/e-se-qualcuno-dicesse-che-i-tuoi-documenti-xhtml-non-sono-altro-che-html-non-valido/ )

    Cosa voglio dire? prima di usare rdf e xhtml si dovrebbe capire cosa è l’xml, ma spesso si usa xhtml solo perchè tutti lo usano (come se fosse una moda!!). L’rdfa semplicemente aggiunge attributi a xhtml. Quindi se per caso, tu rientri nella categoria di coloro che sanno come si scrive un file xhtml ma non sa cosa sia xml…non significa che per forza devi capire xml per aggiungere l’rdfa al tuo documento xhtml. A maggior ragione, la programmazione ad oggetti non c’entra nulla con i linguaggi di mark-up.

    Infine, è vero che in giro non si trovano tutorial o guide sull’argomento e sai perchè? perchè solo ora cominciano a vedersi delle possibili applicazioni. Spesso si parla di semantica anche in modo inappropriato. Quest’ultimo articolo mostra quanto siamo indietro ancora da vere e proprie applicazioni…per questo non si trova in giro nulla. Anzi…spesso si leggono “cavolate” dove si confondono i trucchetti del posizionamento sui motori di ricerca (tra l’altro tutti da constatare…nella loro fondatezza) con la semantica. Ma i trucchetti son trucchetti, le regole semantiche sono regole semantiche. I trucchetti valgono per un motore o 1 applicazione, le regole semantiche devono valere per tutte le applicazioni e per tutti i motori, senza trucco e senza inganno.

    Dunque la domanda da porti è serve davvero costruire un file RDF ? A cosa ti serve ?

    Quando ho cominciato a sentir parlare di web semantico, anch’io ho cercato informazioni…anch’io mi sono scritto dei file rdf, anch’io credevo che i trucchetti fossero “web semantico”….poi ho cominciato a non vederci chiaro…e mi sono messo a cercare info. E adesso ho le idee chiarissime. Le risposte a quelle domande sono : 1) l’RDF ancora non serve ancora per il web, 2) l’RDFa serve dato che google lo ha adottato, 3) i trucchetti di posizionamento e il web semantico sono 2 cose diverse.

  3. Francesco Venturini (3 comments)
    Scritto il 20 giugno 2009 alle 16:02

    Premettendo che nn conosco html ne xhtml! Ti chiarisco subito: ho iniziato uno stage dove mi dovevo imparare ad usare visual studio x fare web application in c# ma ovviamente anche l’html serve anche se hai la toolbox.
    Di punto in bianco questa azienda deve adattare TUTTO, non mi chiedere il perchè, al web semantico. Il mio compito ora è capire cosa c’è dietro, imparare le sintassi e costruire un modello che poi sarà dato in pasto al parser ect. ect.
    Quindi io non mi devo imparare i trucchetti e non mi importa se serve o no! Quello che ti chiedo, visto la tua esperienza, è il background che devo conoscere x muovere i primi passi CON COGNIZIONE DI CAUSA (xml quindi giusto?) e delle guide/siti che, lo so che è difficile x questo argomento, abbiano un approccio il + pragmatico possibile viste le mie lacune sulla programmazione (sono solo un ingegnere elettronico triennale con un infarinata di c++ e da 1 mese di C#)

  4. Giancarlo (123 comments)
    Scritto il 20 giugno 2009 alle 18:08

    E allora…io voglio subito dirti che non ho grande esperienza nè competenza. Pur avendo una laurea in informatica queste poche cose che ho descritto nella guida derivano da letture autodidatte sui documenti w3c e google. Però ho come l’impressione che la tua stessa azienda non sa qual’è lo stato dell’arte del web semantico. Cioè, senza andare troppo lontani o senza addentrarci nel w3c…se cerchi web semantico su wikipedia (quindi roba da 3 anni)…troverai delle informazioni interessanti. Intanto che l’infrastruttura del web semantico è stratificata. A livello + basso c’è xml, poi segue rdf, poi altri linguaggi (tra cui owl) e poi altri strati non proprio banali!!! Questo a dimostrazione di quanto ancora c’è da lavorare.

    Cioè, fammi capire la tua azienda cosa vuole fare?? Quello che decine e decine di università, gruppi di lavoro del w3c, aziende di alto livello (es. google) stanno pian piano facendo con la ricerca ancora in corso????

    Io penso che il web semantico si possa dividere in 2 parti: la prima parte…lo strato fino a OWL dove avviene la descrizione delle risorse e dei dati (quindi semplice mark-up), e questo dovrebbe interessare i costruttori di siti web (quelli che vengono chiamati volgarmente web master).

    Poi ci sono gli strati più alti, ovvero le applicazioni web che estraendo i dati dal markup(xml,rdf,owl)…sono in grado di fare conclusioni logiche,semantiche, intelligenti. Tipo se io dico:

    Einstein è un matematico. I matematici sono dei pazzi.

    Una applicazione web dovrebbe poter trarre questa conclusione: Einstein è pazzo (il classico sillogismo aristotelico).
    Ma a queste applicazioni siamo veramente lontani… Ma tu…scusa, non hai un referente nell’azienda? un tutor dello stage ..per capire cosa vuole l’azienda da te?

    Per fare delle applicazioni di web semantico (non gli strati bassi…cioè il markup con cui descrivere le risorse) ci vogliono ottime competenze che neanche io che sono un informatico conosco tutte (perchè alcune materie le ho studiate altre no in base al percorso di studi). Esempio: 1) teoria dei compilatori(espressioni regolari, come creare un parser, come creare un compilatore…) 2)logica proposizionale e del primo ordine 3) teoria della calcolabilità 4)intelligenza artificiale. Addirittura…da uno sguardo veloce su wikipedia…si arriva alla crittografia…insomma…1 azienda potrebbe anche investire sul web semantico. Ma a me sembra + un lavoro da equipe…dove ognuno si dedica ad 1 punto ben preciso e dove si suddividono i compiti e dove chi dirige sa quello che deve fare e già ne capisce!…almeno che tu…con 1 sola materia di programmazione data in ingegneria intenda studiare per conto tuo molte materie che neanche nei corsi universitari delle facoltà di informatica vengono trattate.

    Cmq, se la domanda è da dove iniziare: inizia da xml…e poi sali pian pianino seguendo lo schema presente su wikipedia che trovi qui:
    http://upload.wikimedia.org/wikipedia/it/9/9e/W3C-Semantic_Web_layerCake.png

    Non ti posso dare altri link…perchè come ti ho detto…io ho estratto queste poche info su rdfa da google e dal w3c.

    Non posso che augurarti Buona Fortuna!

  5. Francesco Venturini (3 comments)
    Scritto il 23 giugno 2009 alle 12:25

    Guarda le tue perplessiatà sul perchè un’azienda emergente italiana (che però è una realta molto valida, beh chi la dirige è un visionario e da zero adesso avrà una 30ina di dipendenti nella ricerca e sviluppo) si stia buttando a capofitto su questa tecnologia/filosofia ce le ho anche io.

    Si ho un referente che per quanto ne capisca penso sia al tuo livello ossia una bella infarinata approfondita basata sugli articoli del w3c. Ti ho fatto quelle domande xchè mi hanno detto “tu comincia a leggere articoli e sintassi dell’owl e dell’rds per avere un quadro generale, poi vediamo”

    Cmq il primo step è creare un modello rdf “compilato bene” (consentimi questa espressione che nn so quanto sia giusta) però se è uno stage io voglio arrivare ad avere una competenza globale sull’argomento e vorrei capire su cosa si basa questa competenza. Magari sono un po’ frettoloso e sicuramente loro hanno un livello di preparazione sull’argomento vasto, però sai quando una persona mi dice “tu comincia poi ti dico…” mi disorienta e cerco qualche punto di riferimento che tu mi hai dato!!
    Sappi che se avessi delle altre domande ti rompero le scatole sicuramente!! non prenderla come una minaccia ma come una promessa :P
    Grazie

  6. Michele Filannino (1 comments)
    Scritto il 19 gennaio 2010 alle 15:54

    Ciao Giancarlo, ho provato a contattarti su Skype ma il tuo account sembra non esistere. Avrei bisogno di capire, insieme a te, come è possibile (ammesso che lo sia) collegare concetti ontologici (anche istanze) di una risorsa OWL in una pagina XHTML mediante SA-REST (utilizzando RDFa).

    Grazie.

  7. Marco Grazia (43 comments)
    Scritto il 28 novembre 2010 alle 11:54

    Sono capitato qui per caso e solo perché cercavo alcune informazioni su RDFa e ora mi sono dovuto leggere tutti i commenti ai tuoi articoli, sia su questo che sull’altro blog di cui hai dati il link più sopra :-D
    Non vorrei andare OT, anche se dopotutto si sta riaccendendo la polemica mia sopita tra html vs xhtml, ebbene io servo comunque i file come xhtml più che altro perché mi piace il suo rigore (ah sono una persona del tutto disordinata nella vita :-) .
    Comprendo che non è il solo scopo della sua creazione, ma il rigore è stato il leit motif contro lo sfacelo dello spaghetti code, te ne ricorderai quando circa 10 anni fa andava di moda la frase “il 99% dei siti è obsoleto”.
    Quell’obsoleto si riferiva tra l’altro anche al fatto che si usava una codifica lo html 4.01 che veniva considerato vecchio e oramai inutile, un po’ negli stessi termini in cui oggi si cita html5.
    Io credo che i discorsi che facciamo qui siano frutto di dieci anni di compromessi anche politici; xhtml 1.0 era una versione di passaggio verso forme più strette del linguaggio, doveva avere una dichiarazione XML che il W3C stesso ha eliminato per non entrare in polemica con uno dei più grossi finanziatori dello stesso consorzio, finanziatore che è anche un grosso produttore di software i cui browser non accettano ancora oggi nessuna parte che comprenda xhtml nel codice.
    Un finanziatore che aveva deciso di brevettare xml dato che l’ha inventato lui (così dice, mentre sappiamo che è stato un team di sviluppo tra i quali c’è Tim Bray che di fatto lavorava in Microsoft) ma comunque la cosa rende più politica che tecnica la questione.
    Tu parli di server che fa vedere comunque le pagine come html (mime del file) bene! E che ci voleva a rendere quella pagina come xhtml bastava modificare il software del server ma nessuno l’ha fatto.
    Te ne dico un’altra, con PHP posso rendere le pagine tutte html, ma alla fine il problema non si pone come tecnico, i browser sono fatti per ignorare ciò che non capiscono e /> per loro resta > è una questione di parsing ciò che resta è la querelle su html sì o no!
    Io continuo a vederla come politica, dal punto di vista tecnico cosa gli costava alla Microsoft ad uniformarsi a xhtml, come ora si è pienamente uniformata a html5 (senza spazio mi raccomando!).
    Eppure sappiamo che html 5 (con lo spazio) era un linguaggio voluto fortemente da Apple e Google in primis.
    Mi chiedo quali compromessi hanno comportato l’eliminazione di quello spazio tra elle e 5; per esempio una serializzazione verso xml di html5 (http://www.w3.org/TR/html5/the-xhtml-syntax.html).
    L’inserimento di elementi per la formattazione di un microcode embedded nel codice del linguaggio html5?
    Ma allora RDFa che fine fà?

    M.

Scrivi un commento!

© 2012 Italian webdesign. Diritti riservati. Ideato da Laura Gargiulo - Icone di Komodo Media - Logo di W3B.