Semantic Social Network

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Semantic Social Network"

Transcript

1 Sistemi ad Agenti aa. 2009/2010 Semantic Social Network Versione /12/2009

2 Indice 1. Stato dell arte dei Social Network 2. Applicazioni Semantic Social Network 2.1 Visualizing semantic network Social Network Analisys Vantaggi di una Semantic Network Esempio Flink 2.2 Semantic Wiki Acewiki Semantic MediaWiki 3. Framework per la creazione e gestione di social network 3.1 Problematiche 3.2 Iniziative e strumenti da adottare 3.3 Portabilità dei dati tra le Social Network (FOAF - SIOC - SKOS) 3.4 Drupal 3.5 Open Calais 3.6 OpenPublish 3.7 Una raccolta di piattaforme open-source 4. Semantic Desktop 4.1 Social Semantic Desktop 4.2 Stato dell arte: Nepomuk 2

3 1. Stato dell arte dei Social Network L'emergere del web sociale Anche se Tim Berners-Lee ha immaginato una lettura / scrittura, il Web è un media di sola lettura per la maggioranza degli utenti. Il web del 1990 è stato molto simile alla combinazione di un elenco telefonico e delle pagine gialle (un mix di messaggi individuali e di cataloghi aziendali) e nonostante il potere di collegamenti ipertestuali ha instaurato uno scarso senso di comunità tra i suoi utenti. Questo atteggiamento passivo verso il Web è stato rotto da una serie di modifiche con utilizzo di modelli e tecnologie che oggi sono denominati Web 2.0, un concetto di moda coniato da Tim O'Reilly. Nel seguito, riassumiamo la storia e gli aspetti di definizione del Web 2.0. Le modifiche che hanno portato verso l attuale livello di impegno sociale on-line non sono stati radicali o singolarmente significativi, il che spiega perché il termine Web 2.0 è stato creato in gran parte dopo il fatto. Tuttavia, queste serie di innovazioni nell architettura e modello di utilizzo del web ha portato ad un ruolo completamente diverso del mondo online, ossia è una piattaforma per la comunicazione intensa e interazione sociale. Il conseguente aumento nella nostra capacità di ottenere informazioni on-line e di sostegno sociale possono essere quantificati. Una recente indagine basata su interviste con adulti, dimostra che internet migliora in modo significativo negli americani la capacità di mantenere la loro integrazione sociale, nonostante i primi timori per gli effetti della diminuzione di contatto della vita reale. L indagine conferma che non solo le reti sono mantenute ed estese, ma sono anche attivate per far fronte alle situazioni di vita più importanti, come ottenere il supporto in caso di principali malattie, in cerca di lavoro, informazioni su grandi investimenti, ecc. La prima ondata di socializzazione sul web è dovuto alla comparsa di blog, wiki ed altre forme di comunicazione web-based di tipo collaborativi. Blogs e wiki hanno attratto la popolarità di massa dal La principale caratteristica per cui hanno reso tali applicazioni sul web di successo è il fatto che esse permettono l aggiunta di contenuti sul web senza che vi sia una conoscenza del linguaggio HTML. Infatti, Blog e wiki hanno consentito ad individui e ai gruppi di rivendicare i loro Personal Space sul Web con la possibilità di riempirli con contenuti in modo relativamente facile. Ancora più importante, al giorno d'oggi i blog sono ampiamente riconosciuti come un social network densamente interconnesso attraverso il quale le notizie, le idee e le influenze si diffondono più rapidamente nel web. L'esempio di Wikipedia, l'enciclopedia on-line è eccezionale, grandi e piccoli wiki sono utilizzati da gruppi di varie dimensioni, come un efficace strumento di conoscenza utile per la loro gestione e la loro tenuta. 3

4 Indipendentemente dalla meta, la proprietà collettiva di un Wiki impone un senso della comunità attraverso le discussioni necessarie sui contenuti condivisi. Allo stesso modo, l immediatezza del messaging (ICQ) è non solo la istantanea esigenza di comunicare (come il telefono, e la quasi istantaneità delle ), ma anche la capacità di vedere chi è online, una trasparenza che induce un senso di responsabilità sociale. Il primo social network online (noto anche come servizi di reti sociali ) entrò in campo nello stesso momento dei blog e wiki. Nel 2003, Friendster nel giro di pochi mesi ha attirato oltre cinque milioni di utenti registrati, seguito successivamente da Google e Microsoft con l'avvio di servizi analoghi. Sebbene la caratteristica di tali siti è paragonabile alle caratteristiche che presentano pagine web personali, essi forniscono un punto d accesso centrale permettendo inoltre il processo di condivisione delle informazioni personali e la socializzazione online. Dopo la registrazione, questi siti consentono agli utenti di pubblicare un profilo con informazioni base, possibilità di invitare altri a registrarsi e un collegamento con i profili dei loro amici. Il sistema inoltre permette di visualizzare e navigare la rete sociale al fine di scoprire amici in comune, amici che si pensava di aver perduto o potenziali nuove amicizie basate su interessi condivisi (vi sono siti tematici che rispondono a più obiettivi specifici, come per esempio la creazione di contatti di lavoro o alla ricerca di relazioni romantiche). Tali sistemi sono ampiamente conosciuti e consentono agli utenti di mantenere reti di grandi dimensioni rispetto ai loro dati personali e a contatti commerciali. 4

5 Di recente, la tendenza per i social network è quella di utilizzare servizi basati sui profili utente e le reti al fine di stimolare lo scambio di contenuti diversi: le foto, per esempio, sono condivise in Flickr, i bookmarks sono scambiati in del.icio.us, piani e obiettivi in 43Things. L idea di rete basata sullo scambio deriva dall osservazione sociologica secondo la quale afferma che l interazione sociale crea somiglianza e viceversa: gli amici sono suscettibili nell aver acquisito o sviluppato interessi simili. Molti sistemi permettono l annotazione collaborativa (folksonomies) per connettere utenti a contenuti pertinenti e altri utenti che sono interessati a simili cose. Molto simile a wiki, la nuova generazione di siti web ottiene l'impegno da parte della comunità di utenti, dando un ruolo attivo nella creazione e gestione di contenuti, compreso il compito della loro organizzazione. L uso esplicito dei profili utenti rendono possibile per tali sistemi, l introduzione di un meccanismo di voto e i loro contributi sono classificati in base all utilità o affidabilità. I voti sono forme esplicite di capitale sociale che regolano scambi nelle comunità on-line più o meno allo stesso modo in cui nel mondo reale vi è lo scambio di reputazioni. Ad esempio, nella piattaforma per le news di tecnologia Digg, gli utenti danno i pollici verso l'alto o pollice verso il basso per le notizie fornite da altri utenti. Inoltre, Digg fornisce un modo per gli utenti di vedere quali altri utenti sono on-line su Digg, per la creazione di un simile senso di simultanea presenza sociale come nel caso di instant messaging. Il design e l implementazione delle applicazioni del Web si sono evolute in modo da rendere l'esperienza di interazione dell utente con il Web quanto più agevole possibile. In termini di design, nuovi siti web hanno messo l'accento su un ambiente pulito, accessibile e attraente, un aspetto che interferisce il meno possibile con le funzionalità dell'applicazione. In termini di implementazione, i nuovi siti web sono basati su nuove modalità di applicazione di alcune tecnologie già preesistenti. (Asynchronous JavaScript and XML, AJAX o, un mix di tecnologie che sono stati supportati dai browser per anni). 5

6 In linea con la facilità d'uso, ciò che può essere osservata è anche una preferenza per i formati, i linguaggi e i protocolli che sono facili da usare e sviluppare: formati come JSON, e protocolli come REST. Questo è al supporto per un rapido sviluppo e prototipazione (Flickr, per esempio, è noto per adeguare l interfaccia utente più volte al giorno). Inoltre, applicazioni Web 2.0 aprono i loro dati e servizi per la sperimentazione degli utenti: Google, Yahoo e innumerevoli siti web più piccoli, espongono le caratteristiche principali dei loro sistemi tramite le API leggere, mentre i fornitori di contenuti fanno la stessa cosa con le informazioni sotto forma di feed RSS. I risultati della sperimentazione con l'utente e le combinazioni di tecnologie, sono i cosiddetti mashup, siti web basati su combinazioni dei dati e dei servizi forniti da altri. Il miglior esempio di questo sviluppo sono i mashups basati sul servizio mappe di Google come HousingMaps: un applicazione per la ricerca di annunci immobiliari sul territorio americano che utilizza due risorse distinte, Craiglist e GoogleMaps, incrociando i dati dell uno con quelli dell altro.craiglist infatti raccoglie piccoli annunci gratuiti di tutti i tipi, Google Maps permette gratuitamente di visualizzare mappe con viste satellitari della località prescelta. Web SemanticWeb = Web 3.0? Il Web 2.0 è spesso contrapposto al Semantic Web, la quale è un più consapevole e ben orchestrato sforzo del W3C al fine di innescare una nuova fase di evoluzione, utilizzando le tecnologie semantiche. In pratica le idee di Web 2.0 e della Semantica Web non sono alternative esclusive: mentre il Web 2.0 ha un maggiore effetto sugli utenti che interagiscono con il Web, il Semantic Web apre nuove opportunità tecnologiche per gli sviluppatori web, combinando i dati e servizi provenienti da fonti diverse. Nel di seguito, segnaliamo alcune delle opportunità che derivano dalla combinazione di idee da questi due sviluppi. In primo luogo, notiamo che dall esperienza del Web 2.0, gli utenti sono disponibili a fornire i contenuti così come metadati. Questo può assumere forma di articoli e fatti organizzati in tabelle e categorie in Wikipedia, foto organizzati in insiemi e sulla base dei tag in Flickr o informazioni strutturate embedded in homepage e messaggi blog utilizzando in quest'ultimo caso i microformats. 6

7 Questi ultimi sono mini-vocabolari per la codifica dei metadati di tutti i tipi in pagine HTML, per esempio informazioni circa l'autore o l oggetto di un blog. Mentre questa osservazione può sembrare banale, si affronta una preoccupazione primaria della Semantic Web di comunità, vale a dire se gli utenti sarebbero disposti a fornire metadati per il bootstrap del Web Semantico. Interessante da un punto di vista storico è che il Semantic Web doveva essere originariamente riempito da parte degli utenti con annotazioni di risorse Web, descrivendo la loro homepage e i contenuti multimediali. Tuttavia, le prime implementazioni di inserimento RDF in HTML (come il progetto SHOE) sono state abbandonate in quanto non è stato concepito realistico aspettarsi che tutti i giorni gli utenti (che riesce a malapena a scrivere un corretto HTML) fossero in grado di padroneggiare la complessità della codifica dei metadati in RDF, o addirittura di scrivere un corretto XML. Anche se è ancora dubbioso se gli utenti di tutti i giorni potrebbe registrare il Semantic Web con linguaggi come RDF e OWL, appare chiaro che molti sono infatti disposti a fornire una serie strutturata di informazioni, previsto che possono farlo in un task orientato e attraverso una interfaccia user-friendly che nasconde la complessità della rappresentazione sottostante. I Microformati, per esempio, hanno dimostrato di essere più popolare attraverso la più facile authoring, utilizzando risorse esistenti in attributi HTML. Inoltre, le pagine web create automaticamente da un database (come pagine di blog o le pagine di profilo personale) sono in grado di codificare metadati in microformati senza che l'utente ne sia necessariamente a conoscenza. Allo stesso tempo, i microformati mantengono tutti i vantaggi di RDF in termini di accessibilità di macchina. Per esempio, i motori di ricerca dei blog sono in grado di offrire la ricerca sulle proprietà dell'autore o la notizia oggetto. Su questa base, l'idea di fornire metodi per codificare RDF in pagine HTML è riemerso (microformati o RDF / A). In modo simile, vi sono anche lavori in corso per estendere software MediaWiki che è dietro Wikipedia per consentire agli utenti di codificare i fatti nel testo degli articoli durante la scrittura del testo. Il markup di fatti consentirebbe di estrarre facilmente, domandare ed aggregare la conoscenza di Wikipedia. Ci sono anche lavori simili su nuovi sistemi wiki che combinano free-authoring con l editoring collaborativi di informazioni strutturate. In secondo luogo, attraverso ad ampie collaborazioni on-line molte applicazioni hanno accesso a più metadati su gli utenti. Informazioni sulle scelte, le preferenze, i gusti e le reti sociali di utenti significa che le nuove applicazioni sono in grado di costruire un profilo utente molto più ricco. Chiaramente, la tecnologia semantica, può favorire l'incontro tra gli utenti con interessi simili, nonché di corrispondenza tra utenti con contenuti disponibili. 7

8 2. Applicazioni Social Semantic Network 2.1 Visualizing Semantic Network Social Network Analysis L Analisi delle reti sociali [SNA] è la mappatura e la misurazione di relazioni e flussi tra persone, gruppi, organizzazioni, animali, computer o altri. I nodi della rete sono le persone, mentre i links mostrano le relazioni o flussi tra i nodi. SNA fornisce sia una visuale che una analisi matematica delle risorse umane. Esempi di tali relazioni potrebbero essere tra le persone: parentela, come madre di, moglie di ruolo, come capo di, docente di amico di cognitive, come sa, consapevole della affettivo, come piace, trust Interazioni come dare consigli, parla, combatte con Rapporti potrebbe essere tra le persone e le organizzazioni: come acquistare da / vendere, locazioni, possiede quote di, figlia di, disciplina, organizza, è leader, è il fondatore di ecc.. tramite i loro membri, come appartiene, è affiliata alla, è membro del ecc.. In genere gli eventi, le organizzazioni e le persone sono connesse a luoghi: le persone risiedono o viaggiare in luoghi, le organizzazioni si trovano in luoghi, gli eventi accadono in luoghi, ecc.. Un altro aspetto importante del progetto di rete è che si deve anche tenere in conto della nozione di tempo. Eventi, accadono in un determinato momento, stati di cose evolvono nel momento in cui posizioni presenti in questo momento potrebbero non esistere più tardi, le persone che oggi vivono sono forse morte domani o che le organizzazioni che non esistevano possono nascere oggi. Le relazioni tra le entità sociali, eventi e luoghi non possono essere evidenti al primo colpo d'occhio. L analisi delle reti sociali, aiuta a scoprire quali rapporti ci possono essere in modo esplicito, affermati in forma di modello di rete. Per esempio da risorse distribuite si possiamo raccogliere le seguenti informazioni: Abdullah Al roommateof Aafia Siddique Aafia ismemberof Siddique Al Queda Aafia Siddique traveledto Pakistan Mounir al-motassad traveledto Pakistan 8

9 Se modelliamo queste informazioni in un modello sociale di rete, si possono trovare, possibili rapporti che potrebbero essere ulteriormente monitorati, come: Abdullah Al Reshood isrelatedto Al Queda? Al Queda isrelatedto Pakistan? Quindi, la conoscenza scoperta in questo modo potrebbe essere utilizzata come input per scoprire ulteriori informazioni relative, ma non limitatamente a questioni di sicurezza, come il terrorismo, ma in tutti le relazioni che si instaurano sul Web. Compiendo un ulteriore passo in avanti, le informazioni scoperte possono essere visualizzate con un rilevante software al fine di fornire una comoda e facile navigazione amichevole all'interno del modello Vantaggi di una Semantic Network La modellazione delle reti sociali possono essere aiutate da ontologie di diverse ragioni. Le ontologie sono comunemente utilizzate per la specifica e la spiegazione di concetti e relazioni correlati tra loro, in un determinato dominio. Le reti sociali hanno lo stesso scopo, ma con l'attenzione rivolta a relazioni tra sociale ed entità, quindi le ontologie di dominio riferite a soggetti sociali e le loro relazioni possono essere progettate e implementate. In secondo luogo, attraverso il ragionamento, l inferenza delle ontologie non consentono la modellazione del contraddittorio o informazioni contraddittorie. La modellazione delle reti sociali tramite ontologie garantisce la validità delle informazioni codificate. Le ontologie, in terzo luogo, insieme con il meccanismo di deduzione, consentirà di ottenere nuove informazioni attraverso regole di distribuzione e deduzione. Il meccanismo di inferenza può essere agevolato dalla ontologia di base delle reti sociali, per elaborare nuove relazioni e concetti già esistenti: tra i soggetti sociali, cioè le persone, le organizzazioni, gli eventi, e i luoghi. 9

10 2.1.3 Esempio Flink Flink è stato il primo sistema che sfrutta le tecnologie semantiche per fini di analisi di rete, basate su fonti di conoscenze eterogenee ed è stato il vincitore del Semantic Web Challenge del È un sistema generale che può essere istanziato per ogni comunità per la quale vi è sostanziale disponibilità di dati elettronici. Il progetto Flink è stato istanziato in particolare per una comunità di 744 ricercatori provenienti dalle università e industria, dislocati in gran parte negli Stati Uniti, in Europa e in misura minore in Giappone e Australia. Le fonti di informazione sono in gran parte i sottoprodotti naturali del lavoro quotidiano di un Comunità: le pagine HTML sul Web di persone ed eventi, e pubblicazioni. Da queste fonti Flink estrae conoscenza delle reti sociali della comunità e consolida quanto appreso utilizzando una comune rappresentazione semantica,vale a dire l'ontologia FOAF. La ragion d'essere di Flink puo essere riassunta in tre punti. In primo luogo, Flink è una dimostrazione della più recente tecnologia Web Semantico. A questo proposito, è interessante Flink a tutti coloro che intendono sviluppare sistemi che utilizzano la tecnologia Semantic Web per scopi simili o diversi. In secondo luogo, Flink è concepito come un portale per chiunque sia interessato a conoscere il lavoro della comunità Semantic Web, rappresentata dai profili, , le pubblicazioni e le statistiche. Infine, ma forse più importante, i dati raccolti da Flink vengono utilizzati per gli scopi di analisi delle reti sociali, in particolare l'apprendimento circa la natura del potere e innovazione nelle comunità scientifiche Caratteristiche di Flink Flink assume una prospettiva di rete per la comunità Web Semantico, significa che la navigazione del sito è organizzata in tutto il social network di ricercatori. Una volta che l'utente ha selezionato un punto di partenza per la navigazione, il sistema restituisce una pagina di riepilogo del ricercatore selezionato, che include informazioni sul profilo nonché link ad altri ricercatori che la data persona possa sapere. Le immediate vicinanze della rete sociale è inoltre visualizzato in forma grafica. Le informazioni sul profilo e la rete sociale si basa sull'analisi delle pagine web, , le pubblicazioni e di profili creati automaticamente. Le informazioni visualizzate includono il nome, , homepage, l'immagine, l'affiliazione e la posizione geografica del ricercatore, così come i suoi interessi, la partecipazione a conferenze Semantic Web, inviate al pubblico mailing list e le pubblicazioni scritte sul tema del Web Semantico. 10

11 La navigazione da un profilo può anche procedere facendo click sui nomi dei coautori, destinatari o altri indicati come noto da questo ricercatore. In questo caso, una separata pagina mostra una sintesi del rapporto tra i due ricercatori, in particolare, la prova che il sistema ha raccolto circa l'esistenza di questa relazione. Ciò comprende il peso del collegamento, la distanza fisica, gli amici, gli interessi e rappresentazioni in comune così come le inviate tra i ricercatori e le pubblicazioni scritti insieme. Le informazioni circa l'interesse dei ricercatori è anche usata per generare una ontologia leggera della comunità Web Semantic. I concetti di questa ontologia sono temi di ricerca, mentre le associazioni tra i temi si basano sul numero dei ricercatori che hanno un interesse per la coppia di Temi. Una caratteristica d interessante di questa ontologia è che le associazioni create sono specifiche alla comunità dei ricercatori, i cui nomi sono stati utilizzati durante l'esperimento. Questo significa che a differenza di analoghe ontologie leggere, create da una analisi statistica di contenuti web generici, questa ontologia riflette le concettualizzazioni specifiche della comunità utilizzata nel processo di estrazione, ossia l'ontologia si evolve naturalmente come le relazioni tra i cambiamenti dei temi di ricerca. La visualizzazione geografica del Semantic Web offre un'altra visione d'insieme della rete attraverso i luoghi in cui i ricercatori si trovano e le connessioni tra di loro 11

12 System Design Allo stesso modo per la progettazione di applicazioni data-driven, l'architettura di Flink può essere diviso in tre livelli interessati, con l'acquisizione di metadati, la conservazione e la presentazione, rispettivamente. In seguito, si descrivono i livelli nello stesso ordine. Livello d informazione Questo strato del sistema riguarda l'acquisizione dei metadati. Flink utilizza quattro differenti tipi di fonti di conoscenza: le pagine HTML dal Web, i profili FOAF da il Semantic Web, collezioni pubbliche di e dati bibliografici. Le informazioni dalle diverse fonti sono raccolte in modi diversi, ma tutte le conoscenze apprese sono rappresentate secondo l'ontologia stessa. Questa ontologia include FOAF ed estensioni minime richieste, per rappresentare supplementari informazioni. La componente web mining svolge anche il compito supplementare di trovare argomenti di interesse. I legami di rete, le associazioni di interesse e altri metadati sono rappresentati in RDF usando termini del vocabolario FOAF come foaf:knows per relazioni e foaf:topic_interest per interessi di ricerca. Una estensione basata su reificazione del del modello FOAF è necessaria per rappresentare i pesi delle relazioni. 12

13 FOAF è il formato nativo dei profili che raccogliamo dal web. FOAF profiles sono raccolti usando il scutter Elmo, a partire dal profilo dell autore Mika. Lo scutter è focalizzato nel senso che raccoglie solo i profili relativi ad uno dei membri della comunità ed è anche limitato a dichiarazioni potenzialmente rilevanti, cioè quelli in cui le triple predicato è in RDF, RDF-S, FOAF o WGS-84 namespace. Tali restrizioni sono necessarie per limitare la quantità di dati raccolti, che può facilmente raggiungere milioni di triple dopo l'esecuzione dello scutter solo per un'ora. Le caratteristiche del contesto Elmo sono utilizzati per registrare la provenienza delle dichiarazioni raccolte. La provenienza, nel nostro sistema consiste la fonte di una dichiarazione e il tempo in cui è stato collezionato. Informazioni provenienti da vengono trasformati in due fasi. Il primo passo prevede che l che vengono scaricate da un server POP3 o IMAP e le relative informazioni di intestazione vengono catturate in un formato RDF, dove FOAF viene utilizzato per rappresentare le informazioni circa mittenti e destinatari delle , in particolare il loro nome (come appare nella header) e indirizzo . Il secondo passo è smushing: corrispondenti istanze Persona trovata nella raccolta con le istanze che descrive la nostra comunità di destinazione. Infine, le informazioni bibliografiche sono raccolte in un unico passaggio interrogando Google- Scholar con i nomi delle persone. Dai risultati impariamo il titolo e l'url di pubblicazioni, nonché l'anno di pubblicazione e il numero di citazioni, se disponibili. La pubblicazione dei metadati è rappresentato con l ontologia SWRC "Semantic Web Ricerca Comunitaria". Una fonte alternativa di informazioni bibliografiche (utilizzato nelle versioni precedenti del sistema) è il Bibster peer-to-peer, da cui i metadati possono essere esportati direttamente in formato di ontologia SWRC. Storage ed aggregazione Questo è lo strato intermedio del sistema, con il ruolo primario di immagazzinare e aggregazione metadati. Aggregazione richiede la mappatura delle ontologie utilizzate e l'esecuzione dell istanza di ragionamento. Nel nostro caso la mappatura dell ontologia è un compito semplice: gli schemi utilizzati sono piccoli, stabili, sono ontologie web leggere (SWRC e FOAF). La loro mappatura causa piccoli problemi: il mapping sono statici e possono essere inserite manualmente nella conoscenza base. Un esempio di tale mappatura è il rapporto tra sottoclasse swrc:person e foaf:person o il rapporto tra sottoproprietà tra swrc:nome e foaf: name. La raccolta aggregata dei dati RDF è memorizzato in un server di sesame. Si noti che poiché il modello è un estensione compatibile del FOAF, da questo punto le conoscenze possono essere ulteriormente elaborati da qualsiasi strumento FOAF compatibile, ad esempio, la FOAF explorer. Un altro esempio è la componente generica che abbiamo implementato per la ricerca delle località geografiche (latitudine, longitudine) dei nomi di luogo trovati nei profili FOAF. Questo componente invoca il Web ESRI Place Finder Sample Service, che prevede aree geografiche di oltre tre milioni di nomi di luogo mondiale. 13

14 Dal punto di vista della scalabilità, siamo lieti di notare che il sesame server offre elevate prestazioni in memorizzazione di dati sulla scala di milioni di triple, in particolare nell'archivio nativo o nel deposito di memoria. Velocità di upload è particolarmente importante per il crawler RDF, che di per sé ha un rendimento molto elevato. Purtroppo, la velocità di upload scende in modo significativo quando le regole personalizzate devono essere valutate. Mentre la velocità di upload è importante per tenere il passo con gli altri componenti che sono i dati di produzione, il tempo necessario per risolvere le query determina la capacità di risposta dell'interfaccia utente. Ottimizzazione delle query al momento è ancora una significativa sfida per il server. La nostra esperienza è che in molti casi, lo sviluppatore stesso può migliorare le prestazioni di una query da riscrivere manualmente, per esempio riordinando i termini. Il trade-off tra l'esecuzione di molte query piccole rispetto l'esecuzione di un singola query di grandi dimensioni richiede anche il giudizio attento di sviluppatore. Oltre all aggregazione, usiamo anche il ragionamento per arricchire i dati. Per esempio, deduciamo relazioni foaf: knows tra i mittenti e destinatari delle e coautori di pubblicazioni. Infine, in questa fase precalcoliamo, memoriziamo il tipo di statistiche di rete da visualizzare nell'interfaccia. Elaborazioni di queste statistiche richiede tempo e quindi non si può fare al volo. Invece, memorizziamo i dati statistici in un repository RDF in modo da leggerli quando richiesto. Interfaccia Utente L'interfaccia utente di Flink è un'applicazione Java pura basata sul web sul paradigma Model-View- Controller (MVC). L'idea chiave dietro il pattern MVC è una separazione delle preoccupazioni tra i componenti responsabili per i dati (il modello), la domanda logica (controller) e l'interfaccia web (view). Apache Struts Framework utilizzato da Flink aiuta i programmatori a scrivere applicazioni web che rispettano l'mvc pattern, fornendo componenti dell'applicazione astratta e logica per il modello. Il ruolo del programmatore è quello di estendere questa applicazione con il dominio e il compito di oggetti specifici. Gli oggetti del Model di Flink sono Bean Elmo che rappresentano le persone, le pubblicazioni, e- mail ecc, quando le richieste raggiungono il Controller, tutti i bean che sono necessari per generare la pagina vengono recuperati dallo Story e trasferito al layer View. L Utility GraphUtil viene utilizzato per leggere il social network dal repository, che è inoltre consegnato alla visualizzazione. Nello strato di View, servlet, JavaServer Pages (JSP) e la Java Standard Tag Library (JSTL) vengono utilizzate per generare un front-end che nasconde gran parte del codice dal progettista del front-end. Ciò significa che la progettazione dell'interfaccia web può essere facilmente modificata senza alterare l'applicazione e viceversa. Nell attuale interfaccia, le applet Java sono utilizzati anche su parti del sito per una visualizzazione interattiva delle reti sociali. Queste applet comunicano con un servlet che recupera la parte della rete per essere visualizzate dal repository e mandata indietro una forma serializzata alle applet, che calcola quindi il layout. L'utente può trascinare e ingrandire l'immagine come richiesto. Riteniamo che la flessibilità dell'interfaccia è importante, perché ci sono molti possibilità di presentare le reti sociali per l'utente e il modo migliore di presentazione può dipendere dalle dimensioni della comunità, nonché da altri fattori. Le possibilità vanno dal profilo "solo testo" (come ad esempio in Orkut) alla completa grafica di navigazione, basato sulla visualizzazione di rete (come nel browser FOAFnaut). L'unicità di presentare le reti 14

15 sociali è anche la ragione principale per cui non possiamo trarre vantaggio dall'utilizzo di portali per la generazione di Semantic Web come Haystack che sono principalmente mirate per la navigazione raccolte di oggetti più tradizionali. L'interfaccia utente prevede anche i meccanismi per l'esportazione dei dati. Per le più avanzate analisi e le opzioni di visualizzazione, i dati possono essere scaricati in formato utilizzato da Pajek, un pacchetto di popolare network analysis. Gli utenti possono anche scaricare profili per gli individui in RDF / XML. Infine, forniamo i file marker per xplanet, un'applicazione che visualizza le coordinate geografiche e geodetiche per la mappatura sulle immagini della superficie della Terra. 15

16 2.2 Semantic Wiki Introduzione Un wiki è un sito web, o comunque una collezione di documenti ipertestuali, che viene aggiornato dai suoi utilizzatori, i cui contenuti sono sviluppati in collaborazione da tutti coloro che vi hanno accesso. La modifica dei contenuti è aperta, nel senso che il testo può essere modificato da tutti gli utenti (a volte soltanto se registrati, altre volte anche anonimi) procedendo non solo per aggiunte, ma anche cambiando e cancellando ciò che hanno scritto gli autori precedenti. Ogni modifica è registrata in una cronologia che permette in caso di necessità di riportare il testo alla versione precedente; lo scopo è quello di condividere, scambiare, immagazzinare e ottimizzare la conoscenza in modo collaborativo. Campi di applicazione Documentazione Progetti collaborativi Educazione e formazione collaborativa Knowledge base d'impresa Wiki comunitarie Wiki personali Applicazioni principali Un wiki permette di scrivere collettivamente dei documenti in un semplice linguaggio di marcatura usando un navigatore (web browser). Una singola pagina in un wiki è chiamata "pagina wiki", mentre l'insieme delle pagine, che sono strettamente interconnesse, è chiamato "il wiki". Una caratteristica distintiva della tecnologia wiki è la facilità con cui le pagine possono essere create e aggiornate. Generalmente, non esiste una verifica preventiva sulle modifiche, e la maggior parte dei wiki è aperta a tutti gli utenti, o almeno a tutti quelli che hanno accesso al server wiki. Quando, invece, si possono acquisire informazioni sui dati e le relazioni tra le pagine presenti, in modo che queste possano essere interrogate o esportate come se fossero database, si può parlare di Semantic Wiki. Il modello di conoscenza che si trova alla base del wiki semantico è tipicamente disponibile in un linguaggio formale in modo tale che le macchine riescano a processarlo come se fosse uno schema ER o un database relazionale. Tale notazione può essere inclusa dagli utenti nelle stesse pagine, come succede in MediaWiki, oppure può essere derivato dal nome delle pagine o dal significato dei link. Ad esempio usare un 16

17 nome di pagina alternativo potrebbe indicare che era inteso uno specifico tipo di link. Tale funzionalità è principalmente usata dai wiki che hanno come target il codice di progetti software. Inoltre, fornire una notazione formale delle informazioni permette alle macchine di calcolare automaticamente relazioni tra le pagine ricavate dalle informazioni rappresentate dal modello di conoscenza. Un esempio potrebbe essere quello di un wiki semantico applicato al cibo. Una pagina relativa ad una mela, ad esempio, conterrà oltre alle informazioni testuali standard, dati semantici leggibili o quantomeno intuibili dalla macchina. Il tipo di dati più basilare è che la mela è un tipo di frutto, tale espressione è meglio conosciuta come relazione di ereditarietà. Il wiki sarà quindi in grado di generare automaticamente una lista di frutti elencando semplicemente tutte le pagine taggate come tipo frutto. Vi potrebbero essere inoltre tag relativi alle mele riguardanti taglia, colore, valore nutrizionale o suggerimenti utili. Tali tag potrebbero essere derivati direttamente dalle informazioni relative alla pagina principale. Un ulteriore esempio può essere quello espresso dalla figura a fianco che descrive le informazioni collegate a Mozart in ambiti diversi come storia, opere e luogo di nascita. Nel caso in cui il wiki esporta tutti questi dati in formato RDF allora tali dati potranno essere consultati e interrogati come se fossero contenuti in un database. Lo scopo di questi wiki è sicuramente simile a quello dei tradizionali wiki e cioè permetterà agli utenti di rendere la propria conoscenza più esplicita e formale in modo che le informazioni contenute in esso possano essere ricercate in modi migliori rispetto alla tradizionale ricerca tramite keywords offrendo query simili a quelle dei database strutturali. Alcuni sistemi sono più votati al supporto per la gestione della conoscenza personale, altri invece sono diretti più verso la conoscenza collettiva. Tra i semantic wiki più famosi abbiamo individuato : AceWiki Semantic MediaWiki Pur potendo variare nel grado di formalizzazione, le semantiche possono essere incluse o inserite separatamente rispetto al markup del wiki. Gli utenti potrebbero essere aiutati nell'aggiunta dei contenuti usando form, autocompletamento o generazione di proposte più complesse. Il linguaggio di rappresentazione può essere un linguaggio standard quale RDF o OWL, oppure database direttamente popolati da tool che ricavano le semantiche dalle righe dei dati. Deve inoltre essere fornito supporto per le diverse versioni di uno stesso documento e per l'inserimento di correzioni. Un ulteriore supporto potrebbe essere fornito per le fonti dei contenuti 17

18 formalizzati che comprende il tag dell'autore dei dati in maniera separata dai dati stessi. Naturalmente anche i dati che vengono formalizzati possono variare; alcuni potrebbero essere capaci di specificare i tipi di pagine, categorie, paragrafi e le stesse frasi. I link contengono spesso informazioni legate al proprio tipo, e questo è in contrapposizione con i wiki strutturali che non forniscono informazioni sui tipi dei link. Le interfacce utenti inoltre forniscono un supporto forte alle ontologie dall'interno del wiki e permettono caricamento, salvataggio, creazione e modifica dei dati. Alcuni wiki ereditano la propria ontologia interamente da una fonte preesistente mentre ce ne potrebbero essere altri la cui ontologia è generata dagli utenti. La maggior parte dei wiki semantici hanno un supporto per le query molto semplice ma il grado di supporto per le query avanzate può variare, difatti alcuni wiki semantici forniscono l'interrogazione in linguaggi standard come SPARQL mentre ce ne sono altri che forniscono linguaggi personalizzati. Una ulteriore funzionalità che potrebbe essere offerta da questo tipo di wiki è sicuramente quella di mostrare le relazioni esistenti tra le pagine e tra i dati come date, coordinate geografiche, valori numerici, grafi, tabelle, calendari e mappe. 18

19 2.2.2 ACE WIKI Introduzione AceWiki è un nuovo prototipo di semantic wiki; esso utilizza un linguaggio naturale controllato denominato Attempto Controlled English (ACE) per rappresentare i suoi contenuti. L interfaccia di AceWiki fa uso della tecnologia Ajax ed è stato implementato in java attraverso l echo web frame work. Il reasoner Pellet è integrato in AceWiki ed assicura che il contenuto del wiki sia sempre consistente. La principale caratteristica di ACE è esprimere le semantiche formali in un linguaggio naturale ( Inglese ). L uso di ACE porta due importanti vantaggi: - migliora l usabilità in modo da facilitarne l apprendimento. - è più espressivo rispetto ai linguaggi formali dei wiki semantici esistenti. Tale linguaggio può essere considerato come un ricco sottoinsieme della lingua inglese e serve per rappresentare la conoscenza; esso permette agli utenti di esprimere i testi in maniera precisa utilizzando termini appartenenti a domini specifici; esso si differenzia sostanzialmente dal linguaggio naturale per il fatto che i suoi testi possono essere processati dalla macchina e possono essere strutturati in maniera non ambigua. Le caratteristiche principali di ACE sono una grammatica ed una semantica ristrette. Esso ha due scopi principali: il primo è quello di rappresentare e specificare la conoscenza, mentre il secondo è quello di operare come linguaggio di interrogazione. Si occupa principalmente di : descrivere minuziosamente il vocabolario dare una descrizione della sintassi riassumere la gestione delle ambiguità 19

20 spiegare il processing dei riferimenti anaforici Un testo in ACE è costituito da una sequenza di frasi dichiarative che possono essere correlate anaforicamente, inoltre, esso supporta la formulazione di domande. Le frasi che possono comparire in ciascun testo sono: frasi strutturate nel modo seguente: soggetto + verbo + complemento + aggiunte in cui ciascun elemento di una frase semplice può essere elaborato per descrivere il contesto con un grado di dettaglio più elevato. frasi composte ricorsivamente da quelle più semplici mediante operazioni di coordinazione. 4 costrutti di subordinazione: frasi relative: permettono di aggiungere dettagli ai nomi. costrutti if-then: possono specificare frasi condizionali o situazioni ipotetiche. costrutti di quantificazione: permettono di parlare di tutti gli oggetti che appartengono ad una determinata classe ( quantificatore universale ) o per determinare l'esistenza di almeno un oggetto in una classe ( quantificatore esistenziale ). operatori di negazione. Tramite ACE si possono effettuare delle interrogazioni ad esempio di tipo yes/no che chiedono l'esistenza o la non esistenza di una determinata circostanza. AceWiki mediante il motore ACE riesce a mappare le ACE-sentence in OWL e ciò consente di fare ragionamento utilizzando OWL reasoners. Design Il principale obiettivo di AceWiki è quello di mostrare che i wiki semantici possono essere naturali ed espressivi allo stesso tempo. Diversamente dagli altri wiki semantici gli statement formali non sono contenuti in annotazioni e non sono considerati metadati, ma sono il principale contenuto del wiki. Per raggiungere una buona usabilità ed allo stesso tempo mantenere un alto grado di espressività del linguaggio, vengono seguiti tre principi fondamentali : Naturalezza: tra le semantiche formali ed il linguaggio naturale ci deve essere una connessione diretta. Uniformità : un unico linguaggio viene usato a livello di interfaccia utente. Guida dell'utente : un buon editor predittivo assicura che gli statements creati dall utente siano ben formati. L editor predittivo mostra a ciascun passo le parole sintatticamente possibili per una determinata posizione. Grazie alla presenza del reasoner, in ACE si può rappresentare anche la conoscenza inferita e non solo quella affermata, si possono infatti visualizzare le gerarchie di classi e le classi di appartenenza. 20

21 Come già detto, in ACE, possono essere formulate domande, ciò permetterà ad ACE di essere usato non soltanto come un linguaggio per le ontologie e le regole ma anche come linguaggio di interrogazione per l'ontologia stessa. La schermata della figura successiva rappresenta l'editor predittivo di AceWiki che contiene: 1. Campo di testo di sola lettura che mostra la costruzione di una frase ACE ed il bottone Delete presente nella schermata per annullare l'ultimo passo. 2. Campo di testo che viene usato per immettere le parole della frase. Se queste vengono accettate allora verranno inserite nel campo che visualizza la frase. In questo campo è attivabile anche la funzione di autocompletamento tramite la pressione del tasto tab che può filtrare le voci di menù. 3. Cliccare sulle voci del menù è un modo alternativo per costruire la frase. C'è un menù per ciascuna classe di parole permesse nella posizione corrente. 4. Nel caso una parola non sia ancora conosciuta allora può essere aggiunta al volo cliccando sulla rispettiva voce del menù. 5. Si possono inserire riferimenti che puntano a termini già presenti nella frase. 21

22 Non tutti i costrutti ACE vengono mappati in OWL. Le seguenti costruzioni OWL non vengono mappate dalla componente ACE-to-OWL : Tutti i meta elementi, come import versioning a annotazioni. URI e namespace. Non ci si può riferire a concetti già definiti in altre ontologie Proprietà che necessitano di valori di dati sono supportati solo in parte, è possibile usare interi o stringhe come valori, ma non si può definire il dominio e il range delle proprietà. Inoltre, per assicurare che l ontologia sia sempre consistente, AceWiki controlla eventuali contraddizioni presenti nell ontologia stessa. Le frasi che presentano delle inconsistenze vengono colorate di rosso ed escluse dall ontologia. In questo modo l utente può cancellare queste frasi oppure mantenerle per modificarle successivamente. Conclusioni AceWiki mostra come le ontologie possono essere gestite in modo naturale all'interno di un wiki. Dimostra che i wiki semantici possono essere altrettanto espressivi usando linguaggi naturali controllati che sono semplici da usare. Caratteristica peculiare di AceWiki è la sua facilità di apprendimento ed il controllo della consistenza dell'ontologia che è alla base di altri servizi di reasoning integrati. 22

23 2.2.3 Semantic MediaWiki Wikipedia è la più grande fonte collaborativa che cura il mondo della conoscenza enciclopedica. Il suo contenuto è appena interpretabile dalla macchina e al contrario di come dovrebbe essere è solo debolmente strutturato. Il Semantic MediaWiki fornisce un'estensione che permette agli utenti wiki di annotare pagine wiki, e sulla questa base i contenuti wiki possono essere visitati, esplorati e riutilizzati in nuovi modi. Wiki sono diventati strumenti popolari per la collaborazione sul web, e molte comunità online utilizzano i wiki per lo scambio di conoscenze. Per la maggior parte dei wiki, pubblici o meno, gli obiettivi primari sono organizzare le conoscenze raccolte e condividere queste informazioni. I wiki sono generalmente visti come strumenti per gestire i contenuti on-line in un modo semplice e veloce, modificando alcune semplici sintassi conosciute come wikitext. Wikipedia è l'esempio più noto di un wiki. Essa mira a creare un enciclopedia multilingue libera che chiunque può modificare. Le informazioni contenute in Wikipedia tuttavia sono difficilmente utilizzabili da strumenti esterni usando i mezzi che mette a disposizione Wikipedia. Infatti leggendo articoli di vari film non c'è alcun modo di raccogliere le informazioni sparse su questi, come per esempio richiedere un elenco di tutti i film dal 1960 con i registi italiani. Anche se i dati sono abbastanza strutturati (ogni film ha il suo articolo correlato) il loro significato non è chiaro al computer, perché non è rappresentato in un linguaggio comprensibile da una macchina, ossia in modo formalizzato. Semantic MediaWiki (SMW) è un motore semantico wiki più potente che permette agli utenti di annotare i contenuti del wiki con informazioni esplicite e leggibili dalla macchina. Utilizzando questi dati semantici, SMW affronta i problemi fondamentali del wiki di oggi quali: Coerenza dei contenuti: Le stesse informazioni spesso si ripetono su molte pagine e questo non può garantire che le informazioni in diverse parti del sistema siano coerenti. accesso alla conoscenza: Con wiki di grande dimensione che hanno migliaia di pagine, trovare e confrontare informazioni provenienti da diverse pagine è impegnativo e richiede tempo. Riuso della conoscenza: Molti wiki sono spinti dalla volontà di rendere le informazioni accessibile a molte persone, ma la rigidità dei contenuti del wiki classico basato sul testo può essere utilizzato solo per leggere le pagine in un browser o un applicazione simile. SMW è un software gratuito, disponibile come estensione del popolare motore MediaWiki. La figura sottostante fornisce una panoramica dei componenti del cuore di SMW quali: Componenti per il parsing Componenti per il rendering Componenti per esportare in OWL Il database semantico I tipi di dati di base ed estesi 23

24 Architettura dei principali componenti SMW in relazione a MediaWiki L'integrazione tra MediaWiki e SMW si basa sull estensione del meccanismo di MediaWiki : infatti MediaWiki registra alcuni eventi e richieste, e solo quando necessario chiama funzioni SMW. Quindi SMW non sovrascrive nessuna parte del software MediaWiki, e può essere integrato ai wiki esistenti senza elevati costi di migrazione. Le annotazioni nelle pagine del Wiki La condizione principale per sfruttare le tecnologie semantiche è la disponibilità di dati opportunamente strutturati. A tal fine, SMW introduce ulteriori modi per aggiungere semantica a MediaWiki mediante annotazioni testuali ai contenuti del Wiki. Il meccanismo primario per strutturare i dati di quasi tutti i wiki è l'organizzazione dei contenuti all'interno delle pagine del wiki. In MediaWiki, queste pagine sono inoltre classificati con nomi che distinguono i diversi tipi di pagine in base alla loro funzione. Questa classificazione non può essere definita dagli utenti wiki, ma fa parte delle impostazioni di configurazione di un Wiki. Ogni pagina è identificata da un prefisso specifico, come ad esempio "Utente:" per il namespace delle homepage dell utente, Help: per le pagine di documentazione oppure talk: per vari tipi di pagine di discussione. I titoli delle pagine senza un prefisso namespace conosciuto semplicemente appartengono allo spazio dei nomi del namespace principale. Maggior parte delle pagine sono soggetti allo stesso tipo di processing di lettura e modifica. Attenendosi ai principi di base di MediaWiki, i dati semantici in SMW è inoltre strutturato in modo tale che tutto il contenuto semantico appartiene in modo esplicito a una pagina. Semanticamente parlando, ad ogni pagina corrisponde un elemento ontologico (comprese le classi e le proprietà) che potrebbero essere ulteriormente descritte da annotazioni su la pagina stessa. Questo è di fondamentale importanza per la manutenzione: inoltre se la conoscenza viene riutilizzata in molti 24

25 altri luoghi, gli utenti devono essere in grado di capire quando le informazioni hanno avuto origine. Diversi nomi sono utilizzati per distinguere i ruoli semantici che le pagine di un wiki possono giocare : ci possono essere elementi singoli (la maggior parte delle pagine, descrivono gli elementi del dominio di interesse), categorie (utilizzate per classificare i singoli elementi, e anche per creare sottocategorie), proprietà (per creare relazioni tra due pagine o per assegnare valore ai dati ) e tipi (utilizzato per distinguere i diversi tipi di proprietà).le categorie sono state introdotte in MediaWiki nel 2002, mentre le proprietà e tipi sono stati introdotti dal SMW. Il metodo principale per l'inserimento di informazioni all interno di un wiki è attualmente wiki text, un linguaggio di markup semplifico che viene trasformato in pagine XHTML per essere comprensibile all utente. Di conseguenza, il testo wiki fornisce già molte strutture per descrivere la formattazione, e anche un po la strutturazione dei contenuti. I collegamenti ipertestuali sono senza dubbio la caratteristica più importante per definire l'interrelazione all'interno delle pagine di un wiki. Sono essenziali per la navigazione e talvolta utilizzati per classificare gli articoli in modo informale. In Wikipedia, per esempio, gli articoli possono contenere link a pagine della forma "a partire dal 2005" per affermare che l'informazione fornita dopo tale anno, potrebbe essere necessaria rinnovarla o aggiornarla. Molti motori wiki in generale utilizzano i link per classificare le pagine. Ad esempio, la ricerca di tutte le pagine con un link alla pagina "La Francia" è un buon modo per trovare informazioni su questo paese. In MediaWiki, tuttavia, tale uso è stato sostituito da un sistema delle categorie più elaborato. Ogni pagina può essere assegnato a una o più categorie, e ogni categoria è associata ad una pagina attraverso il namespace Category:. Le pagine categorizzate possono essere navigate in base alle categorie e organizzate gerarchicamente in base ad esse.le varie categorie e la loro gerarchia possono essere modificate da tutti gli utenti tramite uno speciale markup all'interno dei testi del wiki. Nel complesso, il sistema delle categorie è probabilmente quella funzione di MediaWiki che è più vicino allo spirito della estensione di SMW. Un altro problema della strutturazione del wiki di grandi dimensioni sono sinonimi e omonimi. In caso di sinonimi, diverse pagine per lo stesso soggetto possono emergere attraverso un processo di decentramento di ridirezione. MediaWiki è quindi un meccanismo di reindirizzamento con cui una pagina può essere reindirizzata direttamente a un'altra pagina. Questo è utile per risolvere i sinonimi, ma anche per altri compiti come ampliare la ricerca delle informazioni. Omonimi si verificano ogni volta che un titolo della pagina è ambiguo, e può riferirsi a soggetti diversi a seconda del contesto. Questo problema viene affrontato dalle cosiddette disambiguation pages che elencano brevemente i diversi significati possibili di un titolo. Le effettive pagine di un senso compiuto sono poi integrate con le parentesi che distinguono il significato, ad esempio come nel caso di una ricerca di un libro del 1984 troveremo "1984 (libro)". Un'ultima caratteristica della formattazione del significato per la struttura del wiki è il modello del sistema MediaWiki. Il parser wiki sostituisce i modelli con il testo preso dal modello della propria pagina del modello. Il modello di testo, a sua volta può essere parametrizzato. Questo può essere utilizzato per ottenere una maggiore consistenza, in quanto, per esempio una tabella è definita una sola volta, e tutte le pagine che usano questa tabella sarà simile ad essa. L'idea di catturare dei dati semantici in modelli è stata presa da Wikipedia. 25

26 In aggiunta a quanto detto, MediaWiki conosce molti modi di strutturare il testo e il contenuto delle pagine, come le sezioni o tabelle. Tuttavia, SMW mira a raccogliere l informazione astratta rappresentata dal concetto di una pagina e non dal testo associato ad essa. La possibilità di assegnare informazioni semantiche alle singole pagine sembra essere meno pertinenti dal contesto di Wikipedia, ma è l obiettivo principale di SMW, poiché Wikipedia contiene normalmente pagine indipendenti per ogni significativo sottoargomento. Annotazioni semantiche in SMW SMW raccoglie i dati semantici e consente agli utenti di aggiungere annotazioni al testo delle pagine del wiki tramite un codice speciale: i Tag. Questo codice viene processato dai componenti per l'analisi e il rendering. Mentre per gli editori del wiki, la sintassi delle annotazioni è più rilevanti (e più visibile), questa non è che una piccola parte del sistema totale di SMW. I concetti più rilevanti solo le proprietà e i tipi. Le proprietà sono utilizzate in SMW per esprimere le relazioni binarie tra entità semantiche (rappresentate da una pagina del wiki) o proprietà dei dati. Ogni wikicommunity è interessata a relazioni diverse che dipendono della sua area tematica e SMW consente agli utenti del wiki di gestire l'insieme di tutte le proprietà disponibili. Il Meccanismo delle proprietà di SMW segue formalismi standard del Semantic Web in cui le proprietà binarie sono il meccanismo centrale dell espressività. Ma a differenza del linguaggio RDF, SMW non considera le dichiarazioni delle proprietà (soggetto-predicato-oggetto cioè le triple) come unità di informazione primaria. SMW adotta invece una prospettiva delle pagine concentrata sulle proprietà come mezzo per incrementare il contenuto delle pagina in maniera strutturata. MediaWiki non offre alcun meccanismo generale per l'assegnazione di valori alle proprietà delle pagine, ed è sorprendente la quantità di dati aggiuntivi che possono essere disponibili utilizzando le relazioni binarie che esistenono in un wiki in maniera esplicita. Il tipo più ovvio delle relazioni binarie attualmente nei wiki sono i collegamenti ipertestuali. Ogni link stabilisce una relazione tra due pagine senza specificare di che tipo di relazione si tratta o quale significato associa. SMW permette collegamenti caratterizzati da proprietà, in modo tale che la destinazione del collegamento diventi il valore della proprietà fornita dall utente. Ma non tutte le proprietà del wiki prendono come valori altre pagine, ma possono prendere altri tipi di proprietà,come ad esempio quantità numeriche, date di calendario, o coordinate geografiche. 26

27 Per un esempio concreto, si consideri l'articolo mostrato nella figura sottostante. Gli elementi dei tag sono facili da leggere: ''' ''' questo tag viene utilizzato per il testo che dovrebbe apparire in grassetto,mentre il testo all'interno di parentesi quadre [[...]] è trasformato in link alla pagina wiki con quel nome. I link a England,United Kingdom, e all anno 2005 non fa emergere alcuna semantica. Per affermare che Londra è la capitale d'inghilterra, dobbiamo estende solo il link di [[England]] scrivendo [[capital of::england]]. Questa afferma che "London" ha una proprietà chiamata "capital of" con il valore "England". Questo è possibile anche se la proprietà "capitale" non è stato introdotto prima nel wiki. Figura 2 (in alto) mostra inoltre data values interessanti che non sono corrispondono a collegamenti ipertestuali, per esempio il numero di popolazione. Un'annotazione per il numero della popolazione potrebbe essere aggiunta scrivendo [[population::7,421,328]]. In questo caso, " " non fa riferimento ad un'altra pagina e non vogliamo che la nostra dichiarazione venga visualizzata come un collegamento ipertestuale. Per fare questo, gli utenti devono prima dichiarare la proprietà "popolazione" e poi specificare che si tratta di un tipo numerico. 27

28 Se una proprietà non è ancora dichiarata, SMW presuppone che i suoi valori indicano pagine wiki, in tale modo le annotazioni diventeranno collegamenti ipertestuali. Una versione annotata del wikitext per "London" è mostrata in fig. 2 (sotto) mentre la pagina risultante viene visualizzata in Fig. 3. La casella in fondo a questa pagina riassume le annotazioni trovate, e fornisce alcune informazioni eventualmente connesse. Questa casella collocata in fondo alla pagina viene chiamata Factbox e viene posta proprio in fondo alla pagina per evitare di disturbare la normale lettura. Il Factbox riassume le annotazioni, offre collegamenti alle funzioni correlate, fornisce un feedback sui possibili errori, ad esempio, se un tipo di valore non va bene a un tipo di proprietà. Inoltre, il Factbox mostra i collegamenti alle pagine di ogni proprietà, che a sua volta lista tutte le annotazioni per quella data proprietà. Tutte queste caratteristiche di navigazione sono collegate da appropriati link, in modo che gli utenti possono navigare facilmente all'interno della semantica. Le proprietà sono introdotte nel wiki utilizzandole su qualche pagina, ma è spesso opportuno specificare ulteriori informazioni sulla proprietà. SMW supporta questo attraverso l'introduzione di pagine relative proprietà di un wiki. Ad esempio, un wiki potrebbe contenere una pagina con Property:Population dove Property: è il prefisso del namespace. Una pagina della proprietà può contenere una descrizione testuale della proprietà, che aiuta gli utenti a servirsene coerentemente in tutta il wiki, ma è anche possibile specificare le caratteristiche semantiche della stessa proprietà.una di queste caratteristiche è il suddetto (dati) tipo della proprietà. Nel caso di Property:Population si potrebbe aggiungere l'annotazione [[has type::number]] per descrivere che la proprietà si aspetta che i valori numerici. SMW fornisce una serie di tipi di dati che possono essere utilizzati con le proprietà. I più importanti sono: String (sequenze di caratteri), Date (Data del calendario), Geographic coordinate (luoghi sulla terra), e il tipo di default Page che crea i link ad altre pagine. Ogni tipo fornisce metodi propri per elaborare l'input dell'utente e per visualizzare i relativi valori. SMW fornisce una API dei tipi dei dati modulare, come mostrato nella figura che descrive l architettura, che può anche essere estesa ad altri tipi di dati specifici di un applicazione. Proprio come le proprietà, i tipi hanno pagine dedicate all'interno del wiki, e ogni dichiarazione di tipo crea un collegamento ad una pagina associata. In una certa misura, è anche possibile creare nuovi tipi di dati personalizzati attraverso la creazione di pagine del nuovo tipo. In queste pagine, naturalmente, non è possibile definire l'intera computazione o trasformazione di un determinato dato, ma si possono creare versioni parametrizzate con tipi di dati già esistenti. L'applicazione principale è dotata per i tipi numerici con specifici supporti per la conversione di unità di misura specifiche. La conversione delle unità è di gran valore per il consolidamento delle annotazioni che utilizzano diverse unità di misura, e difficilmente può essere evitata in un wiki di grandi dimensioni. 28

29 Mapping in OWL La semantica formale di annotazioni in SMW è dato attraverso una mappatura del OWL DL. La maggior parte delle annotazioni possono essere facilmente esportati in termini di OWL DL, utilizzando l evidente mappatura delle pagine wiki a entità OWL: normali pagine corrispondono a individui astratti, le proprietà corrispondono alle proprietà OWL, le categorie corrispondono a classi di OWL, e i valori delle proprietà possono essere tipi di dati anche astratti. La maggior parte annotazioni quindi sono direttamente mappate semplicemente in OWL, in modo simile a triple RDF. Si deve notare che questi dati semantici non si intende descrivere la pagina del documento in HTML, ma piuttosto il soggetto inteso (ossia la semantica). OWL distingue ulteriormente le proprietà dagli oggetti, le proprietà dal tipo di dati,quindi le proprietà in SMW possono essere rappresentate da uno di questi tipi a seconda del loro tipo. SMW offre una serie di proprietà built-in che potrebbe anche avere una interpretazione semantica speciale. La navigazione attraverso la base di conoscenza del wiki. MediaWiki sostiene l'organizzazione gerarchica delle categorie, e SMW può essere configurato per interpretare questa organizzazione come una gerarchia di classi OWL. Inoltre, SMW introduce una proprietà speciale " subproperty of " che può essere utilizzato per creare gerarchie di proprietà. Nel complesso, le informazioni schematizzate rappresentata in SMW è volutamente superficiale, in quanto il wiki non è inteso come un generale editor delle ontologie, altrimenti richiederebbe agli utenti di avere conoscenze specifiche sulla tecnologia semantica. SMW include un linguaggio di query che consente l'accesso alla conoscenza del wiki. Il linguaggio delle query può essere utilizzato in due modi: o direttamente per interrogare il wiki, o per aggiungere una pagina dinamicamente (per esempio una lista ) con la creazione di una apposita query. Quest'ultimo permette di poter aggiungere elenchi creati in modo dinamico o tabelle ad una pagina, rendendo così i dati risultati delle query disponibile agli utenti, che non sono nemmeno a conoscenza delle query semantiche. La sintassi del linguaggio delle query di SMW è strettamente legata al testo del wiki, mentre la sua semantica corrisponde alla classe di alcune espressioni in OWL DL. 29

30 3. Framework per la creazione e gestione di social network In questa sezione analizzeremo dapprima le problematiche attuali relative alle piattaforme per la creazione e la gestione di social network nel contesto del semantic web. Successivamente, descriveremo gli strumenti che mette a disposizione il semantic web per ovviare a questi problemi. Infine, ci concentreremo su varie piattaforme open source disponibili, che utilizzano approcci semantici. 3.1 Problematiche Dopo una serie di ricerche effettuate sul web, abbiamo individuato molte piattaforme per la creazione e la gestione di social network. Analizzando le caratteristiche delle piattaforme individuate, abbiamo distinto le varie piattaforme in tre principali categorie in base ai principi strutturali che le accomunano: Social network hosting service: servizio di web hosting che permette agli utenti di creare proprie social network. Alcuni esempi di piattaforme che rientrano in questa categoria sono: o Ning o KickApps o BigTent https://www.bigtent.com/ Social network engine: framework che provvede alle funzionalità necessarie alla creazione e alla configurazione di una social network, installabile ed eseguibile su un proprio web server. Alcuni esempi di piattaforme che rientrano in questa categoria sono: o Elgg o PHPIbazi o Pligg CMS (Content Management System) con l aggiunta di plugin: un CMS è un strumento software installato su un server web studiato per facilitare la gestione dei contenuti di siti web. Molti CMS hanno reso disponibili plugin, ovvero estensioni, che permettono la gestione e la configurazione di social network. Alcuni esempi di piattaforme che rientrano in questa categoria sono: o Joomla + Community Builder o DrupalSN o WordPress + BuddyPress Tra le tre categorie individuate, abbiamo effettuato un analisi più approfondita sulle ultime due categorie (in particolare le piattaforme open source), mirata ad individuare possibili relazioni con le tecnologie del semantic web, ed abbiamo individuato una serie di limitazioni tecnologiche riassunte qui di seguito: Limitazione nell import/export dei profili utente da un applicazione ad un altra; Limitazione nell import/export delle relazioni sociali tra gli utenti da un applicazione ad un altra; Presenza limitata di dati disponibili in formati machine-readable; Le API (Application Programming Interface) sono basate su protocolli e formati personali, molte delle quali risultano essere non standard. 30

31 3.2 Iniziative e strumenti da adottare A fronte di tali problematiche, sono nate diverse iniziative: Open Social Web 1 : iniziativa che chiede la proprietà, il controllo, e la libertà di gestione dei dati personali in una social network Social Network Portability 2 : iniziativa che chiede la importazione delle informazioni sul profilo e sulla rete sociale (basata su Microformats) OpenSocial 3 : gli amici sono divertenti, ma sono solo su alcuni siti web. OpenSocial aiuta a questi siti a condividere i loro social data con il web. Le applicazioni che utilizzano le API di OpenSocial possono essere incorporate all interno di una rete sociale di per sé, oppure accedere ai social data da un qualsiasi sito web della rete. DataPortability 4 : standard che incoraggia ad adottare come base, strumenti utili per la realizzazione della portabilità dei dati in generale. DataPortability intende raggiungere questi ed altri obiettivi senza inventare nuovi standard ma coordinando quelli esistenti. Ecco alcuni esempi di dati portabili: Portabilità dell accesso: perché ogniqualvolta si vuole accedere ad un nuovo sito o servizio in Internet bisogna richiedere la creazione di un utente e di una password? Perché si deve ogni volta verificare la disponibilità del nome utente, se già utilizzato da un altro utente, inventarne uno per l'occasione? Perché non utilizzare direttamente l , o un altro nome utente univoco e assegnato in modo definitivo a me? A questi, ed altri problemi, si rivolge lo standard OpenID, che viene utilizzato dal progetto DataPortability. Portabilità dell identità: perché ad ogni sito a cui si accede dobbiamo reinserire tutti i dati relativi al nostro profilo come: nome, cognome, età, indirizzo, fotografia, etc..? DataPortability utilizza hcard per esporre tali informazioni senza doverle fornire nuovamente ad ogni nuovo accesso. Portabilità della rete sociale: questo è probabilmente uno dei campi attorno al quale vi è maggiore attesa. Infatti, per ogni sito in cui creiamo un profilo, molta cura ed attenzione viene posta sull elenco dei nostri amici e sulla rete attraverso la quale riusciamo a tenerci in contatto con loro, a comunicare con loro, a sapere dove sono e cosa fanno. Quando creiamo un nuovo profilo, sempre più spesso ci viene offerta la possibilità di importare questi elenchi da altri siti, ma questo solo fornendo le nostre credenziali di accesso, aprendo un problema di sicurezza e di fiducia nei confronti del nuovo sito. Per ovviare a questo problema, DataProtability propone di sfruttare i microformat, XFN, FOAF e Resource Description Framework (RDF)

32 Portabilità degli interessi definiti: nell utilizzo dei siti, spesso l utente dichiara i propri interessi oppure questi vengono dedotti dal suo comportamento online (pagine visitate, parole chiave cliccate, acquisti fatti,...). Questi dati vengono memorizzati in file APML. DataPortability intende utilizzare tale formato per facilitare lo spostamento di tali informazioni ed ottenere servizi più mirati. Gestione delle autorizzazioni: qualora dovessimo centralizzare i nostri profili, non sarebbe opportuno dare libero accesso a tutte le informazioni ivi contenute. Infatti, ad alcuni siti potremmo dare solo il nome ed il paese di provenienza, ad altri invece potremmo invece impedire solamente l accesso alla nostra rete di amici lasciando libero accesso alle altri informazioni. Una soluzione sarebbe avere un profilo per ogni tipo di utilizzo, ma una soluzione migliore è dare dei permessi personalizzati per sito e per singola informazione. In questo modo il sito X accederà ad un set ristretto di informazioni personali ed invece il sito Y avrà accesso completo. Questo sarà realizzato tramite lo standard OAuth. Messaggistica istantanea: perché non possiamo accedere a tutti i sistemi di messaggistica istantanea contemporaneamente? XMPP è uno standard aperto, supportato da IETF, attraverso il quale è possibile scambiarsi informazioni in maniera decentralizzata. Per maggiori informazioni sull iniziativa DataPortability e i numerosi standard considerati dall iniziativa, si consulti la home page di DataPortability. Nei prossimi paragrafi ci concentreremo in particolare sulla portabilità dei dati tra le social network, attraverso degli strumenti che mette a disposizione il semantic web e che costituiranno le fondamenta su cui si baseranno le piattaforme per la creazione e gestione di social network. 3.3 Portabilità dei dati tra le Social Network (FOAF - SIOC - SKOS) Per consentire un accesso migliore da parte di un utente a più siti di social network, è richiesto un certo grado di portabilità dei dati tra i siti di social network, in termini di: identificazione, profili personali e reti di amici (componente di portabilità della rete sociale) contenuti personali di un utente su ciascun sito, come i post sui blog, immagini, segnalibri o qualsiasi altro tipo di dati (componente di portabilità dei contenuti) Tale portabilità permette agli utenti lo scambio dei contenuti tra i vari servizi, unire e condividere i propri dati tra i vari siti web di social network. Due progetti nell ambito del semantic web, SIOC (Semantically-Interlinked Online Communities) e FOAF (Friend of a Friend), possono essere combinati insieme per consentire la portabilità dei dati tra i siti di social media, e quindi favorire l interoperabilità tra le social network stesse: FOAF è una tecnologia del semantic web che ci consente di rappresentare le persone e le loro relazioni, e costituisce la componente di rete sociale per la portabilità dei dati. Può essere utilizzata in combinazione con il sistema OpenID. 32

33 SIOC è una tecnologia del semantic web per esprimere informazioni sui contenuti generati dagli utenti e le relazioni che intercorrono tra tali contenuti, e costituisce la componente dei contenuti per la portabilità dei dati. Mediante SIOC è possibile specificare e descrivere molti tipi di oggetti relativi ai contenuti che può creare un utente. In aggiunta a questi due progetti, vi è SKOS (Simple Knowledge Organization System), un area di lavoro e di sviluppo di specifiche norme per sostenere l uso dei sistemi di organizzazione della conoscenza (KOS, Knowledge Organization System) come tesauri, schemi di classificazione e tassonomie nell ambito del semantic web. Nei prossimi paragrafi seguirà una trattazione più dettagliata di FOAF e SIOC, ed alcuni casi d uso di tali tecnologie Rappresentazione delle social network con FOAF Identity e networking management su più siti di social media Anche se molti siti di social media permettono alle persone di definire le proprie reti sociali, solo alcuni di loro consentono agli utenti di esportare le loro reti in modo che possano essere riutilizzate in altre applicazioni. Inoltre, quando questo è il caso, gli utenti devono basarsi su alcune specifiche API, che richiedono la scrittura di strumenti ad-hoc per ogni data provider. Il progetto FOAF 5 fornisce un modo per rappresentare i dati relativi alle persone di una rete sociale in modo machinereadable, dal momento che definisce un ontologia per rappresentare le persone e le relazioni che essi condividono. Esistono due modalità principali per creare un proprio documento FOAF: molti siti di social network permettono l export di profili utente in FOAF: hi5, LiveJournal, VOX, tribe. Per un elenco completo si consulti utilizzare tool gratuiti con l inserimento dei propri dati nei campi appositi: FOAF-a-Matic. La specifica completa di FOAF può essere consultata presso: Utilizzando FOAF, le persone e le relazioni possono essere modellate con questi principi: Ogni persona è rappresentata come una istanza foaf:person e può essere assegnata ad una URI(s), il proprio identificativo univoco nel Semantic Web; Ogni persona ha varie proprietà, come ad esempio un nome (foaf:name), nickname (foaf:nick) o data di nascita (foaf:birthday); Le persone possono essere collegate le une alle altre con la proprietà foaf:knows. E possibile usare una estensione relativa alle relazioni tra le persone con il vocabolario RELATIONSHIP 6. Tutte le proprietà rel:* sono sottoproprietà di foaf:knows. E possibile fare inferenza mediante strumenti RDFS con queste proprietà alternative. Le due figure seguenti mostrano un frammento di un documento FOAF e una rappresentazione con grafo delle relazioni ottenute dal documento

34 Sfruttando le rappresentazioni delle persone e delle loro relazioni mediante delle ontologie ampiamente usate come FOAF, possiamo usare generici parser RDF e SPARQL (un linguaggio di query RDF che recentemente è diventato una raccomandazione W3C), per sfogliare e riutilizzare i dati. Pertanto, gli utenti finali possono utilizzare gli stessi strumenti per analizzare la propria rete, qualunque sia la sorgente. In tale estensione, FOAF semplifica il processo di scrittura di framework per lo sviluppo di social network, soprattutto perché molti strumenti open source sono disponibili per la maggior parte delle piattaforme. Merging e Querying di Social Network Come introdotto in precedenza, FOAF ci permette di descrivere profili personali ed anche rappresentare le relazioni tra le persone. Ma resta un problema che vari siti possono esportare una rappresentazione FOAF di utenti e reti sociali utilizzando i propri schemi URI, il che significa che vi è ancora bisogno di fare il merge di questi profili distribuiti. Al fine di consolidare gli URI, si possono far valere le seguenti proprietà per rappresentare l identità di oggetti esistenti: owl:sameas è utilizzato per identificare che due risorse sono le stesse, nonostante siano identificate da URI diverse; rdfs:seealso è utilizzata per permettere a crawler e browser del Semantic Web come Tabulator di conoscere ulteriori informazioni sulla risorsa. Molti strumenti del Semantic Web seguono le linee guida descritte in LinkedData 7. Usando queste proprietà nelle social network permettiamo alle persone di collegare e unificare i vari URI che rappresentano se stessi. Per fare ciò, la gente può fare riferimento ad una URI FOAF principale che può essere descritta a mano o generata automaticamente da un profilo FOAF che presenta link ad altri profili esistenti (e anche per collegare le reti sociali distribuite da varie piattaforme), come il seguente frammento di esempio: :me owl:sameas ; owl:sameas twitter:terraces ; owl:sameas facebook:foaf rdf#me. Di seguito viene rappresentato schematicamente i collegamenti tra i vari profili: 7 34

35 Fornire un tale entry point consente a qualsiasi strumento compatibile con RDF di navigare in una social network completa in modo semplice, vale a dire a recuperare le relazioni degli utenti di Flickr, Twitter o Facebook: con le librerie standard e query SPARQL senza dover eseguire la scansione del Web per i dati siccome è possibile accedere ad altri profili mediante un solo file FOAF Per fare un esempio, vediamo un semplice script con cui è possibile navigare la rete sociale di un utente con profilo FOAF con una interfaccia Flash user-friendly 8. Questo strumento richiede solo l URI principale dell utente, e, grazie alle proprietà di interconnessione descritte in precedenza, è possibile recuperare le altre URI e le relative reti sociali associate alle URI. Questa applicazione, che richiede solo poche righe di codice Python e query SPARQL per analizzare la rete completa, mostra i benefici derivanti dall uso di una semantica comune per descrivere le reti su siti di social media. Altre applicazioni simili sono FOAF Explorer e FOAFnaut. Infine, un altro modo per identificare l univocità di una risorsa tra diverse reti è quello di implementare il cosiddetto riferimento in base alla descrizione attraverso l individuazione di alcune proprietà che possono agire come identificatori indiretti e asserire che due descrizioni RDF che usano lo stesso valore di questa proprietà stanno parlando della stessa entità (owl:inversefunctionalproperty). FOAF utilizza diverse proprietà di questo tipo, per esempio, foaf:mbox_sha1sum (cioè criptate) e foaf:openid (vale a dire una URL OpenID). Così, anche se le persone di usano nomi differenti su vari siti web, non appena si registrano con la stessa o con lo stesso URL OpenID, siamo in grado di identificare in modo univoco le persone su più reti sociali distribuite. Esempio di portabilità delle Social Network con FOAF Descriveremo ora un caso d uso di un sito web di social network FOAF-aware. Bob, un nuovo utente, vuole iscriversi ad un sito web (immaginario) Networkr di social network al fine di condividere alcune immagini e messaggi con i suoi amici. Per fare ciò, crea un account usando il suo URL OpenID. Anche se il principale vantaggio con OpenID è che Bob non ha bisogno di una 8 35

36 nuova login e una password per connettersi, OpenID permette al sito di scoprire con facilità il suo profilo FOAF e le URI. Infatti, Bob ha delegato il suo OpenID al proprio dominio e ha aggiunto un link FOAF di autodiscovery 9 alla sua homepage per lasciare che gli agenti software scoprano facilmente l ubicazione del suo profilo FOAF. Il sistema sarà quindi capace di recuperare il profilo di Bob così come la sua URI (utilizzando la proprietà foaf:openid) e leggere le relazioni sociali di Bob per verificare se le persone in una delle sue reti esistenti sono già registrate su Networkr. Il servizio chiederà poi a Bob se vuole prendere in considerazione tutte quelle persone, come amici su Networkr. Dal momento che Bob non vuole concedere l accesso a tutti sulle sue attività in questo sito, allora decide di controllare personalmente quali persone aggiungere tra i suoi amici esistenti su Networkr. Tutti questi passaggi possono essere facilmente realizzati dal sito web dal momento che deve fare una query ad un singolo profilo e scorrere le relazioni contenute nel profilo FOAF di Bob. Inoltre, ogni volta che Bob accede al sistema, Networkr naviga ancora una volta la rete sociale completa di Bob per recuperare gli aggiornamenti e cambiare i diritti di accesso, se necessario. Così, non appena Bob aggiunge qualcuno come amico su Flickr, Bob avrà accesso alle sue nuove foto. Infine, poiché Networkr è completamente aperto e considerando che i dati e le relazioni sociali appartengono all utente, Networkr permette a Bob di esportare la sua rete, che può quindi riutilizzare su altri siti web Portabilità dei dati con SIOC Descrivere i data content creati con SIOC L iniziativa SIOC 10 era stata creata per descrivere e collegare post di discussioni che prendono luogo sui forum di comunità online come i blog, bacheche e mailing list. Così come le discussioni si sono evolute da semplici conversazioni text-based a messaggi che includono contenuti audio e video, anche SIOC si è evoluto non solo per descrivere piattaforme di discussione convenzionali, ma anche per descrivere nuove comunicazioni Web-based e provvedere a meccanismi di condivisione dei contenuti

37 SIOC prevede una ontologia per la rappresentazione di dati provenienti dal social web in RDF. Ha avuto recentemente un adozione significativa in molte applicazioni software commerciali e opensource, ed è comunemente usato in congiunzione con il vocabolario FOAF per esprimere profili personali e informazioni di social networking. La specifica completa di SIOC può essere consultata presso Come buon cittadino del Semantic Web, SIOC riutilizza ed estende ontologie esistenti, come Dublin Core, FOAF e SKOS, in modo da essere compatibile con i dati RDF modellati utilizzando altri vocabolari esistenti 11. Così, SIOC è spesso usato in combinazione con il vocabolario FOAF per descrivere le persone ed i loro amici, e il modello SKOS 12 (Simple Knowledge Organization System) per l organizzazione dei dati. SKOS Core Vocalulary 13, ovvero la specifica SKOS, consiste in una serie di classi RDFS e proprietà di RDF che sono usate per rappresentare il contenuto e la struttura di base dei cosiddetti concept-schema cioè thesaurus, schemi di classificazione, elenchi di titoli d argomento, tassonomie, terminologie, glossari e altri tipi di vocabolario. Poiché sono in formato RDF, questi possono essere manipolati, trasformati, archiviati, e vi si possono fare ricerche usando gli strumenti RDF. Pertanto SKOS può essere usato come formato d interscambio attraverso le librerie digitali e per il recupero dati. Inoltre è possibile l'interazione con altri strumenti e rappresentazioni usati nel web semantico. SIOC consente agli sviluppatori di collegare gli elementi creati dagli utenti ad altri oggetti relazionati ad essi, alle persone (tramite il loro account utente associato), e ad argomenti (utilizzando tag specifici o categorie gerarchiche), come rappresentato nella figura. SIOC può rappresentare vari tipi di contenitori (ossia Wiki, blog, MessageBoard) e vari content item (cioè WikiArticle, blogpost, BoardPost)

38 Diversi strumenti, esportatori e servizi sono stati creati per fare l export di dati SIOC dalle attuali community online. Questi includono le API per PHP, Perl, Java e Ruby, esportatori di dati per sistemi come WordPress, Drupal, phpbb e BlogEngine.NET, produttori di dati per RFC mailbox, convertitori SIOC per servizi del Web 2.0 come Twitter e Jaiku, e il loro utilizzo in prodotti commerciali, come Talis Engage e OpenLink Virtuoso. Per fare un esempio, un plugin esportatore di dati SIOC per un blog creerebbe un SIOC RDF per ogni post del blog e i relativi commenti: Il contenuto di un post (sioc:content) L autore (sioc:has_creator) Creazione/aggiornamento dati (dct:created / dct:updated) Tag e categorie (sioc:topic) Tutti i commenti relativi al post (sioc:has_reply) Informazioni sul blog container (sioc:has_container) Tutte queste fonti di dati forniscono delle accurate descrizioni strutturate chiamate Social Media Contributions (SMCs), le quali possono essere aggregate e riutilizzate. Importare dati SIOC: un esempio con WordPress Il plugin di importazione SIOC per il blog engine WordPress 14 è una dimostrazione iniziale di portabilità dei social media usando SIOC. Una volta installato, viene visualizzato un pannello di importazione SIOC nell interfaccia utente amministratore di WordPress, che permette ad un manutentore weblog di importare contenuti creati dall utente da un altro sito (descritto in forma di dati SIOC) nel suo weblog. I dati che devono essere importati possono essere creati da diversi siti di social media che utilizzano strumenti di esportazione SIOC (descritto prima), che rappresentano la parte di produttore dei dati del food chain di SIOC:

39 Dal momento che l unico requisito per l importatore è quello di "comprendere" i dati modellati con SIOC, non fa alcuna differenza se i dati provengono da un altro blog, una bulletin board o gli aggiornamenti più recenti su Twitter. Le sorgenti dati possono anche utilizzare modi differenti su come i dati SIOC + FOAF sono rappresentati, come ad esempio incorporare i dati in pagine web con RDFa, estrarre i dati utilizzando GRDDL o usando file di metadati esterni. Il processo di importazione effettuato dal plugin consiste nel fare il parsing dei dati RDF (ad esempio, utilizzando parser open source, come ARC 15 o RAP 16 per PHP), trovare tutti gli item SIOC da importare (ad esempio, tutte le istanze sioc:post) e creare nuovi content nel sito di destinazione utilizzando le API WordPress. L implementazione dell importatore di dati SIOC sfrutta la natura dei dati interconnessi SIOC e permette di importare i post del blog con tutti i commenti associati ad esso. Per raggiungere questo obiettivo, il plugin utilizza la proprietà sioc:has_reply, per identificare, recuperare e ricreare commenti associati ai post del blog importati. Questa implementazione permette già di spostare i contenuti tra differenti siti di social media. Il formato dei dati utilizzati permette di descrivere tipi differenti di informazioni sui contenuti creati dagli utenti, come informazioni sugli autori, le categorie e le etichette, ecc. Può essere facilmente esteso per descrivere proprietà e data type supplementari, se necessario, essendo in grado di analizzare i dati utilizzando un generico parser RDF SIOC. Come risultato, strumenti più complessi per la portabilità dei dati possono essere costruiti seguendo la stessa architettura qui descritta

40 3.4 Drupal Drupal è un CMS scritto in PHP, è libero ed open source, distribuito sotto licenza GNU. E' utilizzato come sistema di back-end per diversi tipi di siti web, che vanno dai piccoli blog personali ai grandi siti aziendali o politici. La versione standard di Drupal, noto come Core Drupal, contiene le caratteristiche base, comuni alla maggior parte dei CMS in circolazione e questa include la capacità di registrazione e amministrazione dei singoli account utente, la gestione dei menu di amministrazione, la pubblicazione dei feed RSS, il layout personalizzabile, privilegi di account flessibili, servizio di logging, un sistema di blog, un forum su Internet, e le opzioni per creare un sito web classico brochureware o per creare una comunità web interattiva. Altra caratteristica importantissima è che Drupal permette una distribuzione dinamica delle informazioni, che è realizzata mediante l importazione automatica di flussi di informazione categorizzati trasmessi come feed RSS, consentendo agli utenti di acquisire automaticamente le informazioni senza aver bisogno di accedere ai siti che le hanno pubblicate. Drupal inoltre è stato progettato per aggiungere nuove funzionalità e nuovi comportamenti personalizzati, che vengono acquisiti tramite l aggiunta di moduli sviluppati da terze parti, quindi è un CMS modulare e talvolta viene descritto come un Framework per la gestione dei contenuti. Drupal consente di organizzare i contenuti in base a: tipologia (pagina, messaggio del forum, immagine, etc) Di default Drupal ha solo due Tipi di contenuto abilitati: Page e Story, mentre gli altri tipi di contenuto devono essere attivati oppure se ne creano dei nuovi, ma questa funzionalità è permessa sono all amministratore del sito. - Page: serve per creare delle pagine statiche (es. Chi siamo, Dove siamo). Come impostazione predefinita, una pagina non prevede commenti dei visitatori e non viene mostrata nella home page iniziale del sito. - Story: una story, simile come struttura a una pagina, è ideale per creare e mostrare contenuti che coinvolgano o informino i visitatori. Comunicati stampa, annunci ed altri contenuti simili al blog possono essere creati con la voce story. Come impostazione predefinita, una story viene automaticamente mostrata sulla pagina principale del sito ed è possibile aggiungervi commenti - Book pages: permette di rendere il contenuto di tipo collaborativo. Ad esempio un contenuto collaborativo può essere la documentazione di sviluppo per Drupal. - Blog: consente agli utenti autenticati, la pubblicazione d articoli personali (ogni blog è associato ad un utente). - Forum: consente di creare discussioni su argomenti d interesse comuni. categoria (tassonomie e folksonomie) Di default questa categorizzazione non è attivata, questa funzionalità utilizza il modulo Taxonomy che permette di classificare i contenuti in categorie e sotto-categorie utilizzando 40

41 sia tag inseriti dall utente, sia le categorie definite dall amministratore. La Tassonomia (o categoria) è formata da vocabolari, dove ad ogni vocabolario deve essere assegnato un nome ed un (o più) tipo di contenuto da classificare. Ad ogni vocabolario poi saranno aggiunti dei termini. Ad esempio il modulo Image crea automaticamente una Tassonomia, assegnando come vocabolario il nome di Image Galleries e come tipo di contenuto usato Image. I termini di questo vocabolario saranno quindi tutti gli album fotografici che vengono creati nel sito. Al momento della a creazione di un nuovo contenuto, verrà chiesto anche di assegnare una categoria. Un vocabolario può anche essere (facoltativamente) essere collegato ad uno specifico tipo di contenuti, e in questo caso, verrà mostrato solo durante la creazione o modifica di contenuti di quel tipo. Quando più vocabolari sono collegati ad uno stesso tipo di contenuto, essi verranno mostrati nell'ordine con cui sono stati inseriti. Ad oggi la maggior parte dei CMS esistenti, non hanno mostrato troppo interesse per il Web semantico. Invece Drupal da quando è stato creato ha seguito e sostenuto l idea del web semantico, a tal punto che da quando Google ha annunciato di voler lavorare sul semantic web, la comunità degli sviluppatori di Drupal ha rafforzato lo sviluppo per l integrazione di RDFa nel core 7 di Drupal. Questo CMS può essere opportunamente configurato per creare social network personalizzati come Facebook e MySpace, infatti vi sono dei moduli che rendono il sistema simile ad un social network ma c è ancora tanto da lavorare, infatti vi sono delle proposte che mirano a trasformare Drupal in un sito di social network, ad esempio DrupalSN, che però non è un proprio social network, in quanto è uno showcase dove gli sviluppatori di Drupal possono esporre i propri progetti e le funzionalità di una social network sono davvero limitate. Un potenziale sito per una social network costruito con Drupal, tramite l installazione di alcuni moduli specializzati, potrà offrire la possibilità di eseguire delle ricerche sociali approfondite, ricercando per tipo e per livello nelle relazioni, e permettendo di filtrare i risultati. Questo sarebbe un nuovo modo per approfittare della propria rete, in modo da aumentare significativamente la rilevanza di alcune ricerche. Il core di Drupal, attualmente 6.x, non supporta in maniera nativa alcune tecnologie del semantic web (mentre dalla versione 7.x dovrà essere tutto integrato nel core), con cui sarà possibile cercare all'interno della propria rete, amici e colleghi. Il gruppo Semantic Web Group su groups.drupal.org (sponsorizzato dal DERI dell'università di Dublino), si occupa di come integrare il semantic Web in Drupal e dimostrate alla comunità, i benefici nell'usare l'rdf in Drupal, ed insieme al Drupal RDF Schema, hanno proposto vari moduli e patch per Drupal al fine di renderlo compatibile con le tecnologie del semantic web. Lo schema successivo rappresenta il mapping tra l'attuale struttura dei dati Drupal e la proposta del "Drupal RDF Schema", riutilizzando ontologie esistenti, come Dublin Core, FOAF, SIOC e SKOS. 41

42 I cerchi verdi rappresentano gli oggetti Drupal (nodo, revisione, utenti, ruoli, termini), con la loro classe equivalente in SKOS, SIOC e FOAF. I rettangoli invece sono i valori utilizzati in Drupal. E 'importante distinguere una classe dalle sue istanze (risorse), in cui ciascuno è definito da un unico URI. I commenti e i nodi sono due diversi elementi in Drupal, ma possono essere combinati nella stessa classe tramite la proprietà ricorsiva sioc:has_reply. I nodi e le revisioni sono classi separate, cosi come lo sono le loro controparti nella struttura dati di Drupal, ma potrebbero anche essere riuniti in un'unica classe. La classe SIOC sioc:item usata in questo schema per la classe nodo, rappresenta una classe più ampia con molti sottotipi: AddressBook, AnnotationSet, AudioChannel, BookmarkFolder, MailingList, MessageBoard, BlogPost, BoardPost, WikiArticle... Adesso segue un esempio su come lo schema può essere usato per rappresentare la classe ruolo: L utente user 5 ha il ruolo 'authenticated user'. Questo ruolo ha tre permessi: 'create book content', 'view revisions' and 'upload files'. L utente user 5 è un istanza della classe sioc:user e il suo URI è Il ruolo authenticated user è un istanza di sioc:role e il suo URI è Tutte queste informazioni possono essere espresso nella notazione compatta turtle (Terse RDF Triple Language): 42

43 @prefix dc: drupal: sioc: <http://rdfs.org/sioc/ns#> <http://example.com/user/5> sioc:has_function <http://example.com/admin/user/permissions/2> <http://example.com/admin/user/permissions/2> dc:title "authenticated <http://example.com/admin/user/permissions/2> drupal:has_permission "create book <http://example.com/admin/user/permissions/2> drupal:has_permission "view <http://example.com/admin/user/permissions/2> drupal:has_permission "upload Un altro esempio in RDF/XML che descrive il post del rilascio di Drupal 6.0 (http://drupal.org/drupal-6.0): <sioc:post rdf:about="http://drupal.org/drupal-6.0"> <dc:title>drupal 6.0 released</dc:title> <dcterms:created> t014:42:00z</dcterms:created> <sioc:has_creator> <sioc:user rdf:about="http://drupal.org/user/4166" rdfs:label="gábor Hojtsy" /> </sioc:has_creator> <sioc:content>after one year of development we are ready to release Drupal 6.0 to the world. Thanks to the tireless work of the Drupal community, over 1,600 issues have been resolved during the Drupal 6.0 release cycle. These changes are... </sioc:content> <sioc:topic rdfs:label="news and announcements" rdf:resource="http://drupal.org/forum/8"/> <sioc:topic rdfs:label="drupal 6.x" rdf:resource="http://drupal.org/taxonomy/term/102"/> <sioc:has_reply> <sioc:post rdf:about="http://drupal.org/drupal-6.0#comment " /> <sioc:post rdf:about="http://drupal.org/drupal-6.0#comment " /> <sioc:post rdf:about="http://drupal.org/drupal-6.0#comment " /> </sioc:has_reply> </sioc:post> Questo semplice schema è ancora incompleto, ma serve solo a dare una panoramica su come il core 7 di Drupal supporterà il semantic web. Infine solo per divertimento ecco come descrivere Drupal in RDF, come se fosse un documento letto da un computer, grazie al servizio offerto da dbpedia.org. 43

44 Alcune tecnologie del Semantic Web sono state introdotte nella versione 6 di Drupal tramite moduli, di seguito si descrivono i moduli più importanti per rendere il CMS Drupal orientato al web semantico: SIOC (Semantically-Interconnected Online Communities) SIOC è un progetto nato per descrivere le comunità che si basano su discussioni online, quali forums o blog, e che quindi partecipano a conversazioni "distribuite". Al momento, le comunità online sono come delle isole (silos), quindi disconnesse tra loro, l'ontologia di SIOC è stata proposta non solo per collegare queste comunità, ma anche per sfruttare i dati in modi che prima erano sconosciuti. Una versione revisionata della specifica di SIOC può essere usata in congiunzione con altri formati RDF come RSS 1.0 (e 1.1). Il progetto SIOC per Drupal ha lo scopo di estrapolare i meta-dati dai concetti base di Drupal come blog, nodo, commenti, forum, utenti e ruoli usando SIOC, e permettendo il collegamento dei post per argomento, autore o thread. Quindi le discussioni dei blog, mailing list, forum o altri metodi di discussione, possono essere interconnessi con SIOC. Il modulo genera automaticamente SIOC, che può essere letto con una esportazione diretta in RDF. In Drupal, almeno per la versione 6.x, è possibile aggiungere una funzione di elaborazione preliminare che sarà un pre-processo dei dati della pagina web, che verrà eseguita prima che la pagina venga visualizzata. FOAF Il modulo FOAF permette di: - Importare/sincronizzare automaticamente profili FOAF tra siti che utilizzano Drupal e hanno installato il suddetto modulo; - Importare un profilo FOAF da file; - Esportare il profilo FOAF su file in base al profilo utente dell utente. - Per la sincronizzazione, quando ci si deve loggare ad un sito A si può usare l account di un sito B, il sito A preleverà automaticamente i tuoi dati dal sito B per creare un nuovo profilo, questo funziona solo se il sito A e il sito B usano Drupal e hanno tra i moduli attivati FOAF. RDF API RDF è uno standard W3C per la modellazione e la condivisione della conoscenza distribuita basata su un presupposto, le informazioni sono decentralizzate in maniera aperta. Riguarda sostanzialmente qualsiasi cosa può essere scomposto in triple (3-tuple), composto da un soggetto, un predicato e un oggetto, in sostanza, RDF è il minimo comune denominatore per lo scambio di dati tra sistemi. RDF API per Drupal fornisce funzionalità RDF e completa interoperabilità per la piattaforma Drupal 6.x. Il modulo si integra con FeedAPI, Feed Element Mapper, Location, che sono altri moduli Drupal. Molti progetti si basano su questo 44

45 modulo e ne sono in dipendenza: Calais, File quadro, FeedAPI RDF, Relations e le DAV API. SPARQL SPARQL è un linguaggio di query per il pattern matching su documenti RDF. La sintassi è simile a SQL, Questo modulo consente l'utilizzo di query SPARQL con l'rdf API per Drupal 6.x. Open Calais La collezione Calais è una integrazione del web services di Thomson Reuters Calais per la piattaforma Drupal. Il servizio Calais crea automaticamente, metadati semantici per i contenuti che vengono sottomessi. Utilizzando l'elaborazione del linguaggio naturale, machine learning e altri metodi, Calais analizza il documento e trova le entità da taggare all'interno di esso. Ma, Calais va ben oltre l'identificazione dell'entità classica e restituisce i fatti e gli eventi nascosti all'interno di testo puro. Il servizio web è sia gratuito e sia per uso commerciale e per usarlo si richiede la registrazione per ottenere una API key. La collezione Calais comprende: - Calais: E un modulo che semplicemente invia al web service OpenCalais i contenuti da taggare. Le funzionalità supportate sono: Integrazione per il tagging dei nodi e tassonomie Integrazione del SemanticProxy Geomapping - Calais Marmoset: Lo scopo di questo modulo è quello di fornire un modo semplice per rendere i contenuti del sito web disponibili attraverso una ricerca intelligente quando si viene indicizzati da un crawler di ricerca. Questo modulo aggiunge una scheda al nodo e quando verrà selezionato visualizzerà i dati restituititi in micro format. Esempio: 45

46 Si consideri un esempio in PHP: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>your Page Title</title> </head> <body> <div>your Page Contents</div> <?php Your PHP Code?> Quando la pagina verrà richiesta da un browser sarà inviata come lo è sopra, ma quando a richiederla è un crawler di ricerca allora la risposta inviata sarà: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>your Page Title</title> </head> <body> <div class="vcard"> <span class="fn">a person from your page</span> <div class="org">the person's organization</div> <div class="title">the person's title</div> </div> <a href="link to organization" rel="tag">organization's name</a> <div>your Page Contents</div> <?php Your PHP Code?> Marmoset effettua una injection di dati semantici,all interno del codice HTML. - More Like This: Suggerisce altri contenuti del tuo sito e sul web, basandosi sui tag proposti da Calais - TopicHubs: Aggrega i contenuti sulla base di espressioni in base ai termini Calais - Geo: Acquisisce i dati geografici grazie ai tag di Calais. RDF CCK Forse è il modulo più importante, RDF CCK (Content Constrution Kit) consente agli amministratori del sito per mappare ogni tipo di contenuto come il titolo del nodo, il corpo del nodo in un termine RDF (classe o proprietà). Per default, RDF CCK creerà classi locali e proprietà per tutti i tipi di contenuto e campi che saranno esportati al nodo/*/rdf. La versione 2.x di RDF CCK utilizza il modulo "RDF external vocabulary importer (evoc)" per mappare il modello locale di Drupal in termini RDF. RDF CCK richiede l'api RDF, CCK e evoc. Facoltativamente RDF CCK può esporre i campi CCK in RDFa applicando delle patch. 46

47 Exhibit Exhibit visualizza dati strutturati in una ricca forma di visualizzazione, dove i dati possono essere cercati, filtrati e ordinati utilizzando la ricerca sfaccettata (faceted browsing). RDF External Vocabulary Mapper Questo modulo fornisce un modo per importare ontologie esterne RDF in Drupal. Ad esempio, se si desidera evidenziare il contenuto di un evento mediante l'ontologia "RDF Calendar ontology", è possibile importare quest'ultima utilizzando questo modulo. Questo modulo fa uso delle onotlogie Dublin Core, FOAF, e SIOC. Relationship Il modulo "Relationship" cerca di fornire delle descrizioni tra i rapporti tra i nodi Drupal utilizzando la tripla RDF ed espone queste relazioni mediante RDF(a). Conclusioni La versione 7 di Drupal sosterrà internamente e interamente il semantic Web, in misura maggiore della versione 6, ma è ancora allo stadio di sviluppo. L'output di Drupal 7 sarà automaticamente RDFa, e i moduli CCK e l'integrazione per effettuare il markup dei meta-dati semantici saranno direttamente posti nel core di Drupal. Quindi la visione di degli sviluppatori di Drupal 7 è quella di una rete di dati connessi dove ogni sito diventa un server di dati in grado di interagire con altri siti ed altre fonte di dati. Un sistema del genere, che utilizza Drupal può contenere gigabyte di dati strutturati. Tuttavia, tale struttura rimane nascosta nel database, non contribuendo alla comunicazione del contesto dei dati, nascondendo le relazioni tra i contenuti alle macchine, e agli esseri umani. Il primo passo è garantire che questi dati strutturati possano contenere contesto machine-readable, e questo è stata realizzato utilizzando particolari campi nel core di Drupal (CCK). Ogni campo può quindi essere usato come attributo, e il suo valore è associato a tale attributo, incorporando i metadati nel'output XHTML di Drupal. Ora che il supporto a RDFa è in procinto di essere aggiunto, e le implicazioni per la ricerca, il social networking e qualsiasi altra applicazione web non sono più un miraggio, anche se c è ancora molto da lavorare. Per ulteriori approfondimenti si consultino i seguenti link:

48 3.5 Open Calais La prima cosa da capire è la necessità dell utilizzo della tecnologia Open Calais. Ormai si sente parlare da tempo di grandi benefici delle tecnologie semantiche per l impresa, ma a volte se ne parla in maniera molto astratta, quindi è molto difficile per i manager capire dove sono i reali benefici. L obiettivo del seguente esempio mostra i benefici della semantica, da cui deriva la necessità dell utilizzo di una tecnologia per realizzarla, in particolare di Open Calais. Questo esempio concreto, quindi mostra il beneficio ottenuto grazie alle tecnologie semantiche: Una società multinazionale dedicata alla ricerca nel settore dei servizi internet sta valutando l opportunità di acquistare una start-up aziendale specializzata nello sviluppo di tecnologie di Social Network. Con questa acquisizione la società pretende di aumentare la sua capacità in questa business area. Prima della decisione finale la società cerca di individuare tutti i progetti che si occupano di questo tema per calcolare il proprio fatturato e per individuare le sinergie e le ridondanze, con lo start-up da acquisire. L azienda ha un sistema di qualità che obbliga tutti i responsabili del progetto a compilare i moduli con le informazioni relative al progetto. Queste informazioni vengono inviate ad un database centrale in cui sono memorizzate. E molto difficile intraprendere l analisi delle informazioni perché il concetto di Social Network è di alto livello connesso con altri concetti più semplici,ad esempio quelli di identità digitali, comunità sociali, ecc. Inoltre, vi è un ulteriore ostacolo associato con la dispersione geografica dei vari gruppi di ricerca, ciò implica diverse linee di lavoro e terminologie diverse, dal punto di vista linguistico soprattutto, per descrivere gli stessi concetti. Per questo motivo saranno necessari numerosi incontri e chiarimenti tra il project manager e lo strategy manager per analizzare le informazioni richieste. 48

49 La soluzione: Costruire un ontologia come mostrata nella figura precedente, che ritrae i rapporti tra le tecnologie e la terminologia utilizzata, in questo modo, sistemi possono utilizzare queste conoscenze per effettuare una trasformazione molto più profonda delle informazioni, facilitando l individuazione di progetti utili e inferendo le informazioni pertinenti automaticamente. Un miglioramento alla nostra soluzione: Estendere l ontologia precedente aggiungendo e tecnologie correlate, i sistemi di informazione sono in grado di rilevare che altre tecnologie e progetti possono essere coinvolti con l acquisizione della start-up, come illustrato nella figura seguente. L obiettivo di questo esempio è che le tecnologie semantiche rappresentano un nuovo paradigma nella gestione delle informazioni, consentendo l uso di concetti, invece dei dati strutturati. Open Calais permette di gestire le informazioni attraverso l uso dei concetti grazie a numerose ontologie a sua disposizione, permettendo quindi la generazione di metadati semantici. 49

50 I vantaggi di questo approccio: La facilitazione di un livello più avanzato di elaborazione delle informazioni; La facilitazione della comunicazione tra i diversi gruppi di utenti; Il miglioramento della gestione della conoscenza; La possibilità di dare una rappresentazione più chiara di questa conoscenza Introduzione a Open Calais L iniziativa Open Calais supporta l interoperabilità dei contenuti e la sua missione è quella di fornire informazioni intelligenti. Open Calais offre gratuitamente servizi di nuova generazione di metadati, strumenti di sviluppo e di connessione automatica alla Linked Data cloud. Il servizio free Open Calais e le Open APIs rendono facile automatizzare le operazioni sui contenuti e il miglioramento degli stessi Cosa fa Open Calais Calais permette, con le proprie API, di ricevere il testo, inizialmente semanticamente non strutturato ma adatto al web, arricchito di metadati. In pieno spirito semantic web, cioè, il sistema restituisce un file RDF contenente tutti i metadati relativi al contenuto del testo dato in input a Open Calais. Dunque un servizio di supporto, caratterizzato dalla possibilità che ha l utente di creare contenuti con dei metadati associati come valore aggiunto. Inoltre, crea collegamenti tra i metadati estrapolati dal testo con altri dati presenti nel web. Infine, trattandosi di un web service, fornisce uno strato di trasporto per i metadati semantici dal server al client. Quindi come mostra la figura seguente, si parte da un documento non strutturato di tipo testo, html o xml, lo si viene dato in input ad Open Calais e come output restituisce i metadati, categorizzandoli, riconoscendo entità, fatti ed eventi. I metadati restituiti sono contenuti nel file RDF generato da Open Calais. Il tempo di esecuzione varia da 500 ms a un 1 s in base alla taglia del file e il canale di comunicazione utilizzato. Ovviamente può essere utilizzato sia per applicazioni commerciali che non. Ha qualche limitazione Calais in quanto è ottimizzato per i browser Firefox e IE, per altri browser non è garantito il corretto utilizzo. Open Calais è costituito da molti componenti. Il web service è un API che accetta un file di testo non strutturato come articoli, blog, ecc in vari formati txt, html, xml, doc ecc Questi file, li elabora passando del linguaggio naturale a quello macchina, e restituisce un RDF, contenente fatti ed eventi. 50

51 La figura precedente mostra come Calais ottiene dei metadati a partire da un file di testo. Come vedete, riconosce le parole come Reuters, Text Analytic Solution, Gery Campbell rispettivamente come una società, un prodotto e una persona, questo è possibile grazie ai dati presenti nelle banche dati a sua disposizione. Non si limita solo a questo ma interpretando alcune frasi come quelle evidenziate in azzurro riesce ad estrapolare conoscenze più complesse utilizzando anche le conoscenze presenti nello stesso documento, infatti, Acquisition usa due Company trovate nel testo e inoltre basandosi sempre sul contenuto del testo stabilisce chi è l Acquirer e l Acquired. In questo caso, il merito va alle ontologie a sua disposizione che gli permettono di acquisire conoscenza. Ovviamente queste informazioni estrapolate sono dei metadati semantici in formato RDF, associati permanentemente al documento Web al quale essi appartengono. 51

52 Open Calais genera i metadati semantici in formato RDF grazie ad una ricca collezione di ontologie scritte secondo lo standard OWL. La seguente ontologia viene utilizzata da Open Calais per riconoscere una Web Application Program: <rdf:rdf> <rdf:description rdf:about="http://umbel.org/umbel/sc/webapplicationprogram"> <n0pred:definition xml:lang="en"> Each instance of WebApplicationProgram is both a ServerProgram and an ApplicationProgram. A WebApplicationProgram relies on the functionality of some WorldWideWebServerProgram to process requests that come in across a ComputerNetwork. </n0pred:definition> </rdf:description> <rdf:description rdf:about="http://umbel.org/umbel/sc/webapplicationprogram"> <rdf:type rdf:resource="http://umbel.org/umbel#subjectconcept"/> </rdf:description> <rdf:description rdf:about="http://umbel.org/umbel/sc/webapplicationprogram"> <n0pred:hassemset rdf:resource="http://umbel.org/umbel/semset/en/webapplicationprogram"/> </rdf:description> <rdf:description rdf:about="http://umbel.org/umbel/sc/webapplicationprogram"> <owl:equivalentclass rdf:resource="http://sw.opencyc.org/2009/01/31/concept/en/webapplicationprogram"/> </rdf:description> <rdf:description rdf:about="http://umbel.org/umbel/sc/webapplicationprogram"> <rdf:type rdf:resource="http://umbel.org/umbel/ac/objecttype"/> </rdf:description> <rdf:description rdf:about="http://umbel.org/umbel/sc/webapplicationprogram"> <rdf:type rdf:resource="http://umbel.org/umbel/ac/temporalstufftype"/> </rdf:description> <rdf:description rdf:about="http://umbel.org/umbel/sc/webapplicationprogram"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#class"/> </rdf:description> <rdf:description rdf:about="http://umbel.org/umbel/sc/webapplicationprogram"> <n0pred:broadertransitive rdf:resource="http://umbel.org/umbel/sc/serverprogram"/> </rdf:description> </rdf:rdf> Le altre ontologie utilizzate da Open Calais sono disponibili su: Dove viene integrato Open Calais Definirlo un semplice web service è riduttivo, Open Calais è una crescente collezione di tool e di applicazioni che lo rendono prezioso nel mondo reale. Come mostra la figura seguente, Calais è utilizzato nei CMS come Word Press, Drupal; nelle librerie PHP, JAVA,.NET; nei browser extensions come Gnosis; e nelle applicazioni come RSS Tagger, TopBraid e tante altre ancora. 52

53 Calais Module per Drupal I moduli Calais per Drupal sono realizzati per integrare le potenzialità del Calais Web Service con Drupal. In particolare, integrare semanticamente i meta-tagging dei contenuti testuali, presenti nel portale web realizzato con Drupal, attraverso il motore di Calais. API Questo modulo offre un insieme di API flessibile per creare altri moduli da utilizzare integrandoli a Open Calais Web Service. Le API sono object oriented. Sono open source e disponibili sul sito di Open Calais, basta registrarsi. Alcuni dei moduli di Open Calais integrati a Drupal vengono presentati ora: Tagging Integration con Nodi e Tassonomia Questo modulo offre l integrazione di entità, eventi, e fatti in forma di metadati con Drupal Nodes. Inoltre, permette di configurare quali Content Types dovrebbero essere analizzati da Open Calais per l'estrazione di metadati sugli aggiornamenti dei contenuti testuali. I metadati ritornati, possono essere assegnati automaticamente ai vocabolari. Integrazione col SemanticProxy Qualche volta la piccola fetta di informazioni che riceve Calais non è sufficiente per costruire il vero contesto e dargli meta-dati ricchi. Quello che fa il modulo di SemanticProxy, fornisce i contenuti testuali di maggiore interesse all utente. La scelta di questi contenuti si basa sulle URLs visitate dall utente, generando il metadato semantico, in pratica in base alle URLs, il SemanticProxy 53

54 si crea una sorta di profilo dell utente, basandosi su questo profilo, fornisce i contenuti da lui ritenuti più opportuni per l utente. Geomapping Il modulo Geo di Calais lascia spazio a creare un Vocabolario di Calais riferito a una mappa, come il modulo di GMap di Google. Questo modulo dunque si avvale del Calais Web Service che fornisce la latitudine e la longitudine dei termini geografici rilevanti nei testi, dati in input a Open Calais. Blacklisting e Renaming Il modulo Calais Tag Modifier permette la creazione e la gestione di una blacklist dei tag, evitando di ottenere termini non attesi, comporta quindi anche una maggiore sicurezza sui contenuti soprattutto per i più giovani. Inoltre, il meccanismo di rinominare i termini consente anche di modificare i metadati restituiti prima che viene assegnato o suggerito il valore, unendo il termine indesiderato con uno nuovo. Calais Tagaroo - Our WordPress Plugin Tagaroo genera automaticamente tag ed localizza immagini per i bloggers di WordPress. Si può integrare, anche successivamente alla sua creazione, quindi in qualunque momento si può integrare la funzionalità di Open Calais all'interno del blogging, grazie a Tagaroo. Tagaroo è progettato per migliorare i WordPress blogs, agevolando i suoi lettori e più accessibile dai motori di ricerca. Tagaroo analizza il testo nel post e suggerisce tags intelligenti per le cose ed eventi contenuti nel blog. Si possono usare questi tags nel post, oppure per ottenere immagini automaticamente da Flickr per includerli nel post. Flickr è un sito web multilingua che permette agli iscritti di condividere fotografie personali con chiunque abbia accesso a Internet, in un ambiente web 2.0. Il sito, di proprietà del gruppo Yahoo!, ha una libreria in continua crescita contando ogni minuto più di duemila nuove foto inserite da parte dei suoi sette milioni di utenti SemanticProxy SemanticProxy, sviluppato dal team di Open Calais, si tratta di un tool indipendente e non del modulo di Drupal parlato in precedenza, generare facilmente metadati semantici per ogni singola pagina Web. Semplicemente basta dare l'url della pagina al tool. In pratica la funzionalità del SemanticProxy si può utilizzare anche indipendentemente senza integrarla a Drupal tramite dei moduli. Questa utility estrapola le informazioni sensibili da un documento di partenza e le cataloga. Nella pagina dei risultati, ciascuna entry possiede un link a una pagina esterna in cui vengono indicati la tipologia del risultato, argomenti simili e pagine riguardanti il risultato stesso. 54

55 La figura precedente mostra una schermata del tool, dall interfaccia notiamo la form con le informazioni necessarie da inserire, si può notare anche la scelta dell output che può essere di quattro formati (html, RDF, JSON e Microfermat), mentre la figura successiva mostra l output, in particolare una pagina dei risultati ottenuti in formato html. 55

56 Infine, la figura seguente mostra la pagina esterna di uno dei link presenti nella pagina dei risultati (della figura precedente) precisamente di NASDAQ

57 Gnosis Gnosis è un plugin per FireFox e per IE che identifica automaticamente le persone, le aziende, i lughi e così via, su pagine web e permette di effettuare varie ricerche basate sul tipo dell'entità da esso identificato. Attualmente, Gnosis processa automaticamente pagine da CNN, Google Finance, Wikipedia, Forbes, the International Herald Tribune, the Los Angeles Times, MSNBC, the New York Times, the Wall Street Journal, USA Today, the Washington Post, Yahoo News, BBC News e Wikipedia. Per quanto riguarda la privacy, Gnosis non trattiene informazioni sul contenuto sottoposto dell utente, incluso l'indirizzo del sito web passatogli. Attraverso l uso del motore fornito da Open Calais, Gnosis individua informazioni chiave su persone, organizzazioni, imprese, prodotti e luoghi geografici sparsi per il testo, distinguendo le varie macro categorie attraverso l uso di colori differenti. Dalla figura precedente si può notare sottolineati gli elementi processati. Il colore della sottolineatura indica il tipo dell informazione. Nella barra di sinistra invece le voci vengono raggruppate e ordinate secondo la macrocategoria di appartenenza Calais e le sue tecnologie semantiche al servizio di dieci siti e servizi innovativi The New Republic Il nuovo sito per il New Republic usa OpenPublish, un Content Management System (CMS), Open Calais per aumentare la produttività editoriale, migliorare l ottimizzazione dei motori di ricerca, e guidare il lettore attraverso una faceted search, le letture consigliate, le barre laterali e argomenti generati automaticamente. Con OpenPublish The New Republic può anche utilizzare i 57

58 metadati per intelligenti mashup di contenuti per creare nuovi prodotti e per mostrare i contenuti esistenti in modi nuovi ed entusiasmanti. Al Jazeera English s blogging Tutti i post della rete di nuovi blog sono taggati semanticamente, utilizzando Open Calais per la ricerca e la navigazione ottimali. Il blog utilizza anche una licenza Creative Commons e consente agli utenti di inserire un commento con Facebook Connect, Twitter o OpenID. Slate Magazine News Dots Network Dots News visualizza gli argomenti più recenti nelle news come una rete sintetica di argomenti correlati. I temi sono collegati l uno all altro se appaiono insieme in almeno due storie, e la dimensione del punto è proporzionale al numero totale di volte che il tema è menzionato. Come una rete sociale umana, la notizia tende a raggrupparsi intorno ad argomenti popolari e più storie sono più strettamente collegate di quanto si possa pensare. Dietro le quinte, News Dots analizza tutti gli articoli più importanti, circa 500 al giorno e li sottopone a OpenCalais per identificare persone interessate, luoghi, aziende, argomenti, ecc. I*heart*Mare E un sito aggregatore di notizie hyperlocal e raccoglie alcuni dei migliori blog di Seattle, in particolare quelli che servono la zona di Capitol Hill. I * heart * Mare usa OpenCalais per taggare automaticamente le parole chiave del post del blog in aggregati, per rendere più facile trovare le informazioni relative. I*heart*Mare usa anche Disqus, in modo che i commenti possono stare su molti siti ed essere raggruppati in thread, e CommentLuv per catturare i post recenti dei commentatori di blog quando lasciano il loro indirizzo del sito. I nuovi mezzi di comunicazione innovativi e gli strumenti di monitoraggio e di intelligence che si servono di Open Calais comprendono: Tattler E uno strumento di monitoraggio open source per il Web di oggi. Tattler trova e aggrega i contenuti che l utente chiede di monitorare. Usando Open Calais e altre tecnologie del Semantic Web, Tattler scandaglia notizie, siti web, blog, siti multimediali e altri mezzi di comunicazione sociale come Twitter, per trovare traccia delle questioni più rilevanti collegate agli argomenti selezionati gli utenti. Costruito da Fase2 Technology e distribuito su Drupal, Tattler è l unico workflow e toolset di intelligent content processors che rende facile agli utenti filtrare, organizzare, condividere e agire sui contenuti raccolti dal Web in tempo reale. Interceder E uno strumento di monitoraggio di social media che rende facile rintracciare argomenti e trend, facilita la ricerca attraverso i più recenti contenuti dei siti web di news più importanti, blog, Twitter e YouTube. 58

59 Interceder utilizza l API Daylife per trovare le ultime notizie e Open Calais per creare i metadati semantici allo scopo di arricchire le notizie e gli altri contenuti web. Inoltre usa Freebase per raccogliere ulteriori e approfondite informazioni sulle persone, sulle aziende e luoghi citati nei risultati di ricerca, e anche Yahoo! Pipes per recuperare le ultime notizie dai siti di news più importanti. Ask Jot Ask Jot è uno strumento per l analisi delle pagine web per parole chiave che vengono visualizzate come link nei risultati di ricerca da vari servizi in tutto il web. Sviluppato da John Wright della Wright Labs, in precedenza nota come Semantalyzr, Ask Jot utilizza Open Calais per trovare e identificare le entità in una pagina web, comprese le persone, le imprese, i paesi e molto di più. Esso utilizza anche una API per la ricerca di articoli del NYT, la Yahoo! Answers API, l API di Flickr, DBPedia e molti altri. Altri servizi che Open Calais offre per fornire contenuti intelligenti sono: Freedly Feedly è un plug-in di Firefox e mette in evidenza per gli utenti i feed selezionati da Google Reader, FriendFeed, Twitter, RSS e altro ancora in un formato facile da leggere e coinvolgente. Inoltre Feedly raccoglie i feed aggregandoli secondo il tipo di sharing dell utente, in una singola pagina e aggiunge una barra degli strumenti sul fondo della pagina abilitando una migliore condivisione. Se l utente clicca su Avanti nella barra degli strumenti, sarà portato su un altro sito che i suoi amici hanno raccomandato. Feedly utilizza Open Calais e altre tecnologie semantiche per il clustering, il collegamento e l organizzazione dell esperienza dei contenuti in modo intuitivo ed è ben integrato nella esperienza di navigazione. DocumentCloud Fondata da giornalisti provenienti dal The New York Times e da ProPublica, e finanziato dalla Fondazione Knight, DocumentCloud è l unica risorsa on line che offrirà pubblico accesso alle fonti originali dei reporter di newsa tra cui documenti, file multimediali e altro ancora. I materiali disponibili attraverso DocumentCloud saranno trattati da Open Calais per rendere più facile agli utenti l esplorazione delle connessioni tra Newsmakers, corporazioni, transazioni e anche citazioni nei documenti e in tutta la collezione completa della fonte di informazione. OpenPublish Basato sulla popolare piattaforma di publishing open source Drupal, OpenPublish è un CSM di prossima generazione, adattato alle necessità di oggi degli editori online. Ideale per una vasta gamma di supporti compresi siti, riviste, giornali, pubblicazioni commerciali e broadcast. Sviluppato da Fase2 Technology, utilizza metatagging semantico grazie a Open Calais per snellire le operazioni di contenuti, creare automaticamente argomenti hubs e suggerire articoli collegati e archiviati. Per ulteriori approfondimenti si guardi la sezione successiva. La documentazione di Open Calais è disponibile su: documentation/opencalais-documentation 59

60 3.6 OpenPublish OpenPublish 17 è una raccolta di moduli basata sulla piattaforma open source Drupal. OpenPublish è un CMS nato per supportare l'editoria sociale, include alcune caratteristiche appositamente studiate per il publishing online ed è stato adattato alle necessità degli editori del web. Quindi OpenPublish è un CMS di prossima generazione, ed è l'ideale per la realizzazione di una grande varietà di fonti mediatiche tra cui siti, riviste, giornali, pubblicazioni commerciali e broadcast. OpenPublsih è stato sviluppato da Fase2 Technology con il supporto di Thomson Reuter (OpenCalais), ed è stato progettato per sfruttare la potenza di Drupal come piattaforma di editoria sociale, che integra tecnologie web semantiche, e permette di integrare le migliori tecniche editoriali. Tra i moduli che compongono OpenPubish troviamo: Calais, Calais Marmoset, More like this, Topic Hubs (dove questi quattro formano il Calais Collection di Drupal), Geo e Linked Data per Drupal. Di seguito viene mostrata la composizione dei moduli citati, da cui si può notare che alla base dell'architettura troviamo il modulo Calais: Quindi OpenPublish è una implementazione personalizzata della piattaforma Drupal, che può essere eseguita su qualsiasi sistema configurato per eseguire Drupal. Segue una sintesi dei requisiti e delle raccomandazioni:

61 Web Server - Apache 1.3 o Apache 2.x. Drupal può essere eseguito anche su Microsoft IIS, anche se Apache è fortemente raccomandato. PHP - Versione 5.2 o superiore. Database - MySQL 4.1 o 5.0, anche se MySQL 5.0 è fortemente raccomandato. OpenPublish è costruito e supportato dal core standard di Drupal (attualmente Drupal 6.x), e contiene tutto quello che è di sostegno alle tendenze editoriali del Web 2.0, quali editoria sociale, tagging semantico e topic hub(tema centrale). Ogni componente della distribuzione, è documentato, supportato e progettato secondo l'architettura di Drupal cioè a moduli. OpenPublish dispone di un motore semantico di metadati che utilizza il web services Calais, sviluppato da Thomson Reuter, per fornire metadati contestuali. Alcune delle sue caratteristiche sono: Amministrazione OpenPublish combina potenti funzionalità con una facile amministrazione: Pannello di controllo amministrativo: Gli amministratori di OpenPublish possono gestire tutte le funzionalità del sistema mediante una semplice interfaccia grafica. Editing WYSIWYG dei contenuti. Contenuto Il CMS Drupal supporta due principali tipi di contenuti OpenPublish supporta molti contenuti, e poiché è Drupal, è sempre possibile aggiungere nuovi tipi di contenuti, mentre quelli supportati di default sono: Articoli Gli articoli sono la forma principale per rappresentare i contenuti da pubblicare Blogs E' un tipo di contenuto che include tutte le funzionalità standard per i blog, che viene customizzato con i commenti degli utenti e con la possibilità di taggare delle keyword. Contenuti multimediali I contenuti multimediali, quali video, audio o podcast, vengono forniti direttamente dalla piattaforma Drupal oppure mediante fonti esterne Events Gli events sono contenuti che contengono informazioni che permettono di mettere in risalto particolari eventi Risorse Le risorse sono contenuti quali link, file, documenti e tutto ciò che interessa ai lettori News Packages(Pacchetti di notizie) Sono un insieme di informazioni basate su un evento o topic rilevante 61

62 Pubblicazione OpenPublish aiuta a costruire una comunità con facilità, e offre caratteristiche quali: Topic Hubs Sfruttando la potenza di tagging di Calais, gli amministratori possono creare topic hub basati sui tag più popolari del sito. Commenti e Talkback I siti possono essere configurati per consentire ai lettori di un sito registrato di commentare un contenuto Contenuti multimediali Gli editori dei contenuti possono creare collegamenti ad altri argomenti. Most Popular/Commented Con OpenPublish, un sito può visualizzare facilmente i contenuti più popolari e più commentati del sito. Ottimizzazione OpenPublish ha una varietà di strumenti SEO, che permettono di ottimizzare e rendere il sito competitivo. Tra questi strumenti troviamo: SEO Friendly URL OpenPublish supporta gli URL search-friendly che vengono automaticamente derivati dal titolo di un elemento di un contenuto. Sitemap XML La generazione automatica di una sitemap in XML migliora la capacità dei crawler dei motori di ricerca di indicizzare i contenuti del sito. Ricerca Utilizzando le normali funzionalità di ricerca di Drupal, i lettori sono in grado di individuare il contenuto di un sito che utilizza un testo basato su keyword. Supporto per keywords e Meta Tag Gli amministratori del sito possono suggerire le parole chiave e descrizioni tramite meta tag per i contenuti del sito. Promozione OpenPublish supporta l'inserimento di contenuti quali pubblicità e social bookmarking che vengono pubblicati al momento dell'inserimento. Aspetto dei contenuti Gli amministratori del sito possono dare maggiore risalto ad un contenuto sulla home page, come ad esempio il carrello per la fatturazione in un sito di e-commerce posto in cima alle pagine del nogozio. Supporto per gli annunci online e contenuti per la monetizzazione OpenPublish supporta internamente contenuti pubblicitari e permette l'integrazione con server di annunci. Social Bookmarking e Inoltro 62

63 Utilizzando la funzionalità AddThis, i lettori possono condividere i contenuti sui più popolari siti di social bookmarking, come Digg, del.icio.us o Facebook. Feed RSS OpenPublish supporta la generazione di feed RSS per i contenuti. I lettori possono iscriversi a diverse categorie od a una singola categoria di feed RSS. Semantic Web Grazie ad Open Calais, il collegamento semantico dei contenuti nel sito è possibile tramite pochi passi. Tagging automatico dei contenuti (con Calais) Quando un contenuto viene salvato, viene presentato al servizio OpenCalais, il quale suggerisce un insieme di tag in base ad un punteggio di pertinenza fissato nelle impostazioni del modulo (Calais per Drupal) che utilizza il servizio di OpenClais, l autore del contenuto potrà applicare alcuni tag o tutti i tag dall insieme proposto. Calais non solo consente agli editori di taggare i contenuti attuali, ma permette anche di taggare interi database di contenuti archiviati sul sito. Geotagging e mappe Con l'azione del tagging automatico dei contenuti, verranno proposti dei metadati detti geotag. Questi tag permettono di legare le coordinate, o luoghi ai vocaboli trovati nei contenuti, e questi tag possono essere visualizzati tramite l'api di Google Map su mappe. Topic Hubs Sfruttando la potenza di Calais, gli amministratori possono creare topic hub basati sui tag più popolari del sito. Suggerimento contenuti con More Like This More Like This è un modulo che permette ad un editore di creare suggerimenti automatici ad altri contenuti di interesse per il lettore. Utilizzando i tag creati semanticamente da Calais, More Like This genererà automaticamente un elenco di contenuti correlati in base allo stesso tag. Inoltre More Like This comprende anche l'integrazione con Flickr, Google Video e Yahoo! BOSS per visualizzare il contenuto da un sito esterno. OpenPublish fa uso di servizi web di terze parti, disponibili liberamente. Questi servizi richiedono delle API key. Le API key che sono necessarie sono: Calais - Yahoo! BOSS - Flickr API - Google Maps - 63

64 3.7 Una raccolta di piattaforme open-source La pagina web all indirizzo contiene informazioni su strumenti RDF e OWL usati e a cui si fa riferimento nella home page dei working group del W3C inerenti a RDF 18 e ad OWL 19. E possibile avere informazioni su una ampia gamma di tool di sviluppo nell ambito del semantic web: Ci sono altre pagine che raccolgono informazioni sui tool, la cui maggior parte coincide con quelli indicati nella pagina web precedente, ma presentano tuttavia una differente granularità o enfasi. Alcune di queste sono: Sweet Tools, di Michael K. Bergman: elenco di tool della Freie Universität Berlin, di Chris Bizer e Daniel Westphal: elenco completo di strumenti e sistemi SW, di SemanticWeb.gr Wiki: lista di tool e risorse utili per il multimedia semantic, della W3C Multimedia Semantics Incubator Group:

65 lista di Description Logic reasoner, alcuni dei quail con supporto OWL, di Uli Sattler: OWL homepage della University of Manchester: RDFa parsers, services, plugins presso e RDFa publishing e editing tools presso listati dal RDFa Wiki Un progetto interessante: Origo - social client I profili personali all interno di una piattaforma di social network sono fortemente collegati tra di loro, ma non sono collegati ad altre reti. Tecnologie semantiche come l ontologia FOAF può aiutare a far cooperare questi dati. Ciò può essere ottenuto, in primo luogo, descrivendo le persone in maniera comprensibile dalle macchine e semantica, e in secondo luogo, collegando i profili con foaf:knows per esprimere le relazioni tra i profili. Inoltre, l ontologia RELATIONSHIP è costruita sulla base di FOAF ed è in grado di descrivere i diversi tipi di rapporti che possono esserci tra due persone descritte da opportuni profili. Tuttavia, poiché i profili FOAF sono solitamente distribuiti, abbiamo bisogno di un modo standard per accedervi. Il modo migliore per soddisfare tali requisiti è chiamato Linked Data e fa uso di URI applicate all entità foaf:person. Al fine di unire i profili esterni di una stessa persona ad un solo profilo FOAF con una sola URI, utilizziamo la proprietà owl:sameas. I dati RDF possono spesso essere acquisiti mediante la costruzione di wrapper che traducono i dati personali di reti sociali in RDF, poiché essi normalmente forniscono interfacce programmabili (ad esempio le API RESTful). Origo 20 è un approccio che implementa queste idee in termini di un applicazione Web client - server. Origo presenta la seguente architettura: E possibile visitare per una demo completa delle funzionalità di Origo

66 Dopo aver inserito demo sia nel campo login che nel campo password per l accesso al sistema, viene visualizzata la seguente pagina: Proviamo ora a modificare le relazioni del profilo di John Doe della demo, aggiungendo una relazione tra John Doe ed un altra persona. Le relazioni esistenti risultano essere le seguenti: A questo punto, facciamo click sul bottone Editor, poi sul bottone Relationships, e infine sul bottone Add relationship inserendo quindi una URI di prova (che identifica il profilo di una persona) e impostando la relazione su childof: 66

67 Facciamo click su Save e torniamo al pannello di browser delle relazioni di John Doe: Come possiamo notare, la nuova relazione inserita, risulta visibile al sistema e appare correttamente nel browser delle relazioni. In ultimo, se proviamo ad applicare un filtro child of alle relazioni di John Doe mediante la barra presente sulla sinistra della pagina, otteniamo il seguente risultato: Il progetto Origo è un progetto open source, il cui codice sorgente può essere scaricato presso Origo rappresenta un ottimo punto di partenza per l adozione di approcci semantici nelle piattaforme di social network future. 67

68 4. Semantic Desktop 4.1 Il Social Semantic Desktop Internet, la posta elettronica e il web hanno rivoluzionato il modo in cui collaboriamo e comunichiamo; il loro uso di massa è uno dei maggiori successi tecnologici del XX secolo. Ora affrontiamo un problema qualitativamente differente, il sovraccarico delle informazioni che necessita di un supporto più intelligente, ossia mescolare dati personali e di gruppo, e simultaneamente salvaguardare la privacy e la fiducia in essi. In altre parole, l attuale infrastruttura di computazione non supporta del tutto gli ingegneri della conoscenza: per esempio, inviare un singolo file ad una mailing list aumenta lo sforzo del processo cognitivo del filtrare, archiviare ed organizzare questo file e calcolare il numero di destinatari. Ciò porta alle persone a dedicare sempre più tempo a filtrare ed archiviare le informazioni e le loro attività organizzative. Le infrastrutture collaborative centralizzate (come Sharepoint) forniscono sicuramente una estensione, ma l attuale infrastruttura applicativa non permette di interconnettere dati separati (come l autore di un documento e la sua corrispondente voce nella nostra rubrica), e meno ancora di condividerlo con altre persone. Oggi sono emerse nuove tecnologie le quali potrebbero avere un impatto enorme sul modo in cui le persone interagiscono e collaborano: Il Web Semantico, Il Peer- To-Peer Computing, e le Reti Sociali Online (Online Social Network). In questo documento mostriamo una visione di come le diverse aree tecnologiche si stanno evolvendo per produrre il cosiddetto Social Semantic Desktop, che permette alle persone e le community di collaborare direttamente con i loro colleghi e contemporaneamente ridurre in modo drastico il tempo speso da questi ultimi per filtrare ed archiviare le loro informazioni. Nella nostra vita di tutti i giorni, molti di noi ricevono centinaia di , spesso con documenti allegati da progetti differenti e dalle comunità alle quali partecipiamo. Questi documenti sono sempre creati all interno di un contesto nel computer dell autore ma sono inviati come se non lo avessero. Questi arrivano senza metadati fidati che permetterebbero un elaborazione automatica per riempire la macchina del ricevente. Tale processo ha i seguenti punti deboli: Oltre alla struttura a cartelle, l attuale desktop e file system windows-style non dà alcun aiuto ad organizzare le informazioni presenti nei documenti. Questo significa che il ricevente deve barcamenarsi con un supporto insufficiente degli attuali sistemi destkop per organizzare le informazioni potremmo inserire i documenti nella cartella , oppure nella cartella Proposte, oppure semantic web research, ma non tutt e tre. Dato che i metadati del documento sono stati persi quando l è stata inviata, ogni destinatario deve reinventare e ricreare i suoi propri metadati, ricategorizzare il documento e creare le possibili connessioni con altre informazioni. Anche se i metadati fossero integrati nell , l autore e il destinatario del documento spesso hanno diversi schemi di classificazione, anche personalizzati, e non c è alcun modo di renderli open - source e allinearli con gli altri. E chiaramente possibile condividere e replicare i documenti così come i metadati attraverso connessioni P2P dirette. Dovrebbe essere possibile derivare metadati in maniera distribuita, 68

69 attraverso un consenso implicito o esplicito. Tutti i membri della comunità potrebbero quindi accedere alle connessioni e le relazioni con altri pezzi di informazione in questo senso, viene costruita una sapienza distribuita attorno ai work topic, ai documenti, e le informazioni contenute in questi documenti. L informazione può allora essere vista in molteplici dimensioni (anno, tipo di documento, contenuto del documento, etc.). Inoltre, la comunità stessa può essere interrogata, in maniera simile alle attuali social network: i membri delle comunità possono chiedere a coloro a cui sono connessi e possono condividere informazioni con gli amici degli amici o possono chiedere le informazioni - così le relazioni di fiducia esistenti tra gli individui possono essere usate per dare più fiducia nei metadati. Componenti del Social Semantic Desktop La figura mostra l architettura di livello più alto e le connessioni tra le social network e l infrastruttura P2P che connette queste social network ai desktop degli individui. La semantica tradizionale, la rappresentazione del sapere e la reasoning research interagiscono con altre aree di ricerca, che insieme possono avere lo stesso impatto esplosivo del Web: 1. Il Semantic Web Effort si occupa degli standard e delle tecnologie per la definizione e lo scambio di metadati e ontologie. Le proposte di standard disponibili si occupano di definire la sintassi (RDF) e la semantica dei metadati basati su ontologie (OWL). Il trasferimento dati, la privacy e i problemi di sicurezza sono ancora oggetto di ricerca e sviluppo. 2. Il Software sociale mappa le connessioni sociali tra diverse persone nell infrastruttura tecnica; ad esempio, i Social Network online rendono le relazioni tra individui esplicite e permettono di scoprire relazioni prima sconosciute. I siti di social networking più recenti aiutano anche a formare nuove comunità virtuali su argomenti di interesse e forniscono metodi per cambiare o far evolvere queste comunità. 69

70 3. Il P2P e il Grid computing si occupano della tecnologia per mettere in comunicazione grandi comunità senza infrastrutture centralizzate, per la condivisione di dati e potenza di calcolo. Le reti P2P hanno benefici tecnici in termini di scalabilità e tolleranza ai guasti, ma il principale vantaggio rispetto ai siti centralizzati è di natura politica: permettono di creare comunità senza nodi centrali di controllo. La recente ricerca ha stabilito dei metodi scalabili per effettuare query, scambiare e replicare dati in reti P2P. Possiamo semplificare la figura affermando che la prossima generazione di applicazioni basate su Internet supporteranno la collaborazione e lo scambio di informazioni in reti P2P, connettendo le reti sociali decentralizzate, e permettendo lo creazione di metadati condivisi e l evoluzione attraverso processi basati su consenso. 4 Tecnologie Desktop e il Semantic Web Il semantic Web offre l infrastruttura base per la rappresentazione dei metadati. I computer moderni (anche i laptop) hanno dischi pieni di files; e i documenti (e anche le informazioni in e documenti) creati o scaricati dal Web aumentano il numero di file disponibile ogni giorno. Le informazioni possono essere trattate come risorse del Semantic Web, il ché abilita l uso delle tecnologie semantiche per organizzare i dati del desktop. Similarmente a quanto avviene con le risorse web, i file, le e altri oggetti possono essere identificati usando un Uniform Resource Identifier (URI). I metadati di questi oggetti desktop vengono rappresentati da grafi RDF, che possono essere usati per la navigazione o la ricerca con tecniche di navigazione dei metadati e possono essere ancora condivisi con altri. Questo permette una co-evoluzione con la tecnologia desktop corrente, permettendo lo sviluppo di metodi per creare metadati e per collegare le informazioni su un desktop computer locale (ad es. l autore di un documento di testo con un entry nel database degli indirizzi). Approcci recenti mostrano che gli sforzi vanno in questa direzione. Tuttavia, questi approcci si concentrano sui livelli più alti di un sistema desktop come l interfaccia utente, o realizzando componenti add-on per gestire metadati. Per esempio, il file system nei più diffusi sistemi operativi non è capace di lavorare con grandi quantità di metadati eterogenei a causa di problemi con la grandezza minima dei file. Altri approcci recenti fanno sperare che i sistemi operativi attuali possano evolversi per supportare i metadati a tutti i livelli, dalla memorizzazione su disco fino all interfaccia grafica. Sistemi P2P Sin dal loro inizio con applicazioni di file-sharing come Gnutella, i sistemi P2P hanno conquistato un enorme attenzione nella ricerca, specialmente tra le comunità dei database. Alcuni hanno proposto di aggiungere la gestione dei metadati alle reti P2P, e quest idea è stata effettivamente utilizzata per realizzare reti come Edutella, RDFPeers, P-Grid e altri progetti. Le idee iniziali di un infrastruttura collaborativa basata su tecnologia P2P è stata realizzata in Groove che permette a piccoli gruppi di condividere calendari, discussioni, files senza un server centrale e vedere chi è online e offline e di inviare messaggi istantanei (purtroppo replica i contenuti ad ogni membro del gruppo, pertanto non scala bene). 70

71 Online social networking Un campo relativamente nuovo è il social networking, che ha recentemente ottenuto molta attenzione da utenti internet e società d investimento. Siti come Facebook, LinkedIn e Orkut sono capaci di attirare milioni di utenti e garantire l infrastruttura per a) creare relazioni esplicite, in modo che le persone possono esplorare la loro rete personale, e b) creare nuove connessioni e stabilire nuove relazioni. Le persone usano i social network per uso personale e professionale, per le comunicazioni, o per sviluppare nuovi business, incontri virtuali e appuntamenti. Possono essere create anche nuove comunità. Gli individui sono altamente motivati ad iscriversi (ad esempio, gli inviti ad Orkut sono stati messi all asta su ebay), ad aumentare la loro visibilità all interno di una rete, a portare quanta più gente è possibile ad accedere alla propria rete, spinti dalla vanità. Mentre il successo dei siti sociali fornisce una motivazione per far iscrivere più utenti, le possibilità d uso corrente sono piuttosto limitate. La semplice disponibilità di un informazione connessa in modo sociale, tuttavia, apre nuove possibilità di collaborazione, come il link routing : il routing di informazioni basate su connessioni sociali tra le persone. Per investigare su questo tipo di informazioni, la relazione è stata resa esplicita e accessibile; approcci come il progetto FOAF ( friend of a friend ) forniscono questa informazione in un modo accessibile alle macchine. Il principale svantaggio delle social network attuali è la loro chiusura. Mantenere un sito di social networking è un investimento importante; il principale capitale dei siti sociali deriva dai profili utente e le loro relazioni queste informazioni possono essere usate ad esempio per pubblicità settorializzata. Per questo motivo, i siti sono poco propensi a condividere queste informazioni apertamente o anche tra di loro, cosa che ostacolerà seriamente lo sviluppo di un infrastruttura collaborativa di prossima generazione. La soluzione generale ovvia è di costruire una Social Network in cima di un sistema P2P, con i seguenti vantaggi: - Le nuove applicazioni possono essere facilmente aggiunte alla rete - I profili e le informazioni degli utenti restano di proprietà degli utenti individuali più reti sociali possono estrapolarli, e l utente è protetto contro la perdita di dati in caso di chiusura di un sito sociale. - Non è necessario nessun investimento in un sito centralizzato, dato che il costo per mantenere la rete complessiva è condiviso tra tutti gli utenti. Pertanto è desiderabile a) basare una social network su una tecnologia samentica, b) scambiare e rendere disponibile l informazione sociale a infrastrutture P2P per risolvere il problema del controllo e della proprietà. 4 Fasi di sviluppo per il Social Semantic Desktop Nella prima fase, il Semantic Web, il P2P e le tecnologie di Social Networking vengono sviluppate, studiate e parzialmente rese disponibili. In una seconda fase, possiamo vedere una convergenza: la tecnologia semantica viene resa disponibile al Desktop, risultando in un Semantic Desktop. Similarmente, la tecnologia semantica è incorporata a reti P2P e Network sociali. Una volta raggiunta una tecnologia affidabile per la convergenza, sarà affrontata la prossima fase: la 71

72 combinazione di tre campi Semantic desktop, Semantic P2P e Social Networking guidato dalle ontologie in un Networked Semantic Desktop. 72

73 4.2 Stato dell arte: Nepomuk Nepomuk vuole essere una soluzione completa metodi, strutture dati e un insieme di strumenti per estendere il personal computer in un ambiente collaborativo, che migliora l ambito della collaborazione online e la gestione dei dati personali, e aumenta l intelletto delle persone fornendo e organizzando le informazioni create dagli sforzi di un singolo o di un gruppo. La soluzione è chiamata Social Semantic Desktop (abbreviato SSD). Questo workspace personale migliorato (il Desktop) sarà Semantico visto che darà all informazione un significato preciso, rendendolo processabile dal computer. Esso sarà Sociale se supporterà l interconnessione e lo scambio con altri desktop e i loro utenti. Per creare un desktop semantico, gli obiettivi di NEPOMUK sono di sviluppare metodi e strutture dati necessari a: Annotare e collegare informazioni arbitrarie sul desktop locale, tra differenti tipi di supporto, formati di file, e applicazione. Le strutture dati e le tecniche del semantic web saranno applicate e adattate per raggiungere questo obiettivo. articolare e visualizzare le idee dell utente e trasformarle in informazioni semantiche. Estenderemo la facile tecnologia Wiki e la integreremo con meccanismi di annotazione integrare la creazione di contenuti e processarlo secondo il modo di strutturare il proprio lavoro da parte degli utenti. Per raggiungere l obiettivo di interconnessione con altri desktop e i loro utenti, gli NEPOMUK si propone di sviluppare strumenti per costruire relazioni sociali e lo scambio di conoscenza all interno di comunità sociali. Questi strumenti forniranno raccomandazioni riccamente semantiche, che permetteranno ai membri di una comunità non solo di scambiare documenti e altri pezzi di informazione isolati, ma tutta l informazione rilevante circa il loro contesto così come la comunità partecipante. Tecniche per la ricerca distribuita e la memorizzazione dell informazione, basata su estensioni scalabili di hash table distribuite, che permettono una ricerca efficiente sulle risorse di informazioni distribuite. L idea di un Social Semantic Desktop raggiungerà il suo pieno potenziale se sarà adottato da una grande e attiva comunità di persone. La costruzione di questa comunità è un obiettivo centrale del progetto che sarà portato avanti già dall inizio. I principali risultati sono: un architettura e un middleware implementato, pubblicato come codice open-source e dove possibile sottomesso alla standardizzazione; un attiva comunità di utenti anche scientifici che adottano i risultati di NEPOMUK e continuano ad estenderli per soddisfare i loro bisogni; un insieme di soluzioni utilizzate anche presso aziende come SAP, nella Repubblica Popolare Cinese, o all istituto Pasteur. 73

74 Architettura L architettura interna di un progetto come Nepomuk è complessa e qui ci riserveremo di omettere i dettagli implementativi per offrire una visione d insieme il più possibile chiara. I Semantic Desktop Services riassumono i servizi necessari per memorizzare e recuperare i metadati semantici dal desktop locale, così come l analisi, l integrazione e il ragionamento su questi dati. I servizi nel layer Semantic Desktop Services sono servizi generici e dovrebbero essere comuni anche a altre implementazioni di un Social Semantic Desktop. I Social Services focalizzano l attenzione sulle funzionalità che involvono più di un sistema desktop, come la condivisione o lo scambio di risorse e la messaggistica sulla rete. In alcuni casi d uso sono necessari altri servizi per fornire le funzionalità per lo specifico caso. Questi servizi sono sintetizzati nel livello opzionale Extension Services. Al top layer abbiamo le Enduser Applications che permettono all utente di interagire con i servizi del Social Semantic Destkop. L implementazione attuale di Nepomuk su KDE si focalizza sui dati locali e sui PIM (Personal Information Management), oltre che sull integrazione delle applicazioni a un livello semantico e, quindi, non implementano i servizi sociali. Entriamo più nel dettaglio per il layer Social Desktop Services e vediamo come è fatto internamente. 74

75 I Core Services forniscono le funzionalità per la memorizzazione e il recupero di metadati RDF e per la comunicazione e la coordinazione tra i servizi. La parte centrale dei core services è il Local Storage. Il local storage memorizza i metadati degli item locali. Per risorse desktop questo può essere pienamente catturato come metadati RDF come ad esempio bookmarks, eventi di calendario, contatti; Per altre informazioni che sono rappresentate come file (testi, brani MP3, foto, etc) solo i metadati presenti sul supporto locale e le referenze al file memorizzato. Il Local Storage service è anche responsabile di memorizzare il creatore, il tempo di creazione, l ultima modifica. Questi metadati vengono rappresentati usando l Annotation Model. In più, il servizio mantiene un indice per permettere interrogazioni efficienti. Il servizio Local Search fornisce un interfaccia di ricerca supportando query sui metadati (come SPARQL). Questo servizio è anche responsabile per l ordinamento (ranking). Il servizio Data Wrapper estrae i dati da informazioni strutturate come gli header delle , gli eventi del calendario, o i contatti. Inoltre il servizio controlla che il contenuto delle informazioni come il body delle , la descrizione di un evento del calendario, o un file di testo, sia aggiunto all indice. Questo servizio è necessario perché non tutte le applicazioni utente supportano direttamente il Semantic Desktop; idealmente le applicazioni accederebbero solo al Local Storage e quindi il Data Wrapper non sarebbe necessario. Il servizio PIM è un layer che astrae il modello delle informazioni personali. In un SSD, i servizi devono manipolare frequentemente le informazioni e aggiungere annotazioni che seguono il modello di informazioni personali dell utente. I Servizi PIM fornisce metodi per istanziare e 75

76 mantenere concetti di utenti PIM e memorizza questi dati nel Local Storage. In più, gestisce metadati aggiuntivi come la data di creazione, l ultima modifica e il creatore di un documento. Il Notification Service permette la comunicazione tra i servizi del Semantic Desktop e permette ai servizi di essere notificati quando i dati cambiano nel Local Storage. Per questo motivo, il Notification Service è strettamente legato al Local Storage. Gli Helper Services sono opzionali, tuttavia forniscono delle funzionalità utili per i programmatori. Il servizio Information Integration assicura che gli stessi identificatori sono usati per la stessa cosa del mondo reale in tutto il sistema e quindi aiuta a mantenere i corretti interlink dei metadati. Il servizio Local Data Alignment aiuta ad identificare concetti comuni in ontologie diverse. Il Reasoning Service fornisce funzionalità di reasoning ai servizi del SSD. Il servizio può sia ragionare sui dati del Local Storage, oppure sul grafo RDF inviato al servizio stesso. Rappresentazione del modello utente Per descrivere le risorse destkop in maniera familiare all utente, il modello deve essere esplicitamente rappresentato nel SSD. Questo modello è quindi usato come il vocabolario per rappresentare i metadati sulle risorse desktop. Vediamo 3 modelli: Annotation Model (AM): L annotation model è un modello generale per annotare le risorse desktop. Il vocabolario fornisce proprietà come creator, created, lastmodified, rating, o hastag. Il vocabolario è generico e può essere applicato a tutte le risorse. Information Element Model (IEM): L Information Element Model fornisce un vocabolario per descrivere le risorse desktop comunemente trovate sui desktop degli utenti. Queste risorse possono essere divise in sei categorie: Files per annotare entità del file system, come file e cartelle Messages per annotare il traffico o i messaggi istantanei Contacts per rappresentare informazioni di contatto di una persona o di un organizzazione Calendar Events per rappresentare eventi temporanei come appuntamenti o cose da fare Audio per annotare brani musicali Images per annotare immagini e foto Personal Information Model (PIM): Il Personal Information Model permette agli utenti di rappresentare il proprio modello mentale di maniera strutturata. I concetti definiti nel PIM sono specifici dell utente e aiutano l utente ad organizzare le sue risorse desktop. Per esempio, un utente annota l hotel e la prenotazione aerea e le foto del viaggio con il concetto auto-generato Incontro di Giugno a Roma. In NEPOMUK questi tre modelli sono realizzati come ontologie: L Annotation Model è rappresentato dalla NEPOMUK Annotation Ontology (NAO). L Information Element Model è implementato dall insieme NEPOMUK Information Element Ontologies (NIE). Il Personal Information Model dell utente è modellato dalla Personal Information Model Ontology (PIMO). 76

77 Ontologie di riferimento La rappresentazione della conoscenza è un elemento centrale in un social semantic desktop. Di seguito presentiamo la struttura a livelli del framework di ontologie di Nepomuk. Come si evince dalla figura vi sono 3 livelli di astrazione, dove le ontologie ai livelli più alti forniscono un livello di astrazione tale da risultare più stabili di quelle di livello inferiore quindi meno soggette a cambiamento e manutenzione. Il livello più alto, detto di rappresentazione, consiste di linguaggi per la definizione di ontologie (anch'essi delle ontologie vere e proprie). Queste ontologie quindi hanno lo scopo di servire come strumento per la descrizione di dizionari per rappresentare la conoscenza (come RDF ed OWL). Le ontologie di "alto livello" sono ontologie indipendenti da un dominio specifico di conoscenza; forniscono un meccanismo mediante il quale diversi sistemi possono utilizzare e condividere basi di conoscenza. Le ontologie di "basso livello" consistono di un gruppo di ontologie "personali", definibili dall utente. Livello di rappresentazione E' il livello di astrazione più alto, fornisce strumenti per la definizione di classi astratte di alto 77

Il World Wide Web. Il Web. La nascita del Web. Le idee di base del Web

Il World Wide Web. Il Web. La nascita del Web. Le idee di base del Web Il World Wide Web Il Web Claudio Fornaro ver. 1.3 1 Il World Wide Web (ragnatela di estensione mondiale) o WWW o Web è un sistema di documenti ipertestuali collegati tra loro attraverso Internet Attraverso

Dettagli

MediaWiki. Giuseppe Frisoni

MediaWiki. Giuseppe Frisoni MediaWiki Giuseppe Frisoni MediaWiki: costruire insieme 1/2 L'enorme successo di Wikipedia, la nota enciclopedia online, è sotto gli occhi di tutti; cosa meno nota, invece, è la piattaforma con cui è progettata.

Dettagli

Macchine per l elaborazione dell informazion e. Sistemi di Elaborazione delle Informazioni. Informatica II

Macchine per l elaborazione dell informazion e. Sistemi di Elaborazione delle Informazioni. Informatica II Macchine per l elaborazione dell informazion e Sistemi di Elaborazione delle Informazioni Informatica II Ing. Mauro Iacono Seconda Università degli Studi di Napoli Facoltà di Studi Politici e per l Alta

Dettagli

Enrico Fagnoni BOTK IN A NUTSHELL

Enrico Fagnoni <e.fagnoni@e-artspace.com> BOTK IN A NUTSHELL Enrico Fagnoni BOTK IN A NUTSHELL 20/01/2011 1 Business Ontology ToolKit Business Ontology Toolkit (BOTK) è un insieme estensibile di strumenti per realizzare applicazioni basate

Dettagli

SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB

SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB Relatore Chiarissimo

Dettagli

PIÙ IN DETTAGLIO Come si crea una scuola virtuale? Come viene associato un insegnate alla scuola? Cos è il Codice scuola?

PIÙ IN DETTAGLIO Come si crea una scuola virtuale? Come viene associato un insegnate alla scuola? Cos è il Codice scuola? PIÙ IN DETTAGLIO Come si crea una scuola virtuale? Quando si compila il modulo di registrazione, selezionare l opzione scuola.una volta effettuata la registrazione, si può accedere a un ambiente molto

Dettagli

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione Evoluzione del Web Direzioni di sviluppo del web a) Multimedialità b) Dinamicità delle pagine e interattività c) Accessibilità d) Separazione del contenuto dalla forma di visualizzazione e) Web semantico

Dettagli

Sistemi Informativi e WWW

Sistemi Informativi e WWW Premesse Sistemi Informativi e WWW WWW: introduce un nuovo paradigma di diffusione (per i fornitori) e acquisizione (per gli utilizzatori) delle informazioni, con facilità d uso, flessibilità ed economicità

Dettagli

Relazione Pinakes3 Analisi modello di business (BOZZA) di Valeriano Sandrucci 08/09/07

Relazione Pinakes3 Analisi modello di business (BOZZA) di Valeriano Sandrucci 08/09/07 Relazione Pinakes3 Analisi modello di business (BOZZA) di Valeriano Sandrucci 08/09/07 1. Introduzione...3 1.2. Application vs Tool... 3 2. Componenti logiche di un modello... 6 3. Ontologie e Semantic

Dettagli

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni)

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni) Progettazione di Sistemi Interattivi Struttura e supporti all implementazione di applicazioni in rete (cenni) Docente: Daniela Fogli Gli strati e la rete Stratificazione da un altro punto di vista: i calcolatori

Dettagli

Breve descrizione del prodotto

Breve descrizione del prodotto Breve descrizione del prodotto 1. Il software AquaBrowser Library...2 1.1 Le funzioni di Search Discover Refine...3 1.2 Search: la funzione di ricerca e di presentazione dei risultati...3 1.2.1 La configurazione

Dettagli

principalmente un programma per la gestione di bibliografie: dalla raccolta dei riferimenti alla formattazione delle citazioni

principalmente un programma per la gestione di bibliografie: dalla raccolta dei riferimenti alla formattazione delle citazioni COS È? principalmente un programma per la gestione di bibliografie: dalla raccolta dei riferimenti alla formattazione delle citazioni un programma gratuito: la versione base offre 300 MB di spazio disco

Dettagli

ADA. E learning e open source

ADA. E learning e open source 1 ADA. E learning e open source ADA 1.7.1 Come cresce un Ambiente Digitale per l'apprendimento open source Maurizio Graffio Mazzoneschi 2 Cos'è il software libero Libertà 0, o libertà fondamentale: la

Dettagli

PROGETTI DISPONIBILI IL CORSO DI PROGETTO DI RETI E SISTEMI INFORMATICI

PROGETTI DISPONIBILI IL CORSO DI PROGETTO DI RETI E SISTEMI INFORMATICI PROGETTI DISPONIBILI IL CORSO DI PROGETTO DI RETI E SISTEMI INFORMATICI 1 Web Link Monitor... 2 2 Database Browser... 4 3 Network Monitor... 5 4 Ghost Site... 7 5 Copy Search... 9 6 Remote Audio Video

Dettagli

La ricerca delle informazioni nei siti web di Ateneo con Google Search Appliance Progetto, implementazione e sviluppi

La ricerca delle informazioni nei siti web di Ateneo con Google Search Appliance Progetto, implementazione e sviluppi La ricerca delle informazioni nei siti web di Ateneo con Google Search Appliance Progetto, implementazione e sviluppi Il progetto del sistema di ricerca delle informazioni L'esigenza del sistema di ricerca

Dettagli

Pubblicazione di Linked Data in e-commerce: Progettazione e Sperimentazione (Riassunto)

Pubblicazione di Linked Data in e-commerce: Progettazione e Sperimentazione (Riassunto) Universitá degli Studi di Milano Bicocca Dipartimento di Informatica, Sistemistica e Comunicazione Corso di Laurea in Informatica Pubblicazione di Linked Data in e-commerce: Progettazione e Sperimentazione

Dettagli

Guida all uso di Innovatori PA

Guida all uso di Innovatori PA Guida all uso di Innovatori PA Innovatori PA La rete per l innovazione nella Pubblica Amministrazione Italiana Sommario Sommario... 2 Cos è una comunità di pratica... 3 Creazione della comunità... 3 Gestione

Dettagli

Le nuove tecnologie dell informazione: verso il Social Semantic Web. Roberto Boselli Alessandria 04-05-2007

Le nuove tecnologie dell informazione: verso il Social Semantic Web. Roberto Boselli Alessandria 04-05-2007 Le nuove tecnologie dell informazione: verso il Social Semantic Web Roberto Boselli Alessandria 04-05-2007 Outline Web 2.0 e Semantic Web Social Software Semantica e Ontologie SEDIMENTO 2 Obiettivi Aggiungere

Dettagli

Primi passi con Jamio Composer. Dall idea applicativa alla soluzione in pochi minuti

Primi passi con Jamio Composer. Dall idea applicativa alla soluzione in pochi minuti Primi passi con Jamio Composer Dall idea applicativa alla soluzione in pochi minuti Comporre una nuova soluzione applicativa Jamio Composer è l ambiente di modellazione della piattaforma Jamio. Le soluzioni

Dettagli

Piattaforma e-learning Moodle. Manuale ad uso dello studente. Vers. 1 Luglio 09

Piattaforma e-learning Moodle. Manuale ad uso dello studente. Vers. 1 Luglio 09 Piattaforma e-learning Moodle Manuale ad uso dello studente Vers. 1 Luglio 09 Sommario 1. Introduzione...2 1.1 L ambiente...2 1.2 Requisiti di sistema...4 2. Come accedere alla piattaforma...4 2.1 Cosa

Dettagli

SWIM v2 Design Document

SWIM v2 Design Document PROGETTO DI INGEGNERIA DEL SOFTWARE 2 SWIM v2 DD Design Document Matteo Danelli Daniel Cantoni 22 Dicembre 2012 1 Indice Progettazione concettuale Modello ER Entità e relazioni nel dettaglio User Feedback

Dettagli

Screenshot dimostrativi degli strumenti presentati alle Roundtables Microsoft

Screenshot dimostrativi degli strumenti presentati alle Roundtables Microsoft Le informazioni contenute in questo documento sono di proprietà di MESA s.r.l. e del destinatario del documento. Tali informazioni sono strettamente legate ai commenti orali che le hanno accompagnate,

Dettagli

Breve introduzione allo sviluppo WEB. a cura di Ciro Attanasio - ciro.attanasio@email.cz

Breve introduzione allo sviluppo WEB. a cura di Ciro Attanasio - ciro.attanasio@email.cz Breve introduzione allo sviluppo WEB a cura di Ciro Attanasio - ciro.attanasio@email.cz Partiamo (1 di 1) Come funziona il WEB e quali tecnologie lo compongono Cos è un Client (1 di 2) Un client, in informatica,

Dettagli

ALL. C AFFIDAMENTO AI SENSI DELL ART. 125, COMMI 10 E 11, DEL D.LGS. 163/2006 E S.M.I. DELLA PROGETTAZIONE E REALIZZAZIONE DI UN

ALL. C AFFIDAMENTO AI SENSI DELL ART. 125, COMMI 10 E 11, DEL D.LGS. 163/2006 E S.M.I. DELLA PROGETTAZIONE E REALIZZAZIONE DI UN ALL. C AFFIDAMENTO AI SENSI DELL ART. 125, COMMI 10 E 11, DEL D.LGS. 163/2006 E S.M.I. DELLA PROGETTAZIONE E REALIZZAZIONE DI UN PORTALE WEB NELL AMBITO DELLA MISURA 2.6. DEL POI ENERGIA FESR 2007 2013

Dettagli

Content Management Systems

Content Management Systems Content Management Systems L o Guido Porruvecchio Tecnologia e Applicazioni della Rete Internet Definizione Un Content Management System (CMS) è letteralmente un sistema per la gestione dei contenuti Definisce

Dettagli

Albano Squizzato ingsquizzato@libero.it. Moodle-manuale. manuale per il docente. Generazione Web 2013-14 - G9

Albano Squizzato ingsquizzato@libero.it. Moodle-manuale. manuale per il docente. Generazione Web 2013-14 - G9 Albano Squizzato ingsquizzato@libero.it Moodle-manuale manuale per il docente Generazione Web 2013-14 - G9 Come utilizzare Moodle La versatilità di Moodle consente la totale personalizzazione dell interfaccia,

Dettagli

Università della Svizzera italiana

Università della Svizzera italiana Università della Svizzera italiana Il sito dell Università della Svizzera italiana e l accessibilità Vs.1.0 11 / 12 / 2007 TEC-LAB WEB-SERVICE 1. INTRODUZIONE Avere accesso al web, per un utente disabile,

Dettagli

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

Flavio De Paoli depaoli@disco.unimib.it

Flavio De Paoli depaoli@disco.unimib.it Flavio De Paoli depaoli@disco.unimib.it 1 Il web come architettura di riferimento Architettura di una applicazione web Tecnologie lato server: Script (PHP, Pyton, Perl), Servlet/JSP, ASP Tecnologie lato

Dettagli

Strumenti e tecnologie per il web Gianluca Merlo 28/10/2014. https://www.flickr.com/photos/kalexanderson/52773348

Strumenti e tecnologie per il web Gianluca Merlo 28/10/2014. https://www.flickr.com/photos/kalexanderson/52773348 Strumenti e tecnologie per il web Gianluca Merlo 28/10/2014 https://www.flickr.com/photos/kalexanderson/52773348 https://www.flickr.com/photos/81171474@n06/7437936 Internet vs Web. Quale differenza? https://www.flickr.com/photos/pocphotography/12462536895/sizes/l

Dettagli

Basi di dati. Introduzione. Una breve introduzione sulla suite di OpenOffice.org e la gestione dei database

Basi di dati. Introduzione. Una breve introduzione sulla suite di OpenOffice.org e la gestione dei database Basi di dati Introduzione Una breve introduzione sulla suite di OpenOffice.org e la gestione dei database OpenOffice.org (www.openoffice.org) è un potente software opensource che ha, quale scopo primario,

Dettagli

L istruzione degli utenti e la promozione dei servizi delle biblioteche. Blog e wiki

L istruzione degli utenti e la promozione dei servizi delle biblioteche. Blog e wiki L istruzione degli utenti e la promozione dei servizi delle biblioteche Blog e wiki Biblioteca 2.0 la biblioteca sta cambiando l impatto del Web 2.0 (Open Acess, Wikis, Google book, blogosfera, Flickr,

Dettagli

Semantica: un sistema per l indicizzazione, il retrieval semantico di learning objects e la generazione automatica di corsi didattici

Semantica: un sistema per l indicizzazione, il retrieval semantico di learning objects e la generazione automatica di corsi didattici Tesi di laurea Semantica: un sistema per l indicizzazione, il retrieval semantico di learning objects e la generazione automatica di corsi didattici Anno Accademico 2007/2008 Relatori Ch.mo prof. Angelo

Dettagli

Compilare e gestire bibliografie: i software gratuiti. a cura di Laura Perillo Sistema Bibliotecario di Ateneo Agg. ottobre 2014

Compilare e gestire bibliografie: i software gratuiti. a cura di Laura Perillo Sistema Bibliotecario di Ateneo Agg. ottobre 2014 Compilare e gestire bibliografie: i software gratuiti a cura di Laura Perillo Sistema Bibliotecario di Ateneo Agg. ottobre 2014 I software per la gestione di bibliografie Chiamati reference managers o

Dettagli

Le funzionalità principali della piattaforma

Le funzionalità principali della piattaforma Istituto di Scienza e Tecnologie dell'informazione A Faedo (ISTI) - Laboratorio di domotica Quimby: Le funzionalità principali della piattaforma Dario Russo (dario.russo@isti.cnr.it) Obiettivi del progetto

Dettagli

Su Internet, oggi, se il vostro sito Web non è dotato di funzionalità ricche o contenuti. I sistemi CMS e un introduzione a Joomla! In questo capitolo

Su Internet, oggi, se il vostro sito Web non è dotato di funzionalità ricche o contenuti. I sistemi CMS e un introduzione a Joomla! In questo capitolo 1 I sistemi CMS e un introduzione a Joomla! In questo capitolo Su Internet, oggi, se il vostro sito Web non è dotato di funzionalità ricche o contenuti aggiornati, è svantaggiato. L idea di potenziare

Dettagli

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni LA PROGETTAZIONE DI BASI DI DATI Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni La progettazione dei dati è l attività più importante Per progettare i dati al

Dettagli

Privacy Policy e utilizzo dei cookie.

Privacy Policy e utilizzo dei cookie. Privacy Policy e utilizzo dei cookie. Privacy Policy Informativa resa ai sensi dell articolo 13 del D.lgs. n.196/2003 ai visitatori del sito di Hakomagazine e fruitori dei servizi offerti dallo stesso,

Dettagli

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna Il CMS Moka Giovanni Ciardi Regione Emilia Romagna Moka è uno strumento per creare applicazioni GIS utilizzando oggetti (cartografie, temi, legende, database, funzioni) organizzati in un catalogo condiviso.

Dettagli

Open KIS- Servizi ad alta intensità di conoscenza

Open KIS- Servizi ad alta intensità di conoscenza Nell ambito del progetto Open Innovation, LIASES - Laboratorio di Informatica Applicata alle Scienze Economiche e Sociali Giorgio Rota, centro di servizi informatici dell'università di Torino che svolge

Dettagli

Progettazione di Applicazioni Web

Progettazione di Applicazioni Web 1 Argomenti della lezione Progettazione di Applicazioni Web Sviluppo delle applicazioni Processo di sviluppo Formalismi grafici di supporto diagrammi UML (cenni) Scelta dell architettura Sviluppo di applicazioni

Dettagli

WEB 2.0 PER CRESCERE. Sfruttare le potenzialità del Web 2.0 per far conoscere la Lunigiana

WEB 2.0 PER CRESCERE. Sfruttare le potenzialità del Web 2.0 per far conoscere la Lunigiana WEB 2.0 PER CRESCERE Sfruttare le potenzialità del Web 2.0 per far conoscere la Lunigiana Web 2.0 L'insieme di tutte quelle applicazioni online che permettono uno spiccato livello di interazione tra il

Dettagli

Novità di Crystal Reports XI

Novità di Crystal Reports XI Introduzione Introduzione Questa sezione offre una panoramica di dettagliata dei componenti, delle funzioni e dei vantaggi forniti dalla versione più recente di Crystal Reports. Alcuni tra i più importanti

Dettagli

Siti interattivi e dinamici. in poche pagine

Siti interattivi e dinamici. in poche pagine Siti interattivi e dinamici in poche pagine 1 Siti Web interattivi Pagine Web codificate esclusivamente per mezzo dell HTML non permettono alcun tipo di interazione con l utente, se non quella rappresentata

Dettagli

Motori di ricerca di ultima generazione: il web semantico

Motori di ricerca di ultima generazione: il web semantico Motori di ricerca di ultima generazione: il web semantico Quando parliamo di vie di comunicazione di un sistema EWS, è opportuno pensare a quale strada può essere la più rapida per il recupero dei dati

Dettagli

A seguito della consultazione di questo sito possono essere trattati dati relativi a persone identificate o identificabili.

A seguito della consultazione di questo sito possono essere trattati dati relativi a persone identificate o identificabili. Privacy Policy del sito web Technology Reply In questa pagina si descrivono le modalità di gestione del sito Technology Reply, in riferimento al trattamento dei dati personali degli utenti che lo consultano.

Dettagli

Introduzione alla creazione di mashup tramite IBM Mashup Center

Introduzione alla creazione di mashup tramite IBM Mashup Center Introduzione alla creazione di mashup tramite IBM Mashup Center ii Introduzione alla creazione di mashup tramite IBM Mashup Center Indice Capitolo 1. Esercitazione: introduzione alla creazione di mashup

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Laboratorio di Informatica Introduzione al Web WWW World Wide Web CdL Economia A.A. 2012/2013 Domenica Sileo Università degli Studi della Basilicata Introduzione al Web : WWW >> Sommario Sommario 2 n World

Dettagli

Ingegneria del Software Interattivo. - I siti web - Un breve glossario. Un breve glossario (cont.) Parte sesta: I siti web. 1.

Ingegneria del Software Interattivo. - I siti web - Un breve glossario. Un breve glossario (cont.) Parte sesta: I siti web. 1. Parte sesta: I siti web Ingegneria del Software Interattivo - I siti web - Docente: Daniela Fogli 1. I siti web Nel Contesto Riferimenti: Brajnik, Umano G., Toppano, E. Creare siti web multimediali, Pearson,

Dettagli

SISTEMI DOCUMENTALI DISTRIBUITI PER LA CREAZIONE DI COMUNITÀ COOPERANTI

SISTEMI DOCUMENTALI DISTRIBUITI PER LA CREAZIONE DI COMUNITÀ COOPERANTI SISTEMI DOCUMENTALI DISTRIBUITI PER LA CREAZIONE DI COMUNITÀ COOPERANTI Il caso di studio della piattaforma Octapy CMS e i circuiti informativi della cultura delle regioni Campania e Puglia 3 C.Noviello

Dettagli

La piattaforma Moodle dell' ISFOL

La piattaforma Moodle dell' ISFOL La piattaforma Moodle dell' ISFOL Un CMS per la condivisione della conoscenza nei Gruppi di Lavoro e di Ricerca dell'istituto Franco Cesari - ISFOL Gruppi di Lavoro e di Ricerca come Comunità di Pratica

Dettagli

GIOVANNI CALABRESE. Sito E-learning Istituto Tridente. Guida all utilizzo di Moodle per gli studenti

GIOVANNI CALABRESE. Sito E-learning Istituto Tridente. Guida all utilizzo di Moodle per gli studenti GIOVANNI CALABRESE Sito E-learning Istituto Tridente Guida all utilizzo di Moodle per gli studenti Sommario 1. COS È MOODLE... 1 1.1 Requisiti necessari...1 1.2 Configurazione del browser...1 Impostazione

Dettagli

Sme.UP Web Application

Sme.UP Web Application Sme.UP Web Application Web Application Web.UP Una interfaccia web per i vostri dati gestionali Il modulo applicativo Web.UP fornisce al progettista di siti Internet una serie di potenti strumenti per l'integrazione

Dettagli

MANUALE UTENTE DELLA BIBLIOTECA VIRTUALE

MANUALE UTENTE DELLA BIBLIOTECA VIRTUALE MANUALE UTENTE DELLA BIBLIOTECA VIRTUALE Il sistema di ricerca della biblioteca virtuale permette di accedere in maniera rapida ai materiali didattici di interesse degli studenti presenti all interno del

Dettagli

La realizzazione di WebGis con strumenti "Open Source".

La realizzazione di WebGis con strumenti Open Source. La realizzazione di WebGis con strumenti "Open Source". Esempi di impiego di strumenti a sorgente aperto per la realizzazione di un Gis con interfaccia Web Cos'è un Web Gis? Da wikipedia: Sono detti WebGIS

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni

Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni White paper Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni Panoramica Questo documento analizza il supporto alla programmabilità nell'infrastruttura ACI (Application Centric

Dettagli

TEORIA sulle BASI DI DATI

TEORIA sulle BASI DI DATI TEORIA sulle BASI DI DATI A cura del Prof. Enea Ferri Cos è un DATA BASE E un insieme di archivi legati tra loro da relazioni. Vengono memorizzati su memorie di massa come un unico insieme, e possono essere

Dettagli

CONTROLLO REMOTO DI UNA TELECAMERA IP

CONTROLLO REMOTO DI UNA TELECAMERA IP Scuola Media Pietro Coppo CONTROLLO REMOTO DI UNA TELECAMERA IP Tesi di Maturità Professionale Alunno: Salben Kamberi Mentore: Maurizio Škerlič Anno scolastico 2013/2014 INDICE INDICE... 2 INTRODUZIONE...

Dettagli

Formazione sistema editoriale CMS

Formazione sistema editoriale CMS Ufficio Società dell'informazione Nome del Progetto Acronimo del Progetto Formazione sistema editoriale CMS Documento Data di stesura Maggio 2010 Versione 1.2 Sommario 1 Scopo... 3 2 Campo di applicazione...

Dettagli

Novell ZENworks Configuration Management in ambiente Microsoft * Windows *

Novell ZENworks Configuration Management in ambiente Microsoft * Windows * Guida GESTIONE SISTEMI www.novell.com Novell ZENworks Configuration Management in ambiente Microsoft * Windows * Novell ZENworks Configuration Management in ambiente Microsoft Windows Indice: 2..... Benvenuti

Dettagli

La visualizzazione del layer informativo in un webgis open source: un sistema di gestione tensoriale del dato ambientale per p.mapper.

La visualizzazione del layer informativo in un webgis open source: un sistema di gestione tensoriale del dato ambientale per p.mapper. La visualizzazione del layer informativo in un webgis open source: un sistema di gestione tensoriale del dato ambientale per p.mapper. M. Comelli IFAC-CNR (Istituto di Fisica Applicata Nello Carrara del

Dettagli

Code Architects S.r.l. SWOP Semantic Web-service Oriented Platform B2SO201

Code Architects S.r.l. SWOP Semantic Web-service Oriented Platform B2SO201 UNIONE EUROPEA FONDO EUROPEO DI SVILUPPO REGIONALE. REGIONE PUGLIA AREA POLITICHE PER LO SVILUPPO IL LAVORO E L INNOVAZIONE Modello M14 Allegati RTA POR PUGLIA 2007-2013 - Asse I Linea 1.1 Azione 1.1.2

Dettagli

Creazione e gestione di indagini con Limesurvey. Sito online: www.limesurvey.org/en/

Creazione e gestione di indagini con Limesurvey. Sito online: www.limesurvey.org/en/ Creazione e gestione di indagini con Limesurvey Sito online: www.limesurvey.org/en/ Cos è Limesurvey? Il Software Limesurvey è un'applicazione open source che consente ai ricercatori (o a chiunque voglia

Dettagli

UNIVERSITÀ DEGLI STUDI DI FIRENZE. Relazione elaborato di progettazione e produzione multimediale

UNIVERSITÀ DEGLI STUDI DI FIRENZE. Relazione elaborato di progettazione e produzione multimediale UNIVERSITÀ DEGLI STUDI DI FIRENZE Relazione elaborato di progettazione e produzione multimediale AllPainters.Net SISTEMA PER LA GENERAZIONE DI SITI GRATUITI PER PITTORI Autori: - Bandini Roberto - Ercoli

Dettagli

Informatica Documentale

Informatica Documentale Informatica Documentale Ivan Scagnetto (scagnett@dimi.uniud.it) Stanza 3, Nodo Sud Dipartimento di Matematica e Informatica Via delle Scienze, n. 206 33100 Udine Tel. 0432 558451 Ricevimento: giovedì,

Dettagli

Progetto Turismo Pisa. Sommario dei risultati

Progetto Turismo Pisa. Sommario dei risultati 2012 Progetto Turismo Pisa Sommario dei risultati 0 Studio realizzato per il Comune di Pisa da KddLab ISTI-CNR Pisa Sommario 1 Progetto Turismo Pisa: Sintesi dei risultati... 1 1.1 L Osservatorio Turistico

Dettagli

Seminario di Sistemi Distribuiti: RPC su SOAP

Seminario di Sistemi Distribuiti: RPC su SOAP Corso di Sistemi Distribuiti Prof. S. Balsamo Seminario di Sistemi Distribuiti: RPC su SOAP [ 777775] 1 INTRODUZIONE 3 2 RPC 3 3 SOAP (SIMPLE OBJECT ACCESS PROTOCOL) 3 4 UTILIZZO DI SOAP COME PROTOCOLLO

Dettagli

Semantic Social Networks

Semantic Social Networks Semantic Social Networks Andrea De Chiara Nicola De Vivo Gabriele Di Chiara Gaetano Di Lauro Salvatore Esposito Michele Falso Lucio Ferraro Fabio Flora Michele Nasti Fabio Parlato Overview Stato dell arte

Dettagli

ECDL Base. Moduli compresi: Descrizione.

ECDL Base. Moduli compresi: Descrizione. ECDL Base Com'è facilmente deducibile anche dal nome, la certificazione ECDL Base attesta il livello essenziale di competenze informatiche e web del suo titolare, aggiornate alle funzionalità introdotte

Dettagli

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Progettazione OO E. TINELLI Punto di Partenza Il modello di analisi E una rappresentazione minima del

Dettagli

Ingegneria del Software Interattivo. - I siti web - Un breve glossario. Un breve glossario (cont.) Parte sesta: I siti web. 1.

Ingegneria del Software Interattivo. - I siti web - Un breve glossario. Un breve glossario (cont.) Parte sesta: I siti web. 1. Parte sesta: I siti web Ingegneria del Software Interattivo - I siti web - Docente: Daniela Fogli 1. I siti web Nel Contesto Riferimenti: Brajnik, Umano G., Toppano, E. Creare siti web multimediali, Pearson,

Dettagli

Laboratorio Matematico Informatico 2

Laboratorio Matematico Informatico 2 Laboratorio Matematico Informatico 2 (Matematica specialistica) A.A. 2006/07 Pierluigi Amodio Dipartimento di Matematica Università di Bari Laboratorio Matematico Informatico 2 p. 1/1 Informazioni Orario

Dettagli

A SCUOLA CON LA LIM 1

A SCUOLA CON LA LIM 1 A SCUOLA CON LA LIM 1 A cura dell'insegnante LUCIA STIRPE Istituto Comprensivo San Cesareo mag 13 19:01 1 Cos'è una LIM? LIM è l'acronimo di Lavagna Interattiva Multimediale. E' un dispositivo elettronico

Dettagli

A seguito della consultazione di questo sito possono essere trattati dati relativi a persone identificate o identificabili.

A seguito della consultazione di questo sito possono essere trattati dati relativi a persone identificate o identificabili. Privacy policy della piattaforma TamTamy Social Intranet di Reply S.p.A. In questa pagina si descrivono le modalità di gestione della piattaforma TamTamy Social Intranet di Reply S.p.A., in riferimento

Dettagli

A seguito della consultazione di questo sito possono essere trattati dati relativi a persone identificate o identificabili.

A seguito della consultazione di questo sito possono essere trattati dati relativi a persone identificate o identificabili. Privacy policy del sito web Bitmama S.r.l. In questa pagina si descrivono le modalità di gestione del sito Bitmama, in riferimento al trattamento dei dati personali degli utenti che lo consultano. Si tratta

Dettagli

cos è l architettura dell informazione?

cos è l architettura dell informazione? Tipologia dei dati e organizzazione delle informazioni Sistemi di indicizzazione e recupero 3. Architettura dell informazione cos è l architettura dell informazione? E la progettazione di spazi informativi

Dettagli

Master SIT Settembre 2006. Corso Web & GIS - Master in Sistemi Informativi Territoriali AA 2005/2006. Chiara Renso. ISTI- CNR c.renso@isti.cnr.

Master SIT Settembre 2006. Corso Web & GIS - Master in Sistemi Informativi Territoriali AA 2005/2006. Chiara Renso. ISTI- CNR c.renso@isti.cnr. COSTRUIRE APPLICAZIONI WEB GIS: SERVIZI E STRATEGIE Corso - Master in Sistemi Informativi Territoriali AA 2005/2006 ISTI- CNR c.renso@isti.cnr.it I servizi WebGIS...1 Download di dati...3 Visualizzazione

Dettagli

1. Guida rapida all utilizzo di base

1. Guida rapida all utilizzo di base www.andrea-asta.com/vcs Guida all utilizzo Volley Coaching System Andrea Asta Edizione 2008 Sommario 1. Guida rapida all utilizzo di base... 3 1.1 Verifica compatibilità... 3 1.1.1 Test Cookie... 3 1.1.2

Dettagli

Un portale semantico per i Beni Culturali

Un portale semantico per i Beni Culturali Un portale semantico per i Beni Culturali A. Ciapetti, D. Berardi, A. Donnini, M. Lorenzini, M.E. Masci, D. Merlitti, S. Norcia, F. Piro (Etcware) M. De Vizia Guerriero, O. Signore (CNR W3C Italia) EVA

Dettagli

CAPITOLATO TECNICO PER LA COSTRUZIONE, GESTIONE E MANUTENZIONE SITO WEB ISTITUZIONALE DELL UNIONE DEI COMUNI DELL APPENNINO BOLOGNESE.

CAPITOLATO TECNICO PER LA COSTRUZIONE, GESTIONE E MANUTENZIONE SITO WEB ISTITUZIONALE DELL UNIONE DEI COMUNI DELL APPENNINO BOLOGNESE. CAPITOLATO TECNICO PER LA COSTRUZIONE, GESTIONE E MANUTENZIONE SITO WEB ISTITUZIONALE DELL UNIONE DEI COMUNI DELL APPENNINO BOLOGNESE. Articolo 1 Oggetto dell appalto 1. L appalto ha per oggetto la progettazione,

Dettagli

PIATTAFORMA NO-PROBLEM NEWSLETTERS

PIATTAFORMA NO-PROBLEM NEWSLETTERS 1 INDICE 1.1 Presentazione della piattaforma NO PROBLEM. 1.2 COMPOSIZIONE della newsletter... 1.3 Principali CARATTERISTICHE e vantaggi... 1.4 Gestione LISTA ISCRITTI...... 1.5 CREAZIONE E GESTIONE DEI

Dettagli

Progettazione di interfacce web indipendenti dal dispositivo

Progettazione di interfacce web indipendenti dal dispositivo Progettazione di interfacce web indipendenti dal dispositivo Candidato Izzo Giovanni, Matr. 41/1305 Relatore Prof. Porfirio Tramontana 1 Panoramica su contesto ed obiettivi Il contesto della tesi è legato

Dettagli

porte aperte sull e-learning di Gianluca Affinito gianluca.affinito@gmail.com

porte aperte sull e-learning di Gianluca Affinito gianluca.affinito@gmail.com porte aperte sull e-learning di Gianluca Affinito gianluca.affinito@gmail.com Cos è Moodle Moodle è un software per la gestione di corsi a distanza utilizzato a livello mondiale nelle Università, nelle

Dettagli

MyChess Tutorial all uso del portale. c Maurizio Camangi

MyChess Tutorial all uso del portale. c Maurizio Camangi MyChess Tutorial all uso del portale c Maurizio Camangi 12 aprile 2013 2 Indice 1 Introduzione 5 2 Registrazione 7 3 Profili 9 4 News 11 5 Eventi 13 5.1 Gestione eventi............................ 15 5.1.1

Dettagli

Internet Architettura del www

Internet Architettura del www Internet Architettura del www Internet è una rete di computer. Il World Wide Web è l insieme di servizi che si basa sull architettura di internet. In una rete, ogni nodo (detto host) è connesso a tutti

Dettagli

SOLUZIONE Web.Orders online

SOLUZIONE Web.Orders online SOLUZIONE Web.Orders online Gennaio 2005 1 INDICE SOLUZIONE Web.Orders online Introduzione Pag. 3 Obiettivi generali Pag. 4 Modulo di gestione sistema Pag. 5 Modulo di navigazione prodotti Pag. 7 Modulo

Dettagli

CURRICOLO ITALIANO CLASSE QUINTA

CURRICOLO ITALIANO CLASSE QUINTA CURRICOLO ITALIANO CLASSE QUINTA COMPETENZE NUCLEO FONDANTE OBIETTIVI DI APPRENDIMENTO Comunicare -Ascoltare con attenzione le collegamenti ASCOLTO E PARLATO comunicazioni degli adulti e e dei compagni

Dettagli

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET)

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Ipotesi di partenza: concetti di base del networking Le ipotesi di partenza indispensabili per poter parlare di tecniche di accesso

Dettagli

Architetture Web I Server Web e gli Standard della Comunicazione

Architetture Web I Server Web e gli Standard della Comunicazione Architetture Web I Server Web e gli Standard della Comunicazione Alessandro Martinelli alessandro.martinelli@unipv.it 27 Marzo 2012 Architetture Architetture Web Protocolli di Comunicazione Il Client Side

Dettagli

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI Documenti su Internet LINGUAGGI DI MARKUP Internet permette (tra l altro) di accedere a documenti remoti In generale, i documenti acceduti via Internet sono multimediali, cioè che possono essere riprodotti

Dettagli

CLAROLINE DIDATTICA ONLINE MANUALE DEL DOCENTE

CLAROLINE DIDATTICA ONLINE MANUALE DEL DOCENTE CLAROLINE DIDATTICA ONLINE MANUALE DEL DOCENTE Sommario 1. Introduzione... 3 2. Registrazione... 3 3. Accesso alla piattaforma (login)... 4 4. Uscita dalla piattaforma (logout)... 5 5. Creazione di un

Dettagli

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti Sviluppo di applicazioni web con il pattern Model-View-Controller Gabriele Pellegrinetti 2 MVC: come funziona e quali sono vantaggi che derivano dal suo utilizzo? La grande diffusione della tecnologia

Dettagli

Una soluzione WEB-GIS per la pubblicazione di dati statistici della Regione Sardegna

Una soluzione WEB-GIS per la pubblicazione di dati statistici della Regione Sardegna Una soluzione WEB-GIS per la pubblicazione di dati statistici della Regione Sardegna Sergio Loddo, Luca Devola GFOSS - Cagliari, 27 febbraio 2009 Indice 1. Presentazione 2. Progetto 3. Architettura, metodologia

Dettagli

Corso Android Corso Online Sviluppo su Cellulari con Android

Corso Android Corso Online Sviluppo su Cellulari con Android Corso Android Corso Online Sviluppo su Cellulari con Android Accademia Futuro info@accademiafuturo.it Programma Generale del Corso di Sviluppo su Cellulari con Android Programma Base Modulo Uno - Programmazione

Dettagli

WEB TECHNOLOGY. Il web connette. LE persone. E-book n 2 - Copyright Reserved

WEB TECHNOLOGY. Il web connette. LE persone. E-book n 2 - Copyright Reserved WEB TECHNOLOGY Il web connette LE persone Indice «Il Web non si limita a collegare macchine, ma connette delle persone» Il Www, Client e Web Server pagina 3-4 - 5 CMS e template pagina 6-7-8 Tim Berners-Lee

Dettagli

Protocollo di metadata harvesting OAI-PMH Lavoro pratico 2

Protocollo di metadata harvesting OAI-PMH Lavoro pratico 2 Docente: prof.silvio Salza Candidato: Protocollo di metadata harvesting OAI-PMH Open Archive Initiative OAI (Open Archive Initiative) rendere facilmente fruibili gli archivi che contengono documenti prodotti

Dettagli

EIPASS Web. Programma analitico d esame. ver. 3.0

EIPASS Web. Programma analitico d esame. ver. 3.0 EIPASS Web Programma analitico d esame ver. 3.0 Pagina 2 di 21 Premessa Questa pubblicazione, riservata ai Candidati agli esami per il conseguimento del titolo EIPASS nel profilo di riferimento, intende

Dettagli

La macchina siamo noi

La macchina siamo noi Altri La macchina siamo noi Attribuzione - Non commerciale - Condividi allo stesso modo 2.5 Italia Diapositiva 1 di 24 Perchè questa trattazione? Perchè il più grande flusso di informazioni oggi lo abbiamo

Dettagli

STANDARD A AFFRONTA GLI STRUMENTI INFORMATICI E DI COMUNICAZIONE NEL LORO USO

STANDARD A AFFRONTA GLI STRUMENTI INFORMATICI E DI COMUNICAZIONE NEL LORO USO 3.5 Area Tecnologica STANDARD A AFFRONTA GLI STRUMENTI INFORMATICI E DI COMUNICAZIONE NEL LORO USO E NELLA LORO FUNZIONE. Livello 1 1.1 Esplicita i propri bisogni di comunicazione e di organizzazione di

Dettagli