Museo Torino - un esempio reale d'uso di NOSQL-GraphDB, Linked Data e Web Semantico

1,883 views

Published on

La presentazione tenuta da Gian Luca Farina Perseu in occasione del Codemotion del 5 marzo 2011 a Roma - http://www.codemotion.it/

Verrà presentato il progetto Museo Torino, che implementa tutte le tecnologie per Web 3.0 (Web Semantico) grazie all'uso degli standard più recenti (RDFa e Open Graph) e alla progettazione basata sulla a filosofia dei Open Data. Il motore interno è invece basato su un GraphDB, una tecnologia perfetta per gestire linked data e con una struttura flessibile e mutevole nel tempo. Inoltre una architettura leggera e dinamica basata su servizi REST, rende semplice implementare moduli applicativi.

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,883
On SlideShare
0
From Embeds
0
Number of Embeds
138
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Museo Torino - un esempio reale d'uso di NOSQL-GraphDB, Linked Data e Web Semantico

  1. 1. un esempio reale d'uso di NOSQL-GraphDB, Linked Data e Web Semantico
  2. 2. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Agenda: </li></ul><ul><li>Cos’è MuseoTorino </li></ul><ul><li>Perché e come usare un GraphDB </li></ul><ul><li>Architettura del sistema </li></ul><ul><li>Linked Data, ma soprattutto Open </li></ul><ul><li>Web semantico, the way to…. </li></ul>
  3. 3. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Gian Luca Farina Perseu </li></ul><ul><li>Amministratore </li></ul>
  4. 4. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Cos’è MuseoTorino: </li></ul><ul><li>Non un Nuovo Museo, ma un Museo «Nuovo» </li></ul><ul><li>Più di 2000 schede su luoghi </li></ul><ul><li>Più di 1000 schede fra oggetti, soggetti, eventi, temi e itinerari </li></ul><ul><li>Quasi 2000 schede bibliografiche </li></ul><ul><li>Più di 4000 immagini e 150 libri digitalizzati </li></ul>
  5. 5. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Cos’è MuseoTorino | Sezioni principali </li></ul><ul><ul><li>Informazioni Istituzionali </li></ul></ul><ul><ul><li>Esplora il Catalogo </li></ul></ul><ul><ul><li>Naviga la Collezione </li></ul></ul><ul><ul><li>(Biblio/Media)teca </li></ul></ul><ul><ul><li>Libri Digitalizzati </li></ul></ul><ul><ul><li>BackOffice Inserimento Schede </li></ul></ul>
  6. 6. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Cos’è MuseoTorino: </li></ul><ul><li>Sito principale </li></ul>
  7. 7. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Cos’è MuseoTorino | Esplora il catalogo </li></ul>
  8. 8. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Cos’è MuseoTorino | Naviga la collezione </li></ul>
  9. 9. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Cos’è MuseoTorino | Libri Digitalizzati </li></ul>
  10. 10. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Cos’è MuseoTorino </li></ul><ul><li>BackOffice </li></ul>
  11. 11. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Analisi </li></ul>
  12. 12. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Analisi: </li></ul><ul><li>Problematiche affrontate durante l’analisi: </li></ul><ul><ul><li>Eterogeneità delle informazioni da schedare </li></ul></ul><ul><ul><li>Forte componente di relazione fra schede </li></ul></ul><ul><ul><li>Geoposizionamento di ogni scheda </li></ul></ul>
  13. 13. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Analisi: </li></ul><ul><li>Problema Eterogeneità: </li></ul><ul><ul><li>Necessità di un modello scalabile e flessibile </li></ul></ul><ul><ul><li>Modificabile nel tempo senza constraint verso il pregresso </li></ul></ul><ul><li>Soluzione </li></ul><ul><ul><li>Uso di un DocumentDB </li></ul></ul>
  14. 14. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Analisi: </li></ul><ul><li>Problema Relazioni: </li></ul><ul><ul><li>Relazioni non codificabili a priori </li></ul></ul><ul><ul><li>Velocità nella ricerca delle relazioni </li></ul></ul><ul><li>Soluzione </li></ul><ul><ul><li>Uso di un RDF </li></ul></ul>
  15. 15. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Analisi: </li></ul><ul><li>Problema Geoposizionamento: </li></ul><ul><ul><li>Migliaia di georeferenziazioni </li></ul></ul><ul><ul><li>Ricerca spaziale </li></ul></ul><ul><li>Soluzione </li></ul><ul><ul><li>Uso di un GIS </li></ul></ul>
  16. 16. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Soluzione </li></ul>
  17. 17. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Un GraphDB ! </li></ul>
  18. 18. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>La vita è un grafo … </li></ul>Torino Nasce, 10 agosto 1810 Muore, 6 giugno 1861 Abita Posizione Tumulato Il primo governo Cavour (1852-1855) Il secondo governo Cavour (1855-1859) Parco Cavour Posizione Il governo Cavour del Regno d’Italia (1861) Il terzo governo Cavour (1860-1861) Governa Correlazione di 2°livello !!
  19. 19. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Un GraphDB ! </li></ul><ul><li>SchemaLess </li></ul><ul><li>(come un DocumentDB) </li></ul>
  20. 20. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Un GraphDB ! </li></ul><ul><li>SchemaLess </li></ul><ul><li>Gestione di Milioni di Oggetto e Relazioni </li></ul><ul><li>(come un RDF) </li></ul>
  21. 21. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Un GraphDB ! </li></ul><ul><li>SchemaLess </li></ul><ul><li>Gestione di Milioni di Nodi e Connessioni </li></ul><ul><li>Integrazione Spacial </li></ul><ul><li>(come un GIS) </li></ul>
  22. 22. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>GraphDB, la nostra scelta | Neo4J </li></ul><ul><li>Licenza AGPL 3.0, alcune componenti a pagamento ma il core è free. </li></ul><ul><li>Java al 100% </li></ul><ul><li>Integrato nativamente con Lucene </li></ul><ul><li>Neotecnologies, una struttura organizzata e con un modello di business sufficientemente solido </li></ul>
  23. 23. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Architettura </li></ul>
  24. 24. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Architettura </li></ul><ul><li>Orientata alla semplicità e alla leggerezza </li></ul><ul><li>Ottimizzata per lo scambio di dati in ottica Open Data e ai servizi </li></ul><ul><li>Il più possibile intercambiabile nelle sue componenti principali </li></ul>
  25. 25. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Architettura - Implementazione </li></ul><ul><li>Neo4J + Blueprints, massime performance </li></ul><ul><li>Java + Jersey + Grizzly, massima flessibilità </li></ul><ul><li>Interfacce REST, massima apertura </li></ul><ul><li>Formato JSON, massima intuibilità </li></ul><ul><li>PHP + CodeIgniter, massima semplicità </li></ul><ul><li>Javascript + Jquery, massima efficienza </li></ul>
  26. 26. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Architettura </li></ul>HTML
  27. 27. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Architettura | Neo4J </li></ul><ul><ul><li>Robusto ed affidabile </li></ul></ul><ul><ul><li>Gratuito nelle sue componenti fondamentali </li></ul></ul><ul><ul><li>Ottime performance </li></ul></ul><ul><ul><li>Compatibile con Blueprints </li></ul></ul><ul><ul><li>Scalabile </li></ul></ul>
  28. 28. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Architettura | Blueprints </li></ul><ul><ul><li>Una sorta di JDBC per i GraphDB </li></ul></ul><ul><ul><li>Semplicissimo da usare </li></ul></ul><ul><ul><li>Gestione automatizzata degli indici </li></ul></ul>
  29. 29. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Architettura | Jersey + Grizzly </li></ul><ul><ul><li>Interfacce REST semplicissime da implementare </li></ul></ul><ul><ul><li>Sei aiutato a pensare state-less </li></ul></ul><ul><ul><li>Gestisce nativamente il formato JSON </li></ul></ul><ul><ul><li>Grizzly, come Tomcat ma usabile embedded </li></ul></ul><ul><ul><li>Servizio snello ma al tempo stesso robusto </li></ul></ul>
  30. 30. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Architettura | JSON </li></ul><ul><ul><li>Adattissimo alla struttura dei grafi </li></ul></ul><ul><ul><li>Molto più semplice da usare rispetto all’XML </li></ul></ul><ul><ul><li>Arriva diretto al javascript senza colpo ferire ! </li></ul></ul><ul><ul><li>Il formato del futuro per la gestione dei grafi e probabilmente dell’RDF </li></ul></ul>
  31. 31. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Architettura | PHP e Javascript </li></ul><ul><ul><li>CodeIgniter permette di creare API REST in modo facile, soprattutto se pubbliche (GET) </li></ul></ul><ul><ul><li>JQuery facilita le chiamate REST al PHP </li></ul></ul><ul><ul><li>Javascript e PHP maneggiano nativamente JSON </li></ul></ul>
  32. 32. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Architettura | Alcuni contro … </li></ul><ul><li>I GraphDB non hanno molti tool a supporto dello sviluppo o della manutenzione </li></ul><ul><li>Difficile imparare a «pensare a grafi» </li></ul><ul><li>Difficile anche spiegarli …. </li></ul>
  33. 33. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Open Data </li></ul>
  34. 34. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Open Data </li></ul><ul><li>Alpha release </li></ul><ul><li>Tutti i dati relativi al catalogo del museo sono recuperabili come dati disponibili alla comunità </li></ul><ul><li>A sola lettura </li></ul><ul><li>In formato JSON </li></ul><ul><li>Disponibile su www.museotorino.it/api </li></ul>
  35. 35. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Open Data | Alcuni esempi: </li></ul><ul><ul><ul><li>Ricerca per parola chiave </li></ul></ul></ul><ul><ul><ul><ul><li>GET /api/search/{type}?json={parameters} </li></ul></ul></ul></ul><ul><ul><ul><li>Categorie </li></ul></ul></ul><ul><ul><ul><ul><li>GET /api/categories </li></ul></ul></ul></ul><ul><ul><ul><li>Entity per categoria </li></ul></ul></ul><ul><ul><ul><ul><li>GET /api/entities_by_category/{id|sid|guid}/{value} </li></ul></ul></ul></ul><ul><ul><ul><li>Correlazioni di un entity </li></ul></ul></ul><ul><ul><ul><ul><li>GET /api/connections/{id|sid|guid}/{value} </li></ul></ul></ul></ul>
  36. 36. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Open Data </li></ul><ul><li>Il formato è ispirato a quello usato da Freebase (www.freebase.com) per le sue graph api (http://graph.freebaseapps.com) </li></ul>
  37. 37. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Open Data </li></ul><ul><li>Il formato è ispirato a quello usato da Freebase (www.freebase.com) per le sue graph api (http://graph.freebaseapps.com) </li></ul>
  38. 38. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Open Data </li></ul><ul><ul><li>Ad oggi solo attraverso le API </li></ul></ul><ul><ul><li>Possibilità di eseguire query (in un formato custom) </li></ul></ul><ul><ul><li>Ad oggi il formato è suscettibile di modifiche </li></ul></ul><ul><ul><li>Ancora da integrare la parte Linked, seguendo gli standard di riferimento (OpenGraph) </li></ul></ul>
  39. 39. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Open Data </li></ul><ul><ul><li>Ad oggi solo attraverso le API </li></ul></ul><ul><ul><li>Possibilità di eseguire query (in un formato custom) </li></ul></ul><ul><ul><li>Ad oggi il formato è suscettibile di modifiche </li></ul></ul><ul><ul><li>Ancora da integrare la parte Linked, seguendo gli standard di riferimento (OpenGraph) </li></ul></ul>
  40. 40. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Web 3.0 </li></ul>
  41. 41. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Web 3.0 </li></ul><ul><ul><li>E’ tempo di semantica dei contenuti </li></ul></ul><ul><ul><li>Profetizzato da Tim Berners Lee già nel 2007: </li></ul></ul>
  42. 42. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Web 3.0 </li></ul><ul><ul><li>Il 12 maggio 2009 Google annuncia di abbracciare lo standard RDFa </li></ul></ul><ul><ul><li>Il 21 Aprile 2010 Facebook annuncia di aprire il suo portale allo standard OpenGraph Protocol (basato su RDFa) </li></ul></ul>
  43. 43. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><ul><li>Web 3.0 </li></ul></ul><ul><ul><li>E’ l’ora ! </li></ul></ul>
  44. 44. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><ul><li>Web 3.0 </li></ul></ul><ul><ul><li>Maggior Incremento ! </li></ul></ul>
  45. 45. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Web 3.0 </li></ul><ul><ul><li>The data shows that the usage of RDFa has increased 510% between March, 2009 and October, 2010, from 0.6% of webpages to 3.6% of webpages </li></ul></ul><ul><ul><li>(fonte: P eter Mika at Yahoo! </li></ul></ul><ul><ul><li>http://tripletalk.wordpress.com/2011/01/25/rdfa-deployment-across-the-web by ) </li></ul></ul>
  46. 46. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Web 3.0 | Come si realizza: </li></ul><ul><ul><li>Obbiettivo </li></ul></ul>
  47. 47. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Web 3.0 - Come di realizza: </li></ul><ul><ul><li>Strumento </li></ul></ul><div xmlns:v=&quot;http://rdf.data-vocabulary.org/#&quot; typeof=&quot;v:Person&quot; > Mi chiamo <span property=&quot;v:name&quot; >Roberto Sacchi</span>, ma tutti mi chiamano <span property=&quot;v:nickname&quot; >Bob</span>. Questa è la mia home page: <a href=&quot;http://www.example.com&quot; rel=&quot;v:url&quot;> www.example.com</a>. Ho una casa ad Albenga, (Liguria) e lavoro come <span property=&quot;v:title&quot;> ingegnere</span> per la <span property=&quot;v:affiliation&quot;> ACME Corp</span>. </div>
  48. 48. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Web 3.0 </li></ul><ul><li>MuseoTorino ha già tutte le informazioni classificate </li></ul>Cavour come persona Il Castello di Cavour come luogo (di sepoltura) Il Palazzo Cavour come luogo (di lavoro)
  49. 49. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Si tratta solo di Linkarle ! </li></ul>
  50. 50. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Grazie ! </li></ul>
  51. 51. MuseoTorino | GraphDB | Linked Open Data | Web 3.0 <ul><li>Links </li></ul><ul><li>MuseoTorino | www.museotorino.it (dal 17 Marzo) </li></ul><ul><li>21Style | www.21-style.com </li></ul><ul><li>Neo4J | www.neo4j.org </li></ul><ul><li>Blueprints | https://github.com/tinkerpop/blueprints </li></ul><ul><li>RDFa | http://rdfa.info </li></ul>

×