[Liferay&SemanticWeb] La semantica in Liferay con SKOS e Stanbol

Il giorno 11 Giugno 2012 si è tenuto all’Università di Tor Vergata il roadshow di Liferay e faccio qui una sintesi sugli argomenti trattati all’incontro, estratti dal materiale messo online sul portale della didattica di Tor Vergata:

[Materiale Didattico – Roadshow di Liferay – Università di Tor Vergata (Portale della Didattica)]

NOTA. Il materiale viene distribuito nel rispetto delle licenze Creative Commons e citando la fonte e gli autori.

Caratteristiche di Liferay Portal 6. Per quanto riguarda le caratteristiche di Liferay (versione 6), non volendo essere troppo prolissi, possiamo subito rispondere alla domanda sul perché conviene utilizzarlo. Innanzitutto perché è un progetto open-source, che consente un notevole risparmio in termini economici e tempi ristretti per l’installazione e la configurazione di una architettura Portal di tipo Enterprise.

Allo stato attuale, sono stati effettuati circa 6 milioni di download dei Liferay e il numero è destinato a crescere. Grazie ai connettori standard di cui Liferay è fornito, è possibile integrare il Portal con sorgenti esterne eterogenee, dai social network come (Facebook, Twitter e tanti altri che aderiscono allo standard Open Social) a sistemi legacy, repositories esterne e content store (tramite SOAP, Web Services, strumenti di Enterprise Integrations o servizi REST). Inoltre, può essere depiloyato sui maggior web containers diffusi nell’ambito J2EE (JBoss, Tomcat, ad esempio), si connette con i database più diffusi (come MySQL, PostGRESql, Oracle, ecc) e, grazie alla JVM, si può configurare su vari sistemi operativi.

Tra gli Enterprise Portal, secondo Gartner, Liferay si colloca al terzo posto con il 47%, dietro colossi commerciali come Oracle e Microsoft e collocato nel primo quadrante (Leaders e Visionaries) degli Horizontal Portal:  http://blogs.perficient.com/portals/2011/10/31/gartner-magic-quadrant-for-horizontal-portals-2011/

In Italia esistono già molti centri di competenza (localizzati prevalentemente al nord e qui a Roma), che creano quello che è detto Liferay Italian Partner Ecosystem.

Ma come meglio si adatta Liferay? Si può utilizzare per vari scopi:

  • piattaforma per la gestione di siti
  • sistema di gestione documentale
  • sistema per la gestione di contenuti web
  • piattaforma di produttività aziendale
  • piattaforma di sviluppo, integrazione e deploy

Inoltre, sono disponibili strumenti di social collaboration (per aumentare la produttività), che consentono ad un team di cooperare alla stesura di documenti condivisi, formare veri e proprio gruppi di progetto e condividere agevolmente documentazione e informazioni di lavoro.

Caratteristica importante è quella del supporto nativo migliorato per i dispositivi mobile, con un layout grafico che si adatta alle dimensioni dei dispositivi, tramite riconoscimento WURFL.

Altre caratteristiche avanzate di Liferay e nuove funzionalità introdutte nella versione 6, le potete leggere direttamente dalle slide del ROADSHOW. [ROADSHOW_LIFERAY_11062012 – Slides]

Raw Data Now e Linked Open Data. Sul web, si sta andando sempre più verso la definizione di dati strutturati e collegati tra loro. L’informazione acquista il suo valore semantico, come è giusto che sia. Si crea una fitta rete di collegamenti tra i dati e si arriva ad integrare e rafforzare l’informazione, tramite strumenti collaborativi e di distribuzione. Le tecnologie del web semantico devono essere al servizio di questo web dei dati (come scrive Alessandra Donnini di Etcware s.r.l.).

Partiamo dalla celebre frase di Tim Berners Lee: “RAW DATA NOW!“, che preannuncia il passaggio dal web tradizionale al Web dei dati. Tale passaggio è vitale poichè ci sono sempre più dati sul web, per cui si ha necessità di linkarli (gli open data della pubblica amministrazione, per esempio).

Abbiamo già fatto ampia menzione di questi concetti su questo blog, nei seguenti articoli:

Ricapitoliamo che, secondo questa visione, i dati devono essere pubblicati su web, devono essere collegati fra loro ed integrati. Le tecnologie del web semantico devono essere al servizio di questo “web dei dati”. Gli standard di riferimento per questo scenario sono RDF (Resource Description Framework) e URI (Uniform Resource Identifier – URL+URN). Tuttavia, esistono una miriade di altri standard come i sistemi di metadatazione (Dublin Core, FOAF), SKOS (Simple Knowledge Organization System), RDFS (RDF Schema), OWL (Web Ontology Language), SPARQL (Simple Protocol And RDF Query Language).
Come si creano i Linked Open Data? Basta mettere i dati su web con URI, e in corrispondenza di questi mettere altre informazioni, legando i dati fra loro. Il legante è l’RDF! Le URIs (Uniform Resource Identifiers) sono usate per identificare le “cose” (things), chiamate anche entities nel mondo reale (come persone, luoghi, eventi, aziende, enti, ecc.). Prendendo una definizione di Google in riferimento alla “knowledge network“: things and not strings!

Come si “preparano” i dati per realizzare il web dei dati?

  • SOLUZIONE 1 – “Lift”: Si applicano tecniche di HTML Scraping e Natural language processing (NLP) per estrarre informazioni semantiche da siti esistenti. Soluzioni correnti: OpenCalais, Zemanta, Apache Stanbol. Il vantaggio di questa soluzione è che non si ha nessuna necessità di modificare i contenuti esistenti, ma occorre una verifica degli stessi. Un esempio è costituito da DBpedia.
  • SOLUZIONE 2 – Export. Esportazione dei dati da DB ad RDF (http://www.w3.org/wiki/Rdb2RdfXG/StateOfTheArt), ossia mappare i database relazionali in RDF, con software/standard come quelli che seguono: D2RQ, Triplify, SquirrelRDF, Relazional.OWL, Protege Plugins (DataMaster, OntoBase, DataGenie), Virtuoso’s RDBMS to RDF Meta Schema Language (Semantic Discovery Systems), Igrafs, Protege Excel_Import
  • SOLUZIONE 3 – Riuso. E’ la base per la creazione dei Linked Open data: grandi repository di dati espressi usando il modello RDF, disponibili su web (gratis e a pagamento). Deve essere definita l’interoperabilità fra questi repository, ovvero il mapping fra i dati (ad esempio, mediante ontologie).

Dove si mettono i dati? Sulle pagine HTML. Ossia, i dati sono nascosti nella pagina HTML e i motori di ricerca (come Google, Bing, Yahoo!, Yandex ed altri li usano. Ci sono due modalità che stanno emergendo a livello standard: RDFa (HTML5, XHTML e XML in generale) o microdata (HTML5). Le pagine web che contengono dati strutturati sono aumentate del 6% nel 2010 e del 12% nel 2012.

Come si accede ai dati? Grazie ad RDF e ad applicazioni che erogano dati con interfacce RESTful (come fa la piattaforma di Linked Data SKOSware (di cui parleremo in seguito). Il Linked data platform Working Group (LDP WG del W3C) ha cominciato a lavorare alla definizione degli standard per le piattaforme di erogazione dei dati e nelle W3C Recommendations ha definito la distribuzione dei linked data con servizi RESTful. L’obiettivo è quello di finire nel 2014.

[Riferimento: Raw Data Now! di Alessandra Donnini – Etcware s.r.l.]

La piattaforma di Linked Data SKOSware. SKOSware è un prodotto di EtcWare per la gestione condivisa e per la pubblicazione di thesaurus SKOS.

Sito ufficiale SKOSware (con demo): http://www.skosware.it/swphp/index.php

SKOS (Simple Knowledge Organization System) è un formalismo per rappresentare appunto thesaurus, in cui i termini (che a questo punto vengono promossi allo status di concetti) vengono identificati da URI. SKOSware offre una interfaccia amministrativa per operare sui thesaurus, utilizzabile da una comunità di utenti in ambiente collaborativo, e una interfaccia programmatica, API REST e API Java per integrare la gestione thesaurus in CMS o applicazioni di knowledge management, arricchendo semanticamente i contenuti.

Attualmente SKOSware è integrato con Liferay 6.0.x e con SOLR. Sul sito ufficiale si legge:

SKOS & SKOSware. Il World Wide Web Consortium ha definito uno standard per rappresentare dizionari e tesauri, chiamato SKOS – Simple Knowledge Organization System, che fornisce un modello per esprimere la struttura di base e il contenuto di schemi concettuali quali thesauri, schemi di classificazione, tassonomie, folksonomie, e altri tipi simili di vocabolari controllati.
Come applicazione del RDF – Resource Description Framework, SKOS permette di organizzare concetti e pubblicarli sul World Wide Web, collegarli a dati sul Web e integrarli in altri schemi di concetti. In SKOS le risorse concettuali (concetti) sono identificati con gli URI, etichettati con stringhe in una o più lingue, documentati con vari tipi di note, semanticamente correlati gli uni agli altri nelle gerarchie informali e reti di associazioni, e aggregati in schemi concettuali.
Un vocabolario SKOS, inoltre, può essere esteso per soddisfare le esigenze di comunità specifiche o in combinato con altri vocabolari.
Il modello SKOS fornisce uno standard per facilitare la migrazione di sistemi esistenti di organizzazione della conoscenza come tassonomie e vocabolari. SKOS fornisce un linguaggio intuitivo e leggero per sviluppare e condividere sistemi i organizzazione della conoscenza: può essere usato da solo o in combinazione con linguaggi di rappresentazione formale della conoscenza come ad esempio OWL – Web Ontology Language.

[Riferimento: Liferay e SKOSware – come SKOSsizzare i propri contenuti]

LIFERAY e SKOSware. Un tesauro è uno strumento per la condivisione del linguaggio. Vari tipi di organizzazioni collezionano in tesauri il loro patrimonio lessicale. Da un punto di vista tecnico, un tesauro è una collezione di termini organizzati gerarchicamente o relazionati fra loro. Esempio di tesauro: Eurovoc, il tesauro multilingue della Comunità Europea.
SKOS è uno sforzo da parte del W3C di produrre standard e specifiche tecniche di alto livello a supporto della produzione e dell’utilizzo di sistemi per l’organizzazione e la gestione della conoscenza (KOS = Knowledge Organization System), come tesauri, schemi di classificazione, liste di categorie, ecc., in modo tale da poter essere armonizzato ed integrato negli altri standard e linguaggi propri del Web Semantico (ad es. OWL).

Perché uno standard?

  • SKOS fornisce una metodologia standard per rappresentare sistemi di organizzazione della conoscenza, utilizzando come linguaggio di codifica delle relazioni SKOS il Resource Description Framework (RDF). Esprimere le relazioni SKOS in triple RDF consente alle applicazioni automatiche di comprendere ed utilizzare tali informazioni.
  • Utilizzare RDF consente anche ai sistemi di organizzazione della conoscenza di poter essere organizzati come applicazioni decentralizzate e totalmente distribuite.

Un esempio di integrazione di SKOSware. SKOSware è facilmente integrabile sui CMS grazie alla interfaccia REST, come Liferay. I tesauri su SKOSware vengono usati per arricchire semanticamente (con metadati) un corpus documentale. Un esempio di utilizzo si ha su www.baseculturale.it (qui le schede sono arricchite semanticamente con SKOSware)

Perché pubblicare tesauri SKOS?

  • Per condividere il proprio “linguaggio”.
  • Per arricchire semanticamente i contenuti su Internet (metadati).
  • Per usare i concetti dei tesauri all’interno di ontologie: la separazione di tesauri e ontologie permette il riuso dei tesauri.
  • Perché i motori di ricerca sono in grado di riconoscerli, li importano e li usano
  • I motori di ricerca sono capaci di collegare fra loro documenti (Linked Data) su Internet che sono annotati con URI SKOS uguali.
  • I termini/concetti di SKOS sono identificati da URI. Ad esempio: http://culturaitalia.it/pico/thesaurus/4.1#pinacoteche.

Una pagina Web che descriva un documento o un articolo può essere annotata con URI SKOS mediante RDFa o microformats all’interno del codice della pagine XHTML.

Altra tecnologia a supporto del web dei dati e che arricchisce i content management systems è  Apache Stanbol, un progetto open source che realizza uno stack di componenti per la gestione semantica dei contenuti. Per maggiori informazioni, vi linko un articolo su questo blog in cui ne ho già parlato: Apache Stanbol, la semantica nei content management systems. Lo stesso Liferay utilizza Stanbol e SKO per la gestione semantica dei contenuti in esso presentati. Ricapitolando, le funzionalità principali di Stanbol sono:

  • Arricchimento dei contenuti
  • Reasoning
  • Knowledge modeling
  • Persistenza

Nel riferimento che segue vengono presentate le portlet riusabili sviluppate con Liferay e che si integrano con Stanbol. La soluzione è stata proposta da Etcware e prende il nome di etcware4stanbol [Riferimento: Automatic Metadata Enrichment – etcware4stanbol]

Caso d’uso – Portale del Garante per la privacy. Una applicazione di SKOSware importante è quella per la realizzazione del tesauro del Garante per la Protezione dei dati personali (ancora in fase di sviluppo e sperimentazione). Vi linko al riferimento con i dettagli dell’architettura utilizzata (Liferay + SKOSware + Apache SOLR)

[Riferimento: Caso di studio – Il portale del Garante per la protezione dei dati personali]

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *


7 + = dodici