When Drupal meets OpenData

14,554
-1

Published on

Techniques and principles to build creative applications based on Opendata.
Overview of already developed solutions, modules and succesful case histories in the Public/Government sector

Published in: Technology
1 Comment
14 Likes
Statistics
Notes
No Downloads
Views
Total Views
14,554
On Slideshare
0
From Embeds
0
Number of Embeds
16
Actions
Shares
0
Downloads
103
Comments
1
Likes
14
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • When Drupal meets OpenData

    1. 1. When Drupal meets Opendata PHPDay 2011 - Social tag #phpday
    2. 2. Chi siamo?
    3. 3. Chi siamo? Stefano Mainardi, sviluppatore PHP, CEO di Twinbit e fondatore del network italiano ILDN Piacere di conoscervi! stefano@twinbit.it twitter : @stefanomainardi
    4. 4. Chi siamo? Paolo Mainardi, sviluppatore PHP, CTO di Twinbit e Stefano Mainardi,fondatore del network italiano sviluppatore PHP, CEO di ILDN Twinbit e fondatore del network italiano ILDN Piacere di conoscervi! Piacere di conoscervi! paolo@twinbit.it stefano@twinbit.it twitter : @paolomainardi twitter : @stefanomainardi
    5. 5. Chi siamo? Paolo Mainardi, sviluppatore PHP, CTO di Twinbit e Stefano Mainardi,fondatore del network italiano sviluppatore PHP, CEO di ILDN Twinbit e fondatore del network italiano ILDN Piacere di conoscervi! Piacere di conoscervi! paolo@twinbit.it stefano@twinbit.it twitter : paolomainardi twitter : stefanomainardi Piacere, io sono Drupal! :-)
    6. 6. Quanti di voi utilizzano Drupal?
    7. 7. Cosa sono gli “Open Data”?
    8. 8. definizione “accademica”Con Open Data si fa riferimento ad una filosofia, che è al tempostesso una pratica, che implica che alcune tipologie di dati sianoliberamente accessibili a tutti sul Web, senza restrizioni di copyright,brevetti o altre forme di controllo che ne limitino la riproduzione. da Wikipedia
    9. 9. e quindi?
    10. 10. http://www.flickr.com/photos/f7oor/405046410/
    11. 11. Data is a precious thing and will last longer than the systems themselves. Tim Berners-Leehttp://www.flickr.com/photos/f7oor/405046410/ 1/2
    12. 12. I dati sono noiose scatole marroni, ed è così che ce li immaginiamo, no? Perché i dati di per sé non sono di immediata applicazione Ma in realtà, i dati determinano tantissime cose nelle nostre vite e ciò accade perché c’è qualcuno che prende quei dati e ne fa qualcosa. credits: Ernesto Bellisario “Come si fa OpenData” Tim Berners-Leehttp://www.flickr.com/photos/f7oor/405046410/ 2/2
    13. 13. “Economia della conoscenza”
    14. 14. ma in italia cosa succede?
    15. 15. il movimento OpenData italiano http://linkedopendata.it/ http://spaghettiopendata.org/ http://datagov.it/ http://www.agoradigitale.org/ http://www.openpolis.it/
    16. 16. quali formati dobbiamo utilizzare?
    17. 17. .KML .XML .CSV .TXT .GTFS .JSON
    18. 18. .KML .XML .CSV .TXT .GTFS .JSON insomma, formati standard che siano machine readable l’importante è non far nascere un flame sui formati :-)
    19. 19. .KML .XML .CSV .TXT .GTFS .JSON
    20. 20. .KML .XML .CSV .TXT .GTFS .JSONMobile Apps
    21. 21. .KML .XML .CSV .TXT .GTFS .JSONMobile Apps Web Apps
    22. 22. .KML .XML .CSV .TXT .GTFS .JSONMobile Apps Web Apps Data API
    23. 23. I dati sono il carburante, le applicazioni sono il mezzo
    24. 24. 47 web, iPhone & Facebook Apps $2,300,000 risparmiati$50,000 il costo delle applicazioni +5000% in ROI
    25. 25. Perchè Drupal ?
    26. 26. Perchè Drupal ?• Una piattaforma pensata per fare Open Data (D7 RDFa, Nodes, Taxonomy)
    27. 27. Perchè Drupal ?• Una piattaforma pensata per fare Open Data (D7 RDFa, Nodes, Taxonomy)• Semplici interfacce di amministrazione per utenti non esperti (D7 UX)
    28. 28. Perchè Drupal ?• Una piattaforma pensata per fare Open Data (D7 RDFa, Nodes, Taxonomy)• Semplici interfacce di amministrazione per utenti non esperti (D7 UX)• Semplice integrazione con i servizi di terze parti (CKAN, OpenCalais, OSM, Mapbox ecc..)
    29. 29. Perchè Drupal ?• Una piattaforma pensata per fare Open Data (D7 RDFa, Nodes, Taxonomy)• Semplici interfacce di amministrazione per utenti non esperti (D7 UX)• Semplice integrazione con i servizi di terze parti (CKAN, OpenCalais, OSM, Mapbox ecc..)• Importanti case history governative di successo (List of Drupal sites in Government: http://groups.drupal.org/node/19885)
    30. 30. Perchè Drupal ?
    31. 31. Perchè Drupal ?•CCK - Fields in core
    32. 32. Perchè Drupal ?•CCK - Fields in core•Feeds
    33. 33. Perchè Drupal ?•CCK - Fields in core•Feeds•Views - Views datasource
    34. 34. Perchè Drupal ?•CCK - Fields in core•Feeds•Views - Views datasource•Geo Modules (Openlayers, Geofield)
    35. 35. Perchè Drupal ?•CCK - Fields in core•Feeds•Views - Views datasource•Geo Modules (Openlayers, Geofield)•Supporto nativo per i Linked Data (RDFa)
    36. 36. Perchè Drupal ?•CCK - Fields in core•Feeds•Views - Views datasource•Geo Modules (Openlayers, Geofield)•Supporto nativo per i Linked Data (RDFa)•SPARQL
    37. 37. Case history di successo http://data.worldbank.org
    38. 38. Case history di successo http://www.aquaknow.net
    39. 39. Case history di successo http://data.gov.uk CKAN Dataset Faceted Search by Apache Solr
    40. 40. Case history di successo http://www.openbelgium.be
    41. 41. Phase 1: Creare Open DataQualsiasi contenuto è potenzialmente un OpenData.....
    42. 42. Phase 1: Creare Open Data Qualsiasi contenuto è potenzialmente un OpenData.....“A piece of content or data is open if anyone is free to use, reuse, and redistribute it — subject only, at most, to the requirement to attribute and share alike.” (Open Knowledge Definition)
    43. 43. Phase 1: Creare Open Data Qualsiasi contenuto è potenzialmente un OpenData..... “A piece of content or data is open if anyone is free to use, reuse, and redistribute it — subject only, at most, to the requirement to attribute and share alike.” (Open Knowledge Definition)Seguiamo queste semplici regole:
    44. 44. Phase 1: Creare Open Data Qualsiasi contenuto è potenzialmente un OpenData..... “A piece of content or data is open if anyone is free to use, reuse, and redistribute it — subject only, at most, to the requirement to attribute and share alike.” (Open Knowledge Definition)Seguiamo queste semplici regole:•Specificare la fonte
    45. 45. Phase 1: Creare Open Data Qualsiasi contenuto è potenzialmente un OpenData..... “A piece of content or data is open if anyone is free to use, reuse, and redistribute it — subject only, at most, to the requirement to attribute and share alike.” (Open Knowledge Definition)Seguiamo queste semplici regole:•Specificare la fonte•Usare una licenza aperta
    46. 46. Phase 1: Creare Open Data Qualsiasi contenuto è potenzialmente un OpenData..... “A piece of content or data is open if anyone is free to use, reuse, and redistribute it — subject only, at most, to the requirement to attribute and share alike.” (Open Knowledge Definition)Seguiamo queste semplici regole:•Specificare la fonte•Usare una licenza aperta•Usare formati aperti e semplici da processare automaticamente (CSV, XLS,XML, JSON)
    47. 47. Phase 1: Creare Open Data Qualsiasi contenuto è potenzialmente un OpenData..... “A piece of content or data is open if anyone is free to use, reuse, and redistribute it — subject only, at most, to the requirement to attribute and share alike.” (Open Knowledge Definition)Seguiamo queste semplici regole:•Specificare la fonte•Usare una licenza aperta•Usare formati aperti e semplici da processare automaticamente (CSV, XLS,XML, JSON) OpenDefinition: http://www.opendefinition.org/okd/ Open Data Commons: http://www.opendatacommons.org Cretive Commons: http://www.opendatacommons.org
    48. 48. Phase 1: Creare Open DataCreare un nuovo content type ed un vocabolario
    49. 49. Phase 1: Creare Open DataCreare un nuovo content type ed un vocabolario
    50. 50. Phase 1: Creare Open DataCreare un nuovo content type ed un vocabolario DataTypes Vocabulary License Vocabulary
    51. 51. Phase 1: Creare Open DataCreare un nuovo content type ed un vocabolario DataTypes Vocabulary License Vocabulary Fields
    52. 52. Phase 1: Creare Open DataCreare un nuovo content type ed un vocabolario
    53. 53. Phase 1: Creare Open Data Creare un nuovo content type ed un vocabolarioOpen data creation form
    54. 54. Phase 1: Creare Open Data Creare un nuovo content type ed un vocabolarioOpen data creation form
    55. 55. Phase 1: Creare Open Data Creare un nuovo content type ed un vocabolarioOpen data creation form Taxonomy
    56. 56. Phase 1: Creare Open Data Creare un nuovo content type ed un vocabolarioOpen data creation form Taxonomy Data properties
    57. 57. Phase 1: Creare Open Data Creare un nuovo content type ed un vocabolarioOpen data creation form Taxonomy Data properties Comments
    58. 58. Phase 2: Distribuire Open DataCome posso distribuire i miei dati ?
    59. 59. Phase 2: Distribuire Open Data Come posso distribuire i miei dati ? corex/html
    60. 60. Phase 2: Distribuire Open Data Come posso distribuire i miei dati ? corex/htmlRDFa
    61. 61. Phase 2: Distribuire Open Data Come posso distribuire i miei dati ? corex/html RSSRDFa
    62. 62. Phase 2: Distribuire Open Data Come posso distribuire i miei dati ? core contrib modulesx/html RSS json xml rdfRDFa csv
    63. 63. Phase 2: Distribuire Open Data Come posso distribuire i miei dati ? core contrib modulesx/html RSS json xml rdfRDFa csv Views + Views Datasource
    64. 64. Phase 2: Distribuire Open Data Come posso distribuire i miei dati ? core contrib modules chartsx/html RSS json kml {$other formats} xml rdfRDFa csv Views + Views Datasource
    65. 65. Phase 2: Distribuire Open Data Come posso distribuire i miei dati ? core contrib modules chartsx/html RSS json kml {$other formats} xml rdfRDFa csv http://drupal.org/project/modules Views + Views Datasource
    66. 66. Phase 2: Distribuire Open Data Come posso distribuire i miei dati ? Posso essere anche solo un servizio per la tua applicazione: http://drupal.org/project/services XMLRPC, JSON, JSON-RPC, REST, SOAP, AMF, etc. core contrib modules chartsx/html RSS json kml {$other formats} xml rdfRDFa csv http://drupal.org/project/modules Views + Views Datasource
    67. 67. Phase 2: Distribuire Open DataViews Example: Create a new display
    68. 68. Phase 2: Distribuire Open Data Views Example: Create a new displayFilter by “data” type contents
    69. 69. Phase 2: Distribuire Open Data Views Example: Create a new display Select fields to printFilter by “data” type contents
    70. 70. Phase 2: Distribuire Open Data Views Example: Create a new display Print results on a table Select fields to printFilter by “data” type contents
    71. 71. Phase 2: Distribuire Open Data Views Example: Create a new display Print results on a table Select fields to printFilter by “data” type contents Expose search fields
    72. 72. Phase 2: Distribuire Open Data Views Example: Create a new display Output type Print results on a table Select fields to printFilter by “data” type contents Expose search fields
    73. 73. Phase 2: Distribuire Open Data Views Example: Results
    74. 74. Phase 2: Distribuire Open Data Views Example: ResultsResults
    75. 75. Phase 2: Distribuire Open Data Views Example: ResultsExposed form Results
    76. 76. Phase 2: Distribuire Open Data Views Example: ResultsExposed form Results RSS Export
    77. 77. Phase 2: Distribuire Open Data Views Example: ResultsExposed form Results RSS Export Click to download in other formats!
    78. 78. Phase 2: Distribuire Open Data Example: Geo tools
    79. 79. Phase 2: Distribuire Open Data Openlayers module Example: Geo tools
    80. 80. Phase 2: Distribuire Open Data Openlayers module Example: Geo tools Drupal nodes
    81. 81. Phase 2: Distribuire Open Data Example: Geo toolsLayer manager
    82. 82. Phase 2: Distribuire Open Data Example: Geo toolsLayer manager
    83. 83. Phase 2: Distribuire Open Data Example: Geo tools Views Datasource (json)Layer manager
    84. 84. Phase 2: Distribuire Open DataExample: Apache Solr -- http://drupal.org/project/apachesolr
    85. 85. Phase 2: Distribuire Open DataUsed on Drupal.org Example: Apache Solr -- http://drupal.org/project/apachesolr
    86. 86. Phase 2: Distribuire Open DataUsed on Drupal.org Example: Apache Solr -- http://drupal.org/project/apachesolr Faceted Search
    87. 87. Phase 2: Distribuire Open Data Used on Drupal.org Example: Apache Solr -- http://drupal.org/project/apachesolr• Powerful text extraction Faceted Search• Multisite search• Attachment search
    88. 88. Phase 3: Data processingFeeds: http://drupal.org/project/feeds
    89. 89. Phase 3: Data processingFeeds: http://drupal.org/project/feeds Pluggable fetcher
    90. 90. Phase 3: Data processing Feeds: http://drupal.org/project/feeds Pluggable fetcherPluggable parser
    91. 91. Phase 3: Data processing Feeds: http://drupal.org/project/feeds Pluggable fetcherPluggable parser Pluggable processors
    92. 92. Phase 3: Data processing Feeds: http://drupal.org/project/feeds Pluggable fetcherPluggable parser Pluggable processors
    93. 93. Phase 3: Data processing Feeds Parser Feeds Xpath Parser: http://drupal.org/project/feeds_xpathparser Feeds QueryPath Parser: http://drupal.org/project/feeds_querypath_parser Data importing projects http://drupal.org/project/migrate “The migrate module provides a flexible framework for migrating content into Drupal from other sources (e.g., when converting a web site from another CMS to Drupal)” http://drupal.org/project/data“Data module helps you model, manage and query related sets of tables. It offers an administration interface and a low level API for manipulating tables and accessing their contents. Dmodule provides Views integration for displaying table data and Drupal search integration for searching table content.”
    94. 94. Linked Datahttp://groups.drupal.org/semantic-web http://www.w3.org/2001/sw/
    95. 95. RDFhttp://openspring.net/blog/2011/05/01/background-research-work-leading-to-rdf-in-drupal-7-released-as-part-of-my-masters
    96. 96. RDFhttp://drupal.org/project/rdfxhttp://drupal.org/project/rdf (d6)API http://api.drupal.org/api/drupal/modules--rdf--rdf.module/group/rdf/7
    97. 97. RDF http://drupal.org/project/rdfx http://drupal.org/project/rdf (d6) API http://api.drupal.org/api/drupal/modules--rdf--rdf.module/group/rdf/7• RDFx: extends core RDF support by providing extra APIs and additional serialization formats such as RDF/XML, NTriples, Turtle...
    98. 98. RDF http://drupal.org/project/rdfx http://drupal.org/project/rdf (d6) API http://api.drupal.org/api/drupal/modules--rdf--rdf.module/group/rdf/7• RDFx: extends core RDF support by providing extra APIs and additional serialization formats such as RDF/XML, NTriples, Turtle...• RDF UI: allows site administrators to specify the RDF mappings via a user interface
    99. 99. RDF http://drupal.org/project/rdfx http://drupal.org/project/rdf (d6) API http://api.drupal.org/api/drupal/modules--rdf--rdf.module/group/rdf/7• RDFx: extends core RDF support by providing extra APIs and additional serialization formats such as RDF/XML, NTriples, Turtle...• RDF UI: allows site administrators to specify the RDF mappings via a user interface• Evoc: user interface to import vocabularies which can be used in RDF UI
    100. 100. RDF http://drupal.org/project/rdfx http://drupal.org/project/rdf (d6) API http://api.drupal.org/api/drupal/modules--rdf--rdf.module/group/rdf/7• RDFx: extends core RDF support by providing extra APIs and additional serialization formats such as RDF/XML, NTriples, Turtle...• RDF UI: allows site administrators to specify the RDF mappings via a user interface• Evoc: user interface to import vocabularies which can be used in RDF UI This RDF data can be made available in a SPARQL endpoint with the SPARQL module.
    101. 101. SPARQL http://drupal.org/project/sparqlSPARQL is a query language for pattern matching against RDF graphs. The syntax resembles SQL, making for a friendly learningcurve, but SPARQL is far more powerful, enabling queries spanning multiple disparate (local or remote) data sources containingheterogeneous semistructured data.
    102. 102. SPARQL http://drupal.org/project/sparqlSPARQL is a query language for pattern matching against RDF graphs. The syntax resembles SQL, making for a friendly learningcurve, but SPARQL is far more powerful, enabling queries spanning multiple disparate (local or remote) data sources containingheterogeneous semistructured data. •SPARQL API module
    103. 103. SPARQL http://drupal.org/project/sparqlSPARQL is a query language for pattern matching against RDF graphs. The syntax resembles SQL, making for a friendly learningcurve, but SPARQL is far more powerful, enabling queries spanning multiple disparate (local or remote) data sources containingheterogeneous semistructured data. •SPARQL API module •SPARQL Registry module
    104. 104. SPARQL http://drupal.org/project/sparqlSPARQL is a query language for pattern matching against RDF graphs. The syntax resembles SQL, making for a friendly learningcurve, but SPARQL is far more powerful, enabling queries spanning multiple disparate (local or remote) data sources containingheterogeneous semistructured data. •SPARQL API module •SPARQL Registry module •SPARQL Endpoint module
    105. 105. LOD Cloud“Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/”
    106. 106. References The Semantic Web, Linked Data and Drupal, Part 1: Expose your data using RDF http://www.ibm.com/developerworks/web/library/wa-rdf/index.html?ca=drs-The Semantic Web, Linked Data and Drupal, Part 2: Combine linked datasets with Drupal 7 and SPARQL Views http://www.ibm.com/developerworks/web/library/wa-rdf/index.html?ca=drs- Background research work leading to RDF in Drupal 7 released as part of my Masters thesishttp://openspring.net/blog/2011/05/01/background-research-work-leading-to-rdf-in-drupal-7-released-as-part-of-my-masters Background research work leading to RDF in Drupal 7 released as part of my Masters thesishttp://openspring.net/blog/2011/05/01/background-research-work-leading-to-rdf-in-drupal-7-released-as-part-of-my-masters “Hi, Im Lin Clark. I support open source and linked data.” http://lin-clark.com/
    107. 107. one more thingè in arrivo il primo contest italiano sugli OpenData http://www.appsforitaly.org/
    108. 108. Questions?
    109. 109. Rimaniamo in contatto! Stefano Mainardi Paolo Mainardi stefano@twinbit.it paolo@twinbit.ittwitter : @stefanomainardi twitter : @paolomainardi
    110. 110. Grazie!
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×