SlideShare a Scribd company logo
When Drupal meets Opendata
     PHPDay 2011 - Social tag #phpday
Chi siamo?
Chi siamo?
                  Stefano Mainardi,
             sviluppatore PHP, CEO di
              Twinbit e fondatore del
              network italiano ILDN

               Piacere di conoscervi!

                stefano@twinbit.it

             twitter : @stefanomainardi
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
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! :-)
Quanti di voi utilizzano Drupal?
Cosa sono gli “Open Data”?
definizione “accademica”

Con Open Data si fa riferimento ad una filosofia, che è al tempo
stesso una pratica, che implica che alcune tipologie di dati siano
liberamente accessibili a tutti sul Web, senza restrizioni di copyright,
brevetti o altre forme di controllo che ne limitino la riproduzione.
                                                              da Wikipedia
e quindi?
http://www.flickr.com/photos/f7oor/405046410/
Data is a precious thing and will last longer than the systems
                               themselves.
                                               Tim Berners-Lee




http://www.flickr.com/photos/f7oor/405046410/                     1/2
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-Lee


http://www.flickr.com/photos/f7oor/405046410/                                                                     2/2
“Economia della conoscenza”
When Drupal meets OpenData
When Drupal meets OpenData
When Drupal meets OpenData
When Drupal meets OpenData
When Drupal meets OpenData
ma in italia cosa succede?
When Drupal meets OpenData
When Drupal meets OpenData
il movimento OpenData italiano


                         http://linkedopendata.it/

                       http://spaghettiopendata.org/

                              http://datagov.it/

                        http://www.agoradigitale.org/

                          http://www.openpolis.it/
When Drupal meets OpenData
quali formati dobbiamo utilizzare?
.KML   .XML   .CSV .TXT   .GTFS   .JSON
.KML     .XML        .CSV .TXT                               .GTFS       .JSON

 insomma, formati standard che siano machine readable
                l’importante è non far nascere un flame sui formati :-)
.KML   .XML   .CSV .TXT   .GTFS   .JSON
.KML      .XML   .CSV .TXT   .GTFS   .JSON




Mobile Apps
.KML      .XML   .CSV .TXT   .GTFS   .JSON




Mobile Apps           Web Apps
.KML      .XML   .CSV .TXT   .GTFS   .JSON




Mobile Apps           Web Apps           Data API
I dati sono il carburante, le applicazioni sono il mezzo
When Drupal meets OpenData
47 web, iPhone & Facebook Apps
     $2,300,000 risparmiati
$50,000 il costo delle applicazioni
         +5000% in ROI
When Drupal meets OpenData
When Drupal meets OpenData
When Drupal meets OpenData
When Drupal meets OpenData
When Drupal meets OpenData
Perchè Drupal ?
Perchè Drupal ?

•   Una piattaforma pensata per fare Open Data (D7 RDFa, Nodes, Taxonomy)
Perchè Drupal ?

•   Una piattaforma pensata per fare Open Data (D7 RDFa, Nodes, Taxonomy)
•    Semplici interfacce di amministrazione per utenti non esperti (D7 UX)
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..)
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)
Perchè Drupal ?
Perchè Drupal ?

•CCK - Fields in core
Perchè Drupal ?

•CCK - Fields in core
•Feeds
Perchè Drupal ?

•CCK - Fields in core
•Feeds
•Views - Views datasource
Perchè Drupal ?

•CCK - Fields in core
•Feeds
•Views - Views datasource
•Geo Modules (Openlayers, Geofield)
Perchè Drupal ?

•CCK - Fields in core
•Feeds
•Views - Views datasource
•Geo Modules (Openlayers, Geofield)
•Supporto nativo per i Linked Data (RDFa)
Perchè Drupal ?

•CCK - Fields in core
•Feeds
•Views - Views datasource
•Geo Modules (Openlayers, Geofield)
•Supporto nativo per i Linked Data (RDFa)
•SPARQL
Case history di successo
           http://data.worldbank.org
Case history di successo
         http://www.aquaknow.net
Case history di successo
           http://data.gov.uk
             CKAN Dataset

                                Faceted Search by Apache Solr
Case history di successo
        http://www.openbelgium.be
Phase 1: Creare Open Data
Qualsiasi contenuto è potenzialmente un OpenData.....
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)
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:
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
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
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)
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
Phase 1: Creare Open Data
Creare un nuovo content type ed un vocabolario
Phase 1: Creare Open Data
Creare un nuovo content type ed un vocabolario
Phase 1: Creare Open Data
Creare un nuovo content type ed un vocabolario
                                                 DataTypes Vocabulary


                       License Vocabulary
Phase 1: Creare Open Data
Creare un nuovo content type ed un vocabolario
                                                 DataTypes Vocabulary


                       License Vocabulary




                                                                  Fields
Phase 1: Creare Open Data
Creare un nuovo content type ed un vocabolario
Phase 1: Creare Open Data
                          Creare un nuovo content type ed un vocabolario
Open data creation form
Phase 1: Creare Open Data
                          Creare un nuovo content type ed un vocabolario
Open data creation form
Phase 1: Creare Open Data
                          Creare un nuovo content type ed un vocabolario
Open data creation form


                                   Taxonomy
Phase 1: Creare Open Data
                          Creare un nuovo content type ed un vocabolario
Open data creation form


                                   Taxonomy
                                                                           Data properties
Phase 1: Creare Open Data
                          Creare un nuovo content type ed un vocabolario
Open data creation form


                                   Taxonomy
                                                                           Data properties




                                                                           Comments
Phase 2: Distribuire Open Data
Come posso distribuire i miei dati ?
Phase 2: Distribuire Open Data
     Come posso distribuire i miei dati ?



              core




x/html
Phase 2: Distribuire Open Data
     Come posso distribuire i miei dati ?



              core




x/html


RDFa
Phase 2: Distribuire Open Data
     Come posso distribuire i miei dati ?



                core




x/html    RSS

RDFa
Phase 2: Distribuire Open Data
     Come posso distribuire i miei dati ?



                core        contrib modules




x/html    RSS                         json
                       xml
                          rdf
RDFa                            csv
Phase 2: Distribuire Open Data
     Come posso distribuire i miei dati ?



                core           contrib modules




x/html    RSS                         json
                       xml
                          rdf
RDFa                            csv
                       Views + Views Datasource
Phase 2: Distribuire Open Data
     Come posso distribuire i miei dati ?



                core           contrib modules


                                                         charts
x/html    RSS                         json        kml {$other formats}
                       xml
                          rdf
RDFa                            csv
                       Views + Views Datasource
Phase 2: Distribuire Open Data
     Come posso distribuire i miei dati ?



                core           contrib modules


                                                            charts
x/html    RSS                         json          kml {$other formats}
                       xml
                          rdf
RDFa                            csv               http://drupal.org/project/modules

                       Views + Views Datasource
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


                                                                 charts
x/html    RSS                         json            kml {$other formats}
                       xml
                          rdf
RDFa                            csv               http://drupal.org/project/modules

                       Views + Views Datasource
Phase 2: Distribuire Open Data
Views Example: Create a new display
Phase 2: Distribuire Open Data
                                 Views Example: Create a new display




Filter by “data” type contents
Phase 2: Distribuire Open Data
                                 Views Example: Create a new display




         Select fields to print




Filter by “data” type contents
Phase 2: Distribuire Open Data
                                 Views Example: Create a new display




      Print results on a table



         Select fields to print




Filter by “data” type contents
Phase 2: Distribuire Open Data
                                 Views Example: Create a new display




      Print results on a table



         Select fields to print




Filter by “data” type contents
                                             Expose search fields
Phase 2: Distribuire Open Data
                                 Views Example: Create a new display



               Output type




      Print results on a table



         Select fields to print




Filter by “data” type contents
                                             Expose search fields
Phase 2: Distribuire Open Data
     Views Example: Results
Phase 2: Distribuire Open Data
               Views Example: Results




Results
Phase 2: Distribuire Open Data
                    Views Example: Results




Exposed form




 Results
Phase 2: Distribuire Open Data
                                 Views Example: Results




Exposed form




 Results




               RSS Export
Phase 2: Distribuire Open Data
                                 Views Example: Results




Exposed form




 Results




               RSS Export                                 Click to download in other formats!
Phase 2: Distribuire Open Data
      Example: Geo tools
Phase 2: Distribuire Open Data
                                 Openlayers module
      Example: Geo tools
Phase 2: Distribuire Open Data
                                            Openlayers module
      Example: Geo tools
                                 Drupal nodes
Phase 2: Distribuire Open Data
                      Example: Geo tools




Layer manager
Phase 2: Distribuire Open Data
                      Example: Geo tools




Layer manager
Phase 2: Distribuire Open Data
                      Example: Geo tools         Views Datasource (json)




Layer manager
Phase 2: Distribuire Open Data
Example: Apache Solr -- http://drupal.org/project/apachesolr
Phase 2: Distribuire Open Data
Used on Drupal.org   Example: Apache Solr -- http://drupal.org/project/apachesolr
Phase 2: Distribuire Open Data
Used on Drupal.org   Example: Apache Solr -- http://drupal.org/project/apachesolr




                                                                                    Faceted Search
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
Phase 3: Data processing
Feeds: http://drupal.org/project/feeds
Phase 3: Data processing
Feeds: http://drupal.org/project/feeds



                              Pluggable fetcher
Phase 3: Data processing
                   Feeds: http://drupal.org/project/feeds



                                                 Pluggable fetcher
Pluggable parser
Phase 3: Data processing
                   Feeds: http://drupal.org/project/feeds



                                                 Pluggable fetcher
Pluggable parser


                                                                     Pluggable processors
Phase 3: Data processing
                   Feeds: http://drupal.org/project/feeds



                                                 Pluggable fetcher
Pluggable parser


                                                                     Pluggable processors
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. D
module provides Views integration for displaying table data and Drupal search integration for searching table content.”
Linked Data
http://groups.drupal.org/semantic-web
      http://www.w3.org/2001/sw/
RDF
http://openspring.net/blog/2011/05/01/background-research-work-leading-to-rdf-in-drupal-7-released-as-part-of-my-masters
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
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
                                       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
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
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.
SPARQL
                                      http://drupal.org/project/sparql

SPARQL is a query language for pattern matching against RDF graphs. The syntax resembles SQL, making for a friendly learning
curve, but SPARQL is far more powerful, enabling queries spanning multiple disparate (local or remote) data sources containing
heterogeneous semistructured data.
SPARQL
                                      http://drupal.org/project/sparql

SPARQL is a query language for pattern matching against RDF graphs. The syntax resembles SQL, making for a friendly learning
curve, but SPARQL is far more powerful, enabling queries spanning multiple disparate (local or remote) data sources containing
heterogeneous semistructured data.



                                         •SPARQL API module
SPARQL
                                      http://drupal.org/project/sparql

SPARQL is a query language for pattern matching against RDF graphs. The syntax resembles SQL, making for a friendly learning
curve, but SPARQL is far more powerful, enabling queries spanning multiple disparate (local or remote) data sources containing
heterogeneous semistructured data.



                                         •SPARQL API module
                                         •SPARQL Registry module
SPARQL
                                      http://drupal.org/project/sparql

SPARQL is a query language for pattern matching against RDF graphs. The syntax resembles SQL, making for a friendly learning
curve, but SPARQL is far more powerful, enabling queries spanning multiple disparate (local or remote) data sources containing
heterogeneous semistructured data.



                                         •SPARQL API module
                                         •SPARQL Registry module
                                         •SPARQL Endpoint module
LOD Cloud




“Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/”
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 Master's thesis
http://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 Master's thesis
http://openspring.net/blog/2011/05/01/background-research-work-leading-to-rdf-in-drupal-7-released-as-part-of-my-masters


                    “Hi, I'm Lin Clark. I support open source and linked data.”
                                                  http://lin-clark.com/
one more thing




è in arrivo il primo contest italiano sugli OpenData
           http://www.appsforitaly.org/
Questions?
Rimaniamo in contatto!


 Stefano Mainardi              Paolo Mainardi
    stefano@twinbit.it           paolo@twinbit.it
twitter : @stefanomainardi   twitter : @paolomainardi
Grazie!

More Related Content

PDF
Drupal Day 2011 - Thinking spatially with your open data
PPTX
Slow-cooked data and APIs in the world of Big Data: the view from a city per...
PPTX
Linked Statistical Data: does it actually pay off?
PPTX
EKAW2014 Keynote: Ontology Engineering for and by the Masses: are we already ...
PPS
Sprint linked open_data_with_drupal
PDF
Informal presentation about RES
PPTX
Introduction to the Semantic Web
PDF
ISWC 2014 - Dandelion: from raw data to dataGEMs for developers
Drupal Day 2011 - Thinking spatially with your open data
Slow-cooked data and APIs in the world of Big Data: the view from a city per...
Linked Statistical Data: does it actually pay off?
EKAW2014 Keynote: Ontology Engineering for and by the Masses: are we already ...
Sprint linked open_data_with_drupal
Informal presentation about RES
Introduction to the Semantic Web
ISWC 2014 - Dandelion: from raw data to dataGEMs for developers

What's hot (20)

PDF
Data Curation @ SpazioDati - NEXA Lunch Seminar
PPT
Unlocking Doors: recent initiatives in open and linked data at the National L...
PPTX
Introduction to Linked Data
PPT
Open Knowledge Foundation Edinburgh meet-up #3
PDF
Chasing the Fifth Star - Open Data at the National Library of NZ
PDF
ICT4D course 2013 - Sugar
PDF
Why Link?
PDF
Text analytics for Google Spreadsheets using Text Mining add-on
PPTX
When the Web of Linked Data Arrives
PDF
Pundit at the Final DM2E event
PPTX
Edina cigs-21-september-2012
PPTX
What is #LODLAM?! Understanding linked open data in libraries, archives [and ...
PDF
Using entity extraction extension with OpenRefine and Dandelion API
PPT
RDF and Open Linked Data, a first approach
PDF
VALA Tech Camp 2017: Intro to Wikidata & SPARQL
PPTX
The Europeana Strategy and Linked Open Data
PPTX
Viaf and isni ifla 2013 08-16
PPTX
ASA Trial Workshop Slides for Archives NZ [2016-09-28]
Data Curation @ SpazioDati - NEXA Lunch Seminar
Unlocking Doors: recent initiatives in open and linked data at the National L...
Introduction to Linked Data
Open Knowledge Foundation Edinburgh meet-up #3
Chasing the Fifth Star - Open Data at the National Library of NZ
ICT4D course 2013 - Sugar
Why Link?
Text analytics for Google Spreadsheets using Text Mining add-on
When the Web of Linked Data Arrives
Pundit at the Final DM2E event
Edina cigs-21-september-2012
What is #LODLAM?! Understanding linked open data in libraries, archives [and ...
Using entity extraction extension with OpenRefine and Dandelion API
RDF and Open Linked Data, a first approach
VALA Tech Camp 2017: Intro to Wikidata & SPARQL
The Europeana Strategy and Linked Open Data
Viaf and isni ifla 2013 08-16
ASA Trial Workshop Slides for Archives NZ [2016-09-28]
Ad

Similar to When Drupal meets OpenData (20)

PDF
Open data 4 startups (2°edition)
PDF
Open Data 4 Startups
PDF
Open data 4 Startups @ Digital Festival Torino
PDF
Open Data - technical approach
PDF
Ponencia de Dave Harte: Lo que viene: concepto 3.0
PDF
Open Data and Artificial Intelligence
PDF
What is Open Data?
PPT
Open + Internet of Things
PPTX
(PROJEKTURA) open data big data @tgg osijek
PPTX
Open Science - overview part 2: open data
PDF
Why 5-Star Data?
PDF
Open data and linked data
PDF
Linked Data an Introduction
PPT
MuseoTorino, first italian project using a GraphDB, RDFa, Linked Open Data
KEY
Open Data Semantic Web Community Barn Raising
PPTX
Data on the web
PDF
Open iot2012 talk, Open Knowledge Foundation
PDF
(PROJEKTURA) Big Data Open Data story for TGG
PPT
Open Data for Enterprises
PDF
EDF2012: The Web of Data and its Five Stars
Open data 4 startups (2°edition)
Open Data 4 Startups
Open data 4 Startups @ Digital Festival Torino
Open Data - technical approach
Ponencia de Dave Harte: Lo que viene: concepto 3.0
Open Data and Artificial Intelligence
What is Open Data?
Open + Internet of Things
(PROJEKTURA) open data big data @tgg osijek
Open Science - overview part 2: open data
Why 5-Star Data?
Open data and linked data
Linked Data an Introduction
MuseoTorino, first italian project using a GraphDB, RDFa, Linked Open Data
Open Data Semantic Web Community Barn Raising
Data on the web
Open iot2012 talk, Open Knowledge Foundation
(PROJEKTURA) Big Data Open Data story for TGG
Open Data for Enterprises
EDF2012: The Web of Data and its Five Stars
Ad

More from Twinbit (10)

PPTX
Drupal 7 : theming avanzato
PDF
Drupal Agile: DRUPAL ED IL MERCATO ENTERPRISE
PDF
Drupal performance and scalability
PDF
Managing Spatial Information and Services with Drupal: the GEO-MOOD approach
PDF
Which base theme for your Drupal project
KEY
Mobile Drupal
PDF
Thinking spatially with your open data
KEY
Drupal in the Cloud
KEY
Drupal + Facebook @ DrupalSocialCulb
KEY
Sviluppare applicazioni Facebook utilizzando Drupal
Drupal 7 : theming avanzato
Drupal Agile: DRUPAL ED IL MERCATO ENTERPRISE
Drupal performance and scalability
Managing Spatial Information and Services with Drupal: the GEO-MOOD approach
Which base theme for your Drupal project
Mobile Drupal
Thinking spatially with your open data
Drupal in the Cloud
Drupal + Facebook @ DrupalSocialCulb
Sviluppare applicazioni Facebook utilizzando Drupal

Recently uploaded (20)

PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
KodekX | Application Modernization Development
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Cloud computing and distributed systems.
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Encapsulation theory and applications.pdf
PPT
Teaching material agriculture food technology
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
NewMind AI Weekly Chronicles - August'25 Week I
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
cuic standard and advanced reporting.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
KodekX | Application Modernization Development
MYSQL Presentation for SQL database connectivity
Cloud computing and distributed systems.
Understanding_Digital_Forensics_Presentation.pptx
Encapsulation theory and applications.pdf
Teaching material agriculture food technology
Programs and apps: productivity, graphics, security and other tools
NewMind AI Weekly Chronicles - August'25 Week I
The AUB Centre for AI in Media Proposal.docx
cuic standard and advanced reporting.pdf
Big Data Technologies - Introduction.pptx
Chapter 3 Spatial Domain Image Processing.pdf
Spectral efficient network and resource selection model in 5G networks
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Diabetes mellitus diagnosis method based random forest with bat algorithm
Digital-Transformation-Roadmap-for-Companies.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...

When Drupal meets OpenData

  • 1. When Drupal meets Opendata PHPDay 2011 - Social tag #phpday
  • 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. 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. 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. Quanti di voi utilizzano Drupal?
  • 7. Cosa sono gli “Open Data”?
  • 8. definizione “accademica” Con Open Data si fa riferimento ad una filosofia, che è al tempo stesso una pratica, che implica che alcune tipologie di dati siano liberamente accessibili a tutti sul Web, senza restrizioni di copyright, brevetti o altre forme di controllo che ne limitino la riproduzione. da Wikipedia
  • 11. Data is a precious thing and will last longer than the systems themselves. Tim Berners-Lee http://www.flickr.com/photos/f7oor/405046410/ 1/2
  • 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-Lee http://www.flickr.com/photos/f7oor/405046410/ 2/2
  • 19. ma in italia cosa succede?
  • 22. il movimento OpenData italiano http://linkedopendata.it/ http://spaghettiopendata.org/ http://datagov.it/ http://www.agoradigitale.org/ http://www.openpolis.it/
  • 24. quali formati dobbiamo utilizzare?
  • 25. .KML .XML .CSV .TXT .GTFS .JSON
  • 26. .KML .XML .CSV .TXT .GTFS .JSON insomma, formati standard che siano machine readable l’importante è non far nascere un flame sui formati :-)
  • 27. .KML .XML .CSV .TXT .GTFS .JSON
  • 28. .KML .XML .CSV .TXT .GTFS .JSON Mobile Apps
  • 29. .KML .XML .CSV .TXT .GTFS .JSON Mobile Apps Web Apps
  • 30. .KML .XML .CSV .TXT .GTFS .JSON Mobile Apps Web Apps Data API
  • 31. I dati sono il carburante, le applicazioni sono il mezzo
  • 33. 47 web, iPhone & Facebook Apps $2,300,000 risparmiati $50,000 il costo delle applicazioni +5000% in ROI
  • 40. Perchè Drupal ? • Una piattaforma pensata per fare Open Data (D7 RDFa, Nodes, Taxonomy)
  • 41. Perchè Drupal ? • Una piattaforma pensata per fare Open Data (D7 RDFa, Nodes, Taxonomy) • Semplici interfacce di amministrazione per utenti non esperti (D7 UX)
  • 42. 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..)
  • 43. 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)
  • 45. Perchè Drupal ? •CCK - Fields in core
  • 46. Perchè Drupal ? •CCK - Fields in core •Feeds
  • 47. Perchè Drupal ? •CCK - Fields in core •Feeds •Views - Views datasource
  • 48. Perchè Drupal ? •CCK - Fields in core •Feeds •Views - Views datasource •Geo Modules (Openlayers, Geofield)
  • 49. Perchè Drupal ? •CCK - Fields in core •Feeds •Views - Views datasource •Geo Modules (Openlayers, Geofield) •Supporto nativo per i Linked Data (RDFa)
  • 50. Perchè Drupal ? •CCK - Fields in core •Feeds •Views - Views datasource •Geo Modules (Openlayers, Geofield) •Supporto nativo per i Linked Data (RDFa) •SPARQL
  • 51. Case history di successo http://data.worldbank.org
  • 52. Case history di successo http://www.aquaknow.net
  • 53. Case history di successo http://data.gov.uk CKAN Dataset Faceted Search by Apache Solr
  • 54. Case history di successo http://www.openbelgium.be
  • 55. Phase 1: Creare Open Data Qualsiasi contenuto è potenzialmente un OpenData.....
  • 56. 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)
  • 57. 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:
  • 58. 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
  • 59. 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
  • 60. 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)
  • 61. 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
  • 62. Phase 1: Creare Open Data Creare un nuovo content type ed un vocabolario
  • 63. Phase 1: Creare Open Data Creare un nuovo content type ed un vocabolario
  • 64. Phase 1: Creare Open Data Creare un nuovo content type ed un vocabolario DataTypes Vocabulary License Vocabulary
  • 65. Phase 1: Creare Open Data Creare un nuovo content type ed un vocabolario DataTypes Vocabulary License Vocabulary Fields
  • 66. Phase 1: Creare Open Data Creare un nuovo content type ed un vocabolario
  • 67. Phase 1: Creare Open Data Creare un nuovo content type ed un vocabolario Open data creation form
  • 68. Phase 1: Creare Open Data Creare un nuovo content type ed un vocabolario Open data creation form
  • 69. Phase 1: Creare Open Data Creare un nuovo content type ed un vocabolario Open data creation form Taxonomy
  • 70. Phase 1: Creare Open Data Creare un nuovo content type ed un vocabolario Open data creation form Taxonomy Data properties
  • 71. Phase 1: Creare Open Data Creare un nuovo content type ed un vocabolario Open data creation form Taxonomy Data properties Comments
  • 72. Phase 2: Distribuire Open Data Come posso distribuire i miei dati ?
  • 73. Phase 2: Distribuire Open Data Come posso distribuire i miei dati ? core x/html
  • 74. Phase 2: Distribuire Open Data Come posso distribuire i miei dati ? core x/html RDFa
  • 75. Phase 2: Distribuire Open Data Come posso distribuire i miei dati ? core x/html RSS RDFa
  • 76. Phase 2: Distribuire Open Data Come posso distribuire i miei dati ? core contrib modules x/html RSS json xml rdf RDFa csv
  • 77. Phase 2: Distribuire Open Data Come posso distribuire i miei dati ? core contrib modules x/html RSS json xml rdf RDFa csv Views + Views Datasource
  • 78. Phase 2: Distribuire Open Data Come posso distribuire i miei dati ? core contrib modules charts x/html RSS json kml {$other formats} xml rdf RDFa csv Views + Views Datasource
  • 79. Phase 2: Distribuire Open Data Come posso distribuire i miei dati ? core contrib modules charts x/html RSS json kml {$other formats} xml rdf RDFa csv http://drupal.org/project/modules Views + Views Datasource
  • 80. 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 charts x/html RSS json kml {$other formats} xml rdf RDFa csv http://drupal.org/project/modules Views + Views Datasource
  • 81. Phase 2: Distribuire Open Data Views Example: Create a new display
  • 82. Phase 2: Distribuire Open Data Views Example: Create a new display Filter by “data” type contents
  • 83. Phase 2: Distribuire Open Data Views Example: Create a new display Select fields to print Filter by “data” type contents
  • 84. Phase 2: Distribuire Open Data Views Example: Create a new display Print results on a table Select fields to print Filter by “data” type contents
  • 85. Phase 2: Distribuire Open Data Views Example: Create a new display Print results on a table Select fields to print Filter by “data” type contents Expose search fields
  • 86. Phase 2: Distribuire Open Data Views Example: Create a new display Output type Print results on a table Select fields to print Filter by “data” type contents Expose search fields
  • 87. Phase 2: Distribuire Open Data Views Example: Results
  • 88. Phase 2: Distribuire Open Data Views Example: Results Results
  • 89. Phase 2: Distribuire Open Data Views Example: Results Exposed form Results
  • 90. Phase 2: Distribuire Open Data Views Example: Results Exposed form Results RSS Export
  • 91. Phase 2: Distribuire Open Data Views Example: Results Exposed form Results RSS Export Click to download in other formats!
  • 92. Phase 2: Distribuire Open Data Example: Geo tools
  • 93. Phase 2: Distribuire Open Data Openlayers module Example: Geo tools
  • 94. Phase 2: Distribuire Open Data Openlayers module Example: Geo tools Drupal nodes
  • 95. Phase 2: Distribuire Open Data Example: Geo tools Layer manager
  • 96. Phase 2: Distribuire Open Data Example: Geo tools Layer manager
  • 97. Phase 2: Distribuire Open Data Example: Geo tools Views Datasource (json) Layer manager
  • 98. Phase 2: Distribuire Open Data Example: Apache Solr -- http://drupal.org/project/apachesolr
  • 99. Phase 2: Distribuire Open Data Used on Drupal.org Example: Apache Solr -- http://drupal.org/project/apachesolr
  • 100. Phase 2: Distribuire Open Data Used on Drupal.org Example: Apache Solr -- http://drupal.org/project/apachesolr Faceted Search
  • 101. 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
  • 102. Phase 3: Data processing Feeds: http://drupal.org/project/feeds
  • 103. Phase 3: Data processing Feeds: http://drupal.org/project/feeds Pluggable fetcher
  • 104. Phase 3: Data processing Feeds: http://drupal.org/project/feeds Pluggable fetcher Pluggable parser
  • 105. Phase 3: Data processing Feeds: http://drupal.org/project/feeds Pluggable fetcher Pluggable parser Pluggable processors
  • 106. Phase 3: Data processing Feeds: http://drupal.org/project/feeds Pluggable fetcher Pluggable parser Pluggable processors
  • 107. 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. D module provides Views integration for displaying table data and Drupal search integration for searching table content.”
  • 108. Linked Data http://groups.drupal.org/semantic-web http://www.w3.org/2001/sw/
  • 111. 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...
  • 112. 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
  • 113. 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
  • 114. 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.
  • 115. SPARQL http://drupal.org/project/sparql SPARQL is a query language for pattern matching against RDF graphs. The syntax resembles SQL, making for a friendly learning curve, but SPARQL is far more powerful, enabling queries spanning multiple disparate (local or remote) data sources containing heterogeneous semistructured data.
  • 116. SPARQL http://drupal.org/project/sparql SPARQL is a query language for pattern matching against RDF graphs. The syntax resembles SQL, making for a friendly learning curve, but SPARQL is far more powerful, enabling queries spanning multiple disparate (local or remote) data sources containing heterogeneous semistructured data. •SPARQL API module
  • 117. SPARQL http://drupal.org/project/sparql SPARQL is a query language for pattern matching against RDF graphs. The syntax resembles SQL, making for a friendly learning curve, but SPARQL is far more powerful, enabling queries spanning multiple disparate (local or remote) data sources containing heterogeneous semistructured data. •SPARQL API module •SPARQL Registry module
  • 118. SPARQL http://drupal.org/project/sparql SPARQL is a query language for pattern matching against RDF graphs. The syntax resembles SQL, making for a friendly learning curve, but SPARQL is far more powerful, enabling queries spanning multiple disparate (local or remote) data sources containing heterogeneous semistructured data. •SPARQL API module •SPARQL Registry module •SPARQL Endpoint module
  • 119. LOD Cloud “Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/”
  • 120. 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 Master's thesis http://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 Master's thesis http://openspring.net/blog/2011/05/01/background-research-work-leading-to-rdf-in-drupal-7-released-as-part-of-my-masters “Hi, I'm Lin Clark. I support open source and linked data.” http://lin-clark.com/
  • 121. one more thing è in arrivo il primo contest italiano sugli OpenData http://www.appsforitaly.org/
  • 123. Rimaniamo in contatto! Stefano Mainardi Paolo Mainardi stefano@twinbit.it paolo@twinbit.it twitter : @stefanomainardi twitter : @paolomainardi

Editor's Notes