SlideShare ist ein Scribd-Unternehmen logo
1 von 56
Downloaden Sie, um offline zu lesen
The Semantic Web and
              Drupal 7




Stéphane Corlosquet
Drupal Summit Latino – Loja, Ecuador
March, 2013
About the speaker
●   Stéphane “scor” Corlosquet
    ●   7 years with Drupal
    ●   Software engineer at Acquia
    ●   Drupal 7 RDF core maintainer
    ●   Drupal Security Team member
    ●   Co-authored the
        Definitive Guide to Drupal 7
    ●   Contrib modules: RDF Extensions,
        SPARQL, schema.org, WebID
    ●   Member of the RDFa WG at W3C
The Semantic Web
The Web today
Many information silos




Image credits: www.pidgintech.com
Many isolated and disparate communities




Image credits: www.pidgintech.com
Growing amount of information
●   Blogs, News, Comments
●   Social platforms: Facebook, Google plus
●   Everyday more and more content is published
●   Desktop, laptops, tablets, smartphones...
●   Sensor data for weather, traffic, healthcare
●   Billions of public pages
●   Deep web?
What do machines see?
Challenge:

How can machines help us
search all this information?
Vision of the Semantic Web
●   Transition to the Giant Global Graph
    ●   WWW = content+links


    ●   GGG = WWW+relationships+descriptions


●   Universal medium for data, information and
    knowledge exchange
Evolution of the Web
The One Machine
●   All devices connected
    ●   Personal computers
    ●   Data servers
    ●   Cell phones
    ●   PDAs
    ●   RFID tags




                       http://www.kk.org/thetechnium/archives/2007/11/dimensions_of_t.php
Key
●   Agree on Standards



●   Open Data
Rich Snippets
Google
Yahoo!
Bing
Why Structured Data in HTML

●   Helps machines extract
    relevant data from HTML
●   Can make use of this data
    in new ways:
       –enhanced search results
      – Knowledge graph
●   Search engines only index HTML
Structured Data in HTML


●   HTML attributes

●   Syntaxes
       –   Microformats (@class, @rel)
       –   RDFa (@property, @typeof, @resource…)
       –   Microdata (@itemscope, @itemtype, @itemprop, …)
Structured Data in HTML
●   Evolution and cross-syntax influence
Schema.org
Schema.org
●   Describe the type of your content (Person,
    Event, Recipe, Product, Book, Movie, etc.)
       –   416 types and counting
●   Each type has a set of properties
       –   Common properties: name, description, image, url
       –   Specific properties depending on the type (see type page
           on schema.org)
       –   544 properties and counting
Credits: Dan Brickley - link.
Schema.org
How does schema.org apply to Drupal?
●   Content types
How does schema.org apply to Drupal?
●   From content types to RDF
Schema.org module for Drupal
●   Map your content types and fields to the
    schema.org terms




                          http://drupal.org/project/schemaorg
Content types and Fields
Content types and Fields
Content types and Fields
Example: Event
Rich Snippet testing tool
●   http://www.google.com/webmasters/tools/richsnippets
Examples
●   Events
      –   “force11 events”: http://goo.gl/VVhNM
      –   DrupalCon Munich: http://goo.gl/jgMvw
      –   University of Waterloo: http://goo.gl/Df9hp


●   Person
      –   DGD7 – Jacine Luisi: http://t.co/rTK8N9K2
      –   Stéphane Corlosquet: http://goo.gl/9dWdL
Drupal, rNews and RDFa

Open Publish
●   Free Drupal distribution for building News sites
●   rNews support in RDFa
●   Download
Useful modules
●   http://drupal.org/project/schemaorg
       –   UI for mapping content types and fields to schema.org
       –   Documentation on drupal.org
       –   Screencast + examples
●   http://drupal.org/project/rdfa
       –   Implements the latest RDFa 1.1 (Drupal core is 1.0)
       –   HTML5 and RDFa
       –   Under development
●   http://drupal.org/project/microdata
       –   Standalone module
       –   HTML5 Microdata
Schema.org module


                    Play time!

      http://bit.ly/schema-event
http://www.google.com/webmasters/tools/richsnippets
Beyond SEO:
How is RDF architected
      in Drupal 7
History of RDF in Drupal
●   rdf.php (2000, Dries)
●   FOAF, vCard (2004, walkah)
●   Relationship (2005, dman)
●   Semantic Search (2006, hendler)
●   RDF (2007, Arto)
●   OpenCalais (febbraro, 2008)
●   RDF CCK (2008, scor)
Architecture
●   User driven data model
●   Content type => RDF class
●   Field => RDF property
●   Node => RDF resource




                        http://en.wikipedia.org/wiki/File:Oriente_Station_Lisboa_roof.jpg
Content types and Fields
Content types and Fields
Node
Drupal 7 and RDF

●   The RDF mapping API allows any vocabulary
●   Default mappings on blogs, forums, comments,
    etc. using FOAF, SIOC, DC, SKOS
●   Drupal 7 core outputs these mappings in RDFa
●   Mappings can be changed to include other
    vocabularies like schema.org
Drupal 7 default RDF mappings
Drupal 7 core RDF limitations
●   No schema.org out of the box
●   No UI for managing the RDF mappings
●   Only core fields are supported (text, file, image)
       –   No support for contrib fields: addressfield, fivestar
●   No native support for Views or Panels
       –   Display suite 2.0 is OK
●   Some contrib modules can help
●   Drupal 8 to fix these many of these issues
Drupal 7 and RDF
●   Contributed module for more features
    ●   RDF Extensions
           ●   Serialization formats: RDF/XML, Turtle, N-Triples
           ●   Mapping UI
    ●   SPARQL
           ●   Expose Drupal RDF data in a SPARQL Endpoint
    ●   SPARQL Views
           ●   Display remote RDF data in Drupal using SPARQL
    ●   JSON-LD
           ●   Expose Drupal RDF data as JSON-LD (CORS-enabled)
    ●   Features and packaging
           ●   Build distributions / deployment workflow
SPARQL Endpoint
●   Indexing




     http://drupal.org/project/sparql
SPARQL Endpoint
●   Public endpoint available at /sparql
●   http://prefix.cc/sioc,rnews.sparql
RDFa 1.1
●   Published as W3C Recommendation
●   RDFa Lite
●   RDFa 1.1 Full
●   Leaner markup
●   http://rdfa.info/play/
RDFa 1.1
●   Works with HTML5
●   No dependency on XHTML
●   HTML5 doctype
●   Popular themes have been updated (Omega,
    Zen, Adaptive Themes)
Demos
rNews by International Press
Telecommunications Council (IPTC)
  –    Open Publish


      PREFIX rnews: <http://iptc.org/std/rNews/2011-10-07#>

      SELECT * WHERE {
        ?s a rnews:Article;
          rnews:name ?title.
      }
JSON-LD in Drupal
●   Client side as well as server side friendly
●   Browser Scripting:
       –   Native javascript format
       –   RDFa API in the DOM
●   Data can be fetched from anywhere:
       –   Cross-Origin Resource Sharing (CORS) enabled
●   Client can mash data
●   http://drupal.org/project/jsonld
Demos
●   Occupy Directory
      –   http://directory.occupy.net/occupations
      –   JSON-LD: http://directory.occupy.net/node/19652.jsonld



●   Federated General Assembly
      –   Drupal distribution for occupy movement
      –   http://wiki.occupy.net/wiki/Federated_General_Assembly
Domeo + Drupal
●   Data mash up from independent, but related
    sources
Domeo + Drupal
●   Data mash up from independent, but related
    sources
Thanks!

●   Stéphane Corlosquet: scorlosquet@gmail.com
      –   @scorlosquet
      –   http://openspring.net/

Weitere ähnliche Inhalte

Was ist angesagt?

Semantic Media Management with Apache Marmotta
Semantic Media Management with Apache MarmottaSemantic Media Management with Apache Marmotta
Semantic Media Management with Apache Marmotta
Thomas Kurz
 
Linked data enhanced publishing for special collections (with Drupal)
Linked data enhanced publishing for special collections (with Drupal)Linked data enhanced publishing for special collections (with Drupal)
Linked data enhanced publishing for special collections (with Drupal)
Joachim Neubert
 
Semantics, rdf and drupal
Semantics, rdf and drupalSemantics, rdf and drupal
Semantics, rdf and drupal
Gokul Nk
 
ckan 2.0 Introduction (20140522 updated)
ckan 2.0 Introduction  (20140522 updated)ckan 2.0 Introduction  (20140522 updated)
ckan 2.0 Introduction (20140522 updated)
Chengjen Lee
 
ckan 2.0 Introduction
ckan 2.0 Introductionckan 2.0 Introduction
ckan 2.0 Introduction
Chengjen Lee
 
Portland Common Data Model (PCDM): Creating and Sharing Complex Digital Objects
Portland Common Data Model (PCDM): Creating and Sharing Complex Digital ObjectsPortland Common Data Model (PCDM): Creating and Sharing Complex Digital Objects
Portland Common Data Model (PCDM): Creating and Sharing Complex Digital Objects
Karen Estlund
 
This is an interesting metadata source. Can I import it into Koha?
This is an interesting metadata source. Can I import it into Koha?This is an interesting metadata source. Can I import it into Koha?
This is an interesting metadata source. Can I import it into Koha?
Dobrica Pavlinušić
 
ckan 2.0 Introduction (20140618 updated)
ckan 2.0 Introduction (20140618 updated)ckan 2.0 Introduction (20140618 updated)
ckan 2.0 Introduction (20140618 updated)
Chengjen Lee
 

Was ist angesagt? (19)

When Drupal and RDF meet
When Drupal and RDF meetWhen Drupal and RDF meet
When Drupal and RDF meet
 
Geospatial Querying in Apache Marmotta - Apache Big Data North America 2016
Geospatial Querying in Apache Marmotta -  Apache Big Data North America 2016Geospatial Querying in Apache Marmotta -  Apache Big Data North America 2016
Geospatial Querying in Apache Marmotta - Apache Big Data North America 2016
 
Semantic Media Management with Apache Marmotta
Semantic Media Management with Apache MarmottaSemantic Media Management with Apache Marmotta
Semantic Media Management with Apache Marmotta
 
Drupal 7 and RDF
Drupal 7 and RDFDrupal 7 and RDF
Drupal 7 and RDF
 
Linked data enhanced publishing for special collections (with Drupal)
Linked data enhanced publishing for special collections (with Drupal)Linked data enhanced publishing for special collections (with Drupal)
Linked data enhanced publishing for special collections (with Drupal)
 
Semantics, rdf and drupal
Semantics, rdf and drupalSemantics, rdf and drupal
Semantics, rdf and drupal
 
Integrating Drupal with a Triple Store
Integrating Drupal with a Triple StoreIntegrating Drupal with a Triple Store
Integrating Drupal with a Triple Store
 
Eclipse RDF4J - Working with RDF in Java
Eclipse RDF4J - Working with RDF in JavaEclipse RDF4J - Working with RDF in Java
Eclipse RDF4J - Working with RDF in Java
 
Introduction to LDP in Apache Marmotta
Introduction to LDP in Apache MarmottaIntroduction to LDP in Apache Marmotta
Introduction to LDP in Apache Marmotta
 
Linked Data, Ontologies and Inference
Linked Data, Ontologies and InferenceLinked Data, Ontologies and Inference
Linked Data, Ontologies and Inference
 
ckan 2.0 Introduction (20140522 updated)
ckan 2.0 Introduction  (20140522 updated)ckan 2.0 Introduction  (20140522 updated)
ckan 2.0 Introduction (20140522 updated)
 
No SQL Technologies
No SQL TechnologiesNo SQL Technologies
No SQL Technologies
 
ckan 2.0 Introduction
ckan 2.0 Introductionckan 2.0 Introduction
ckan 2.0 Introduction
 
Portland Common Data Model (PCDM): Creating and Sharing Complex Digital Objects
Portland Common Data Model (PCDM): Creating and Sharing Complex Digital ObjectsPortland Common Data Model (PCDM): Creating and Sharing Complex Digital Objects
Portland Common Data Model (PCDM): Creating and Sharing Complex Digital Objects
 
CKANCon 2016 & IODC16
CKANCon 2016 & IODC16CKANCon 2016 & IODC16
CKANCon 2016 & IODC16
 
This is an interesting metadata source. Can I import it into Koha?
This is an interesting metadata source. Can I import it into Koha?This is an interesting metadata source. Can I import it into Koha?
This is an interesting metadata source. Can I import it into Koha?
 
Introduction to International MyLabs
Introduction to International MyLabsIntroduction to International MyLabs
Introduction to International MyLabs
 
Linked (Open) Data: A quick introduction
Linked (Open) Data: A quick introductionLinked (Open) Data: A quick introduction
Linked (Open) Data: A quick introduction
 
ckan 2.0 Introduction (20140618 updated)
ckan 2.0 Introduction (20140618 updated)ckan 2.0 Introduction (20140618 updated)
ckan 2.0 Introduction (20140618 updated)
 

Ähnlich wie The Semantic Web and Drupal 7 - Loja 2013

Drupal and the semantic web - SemTechBiz 2012
Drupal and the semantic web - SemTechBiz 2012Drupal and the semantic web - SemTechBiz 2012
Drupal and the semantic web - SemTechBiz 2012
scorlosquet
 
Embedding Linked Data Invisibly into Web Pages: Strategies and Workflows for ...
Embedding Linked Data Invisibly into Web Pages: Strategies and Workflows for ...Embedding Linked Data Invisibly into Web Pages: Strategies and Workflows for ...
Embedding Linked Data Invisibly into Web Pages: Strategies and Workflows for ...
National Information Standards Organization (NISO)
 
DrupalCamp NJ 2014 Solr and Schema.org
DrupalCamp NJ 2014 Solr and Schema.orgDrupalCamp NJ 2014 Solr and Schema.org
DrupalCamp NJ 2014 Solr and Schema.org
scorlosquet
 
The Future of Search and SEO in Drupal
The Future of Search and SEO in DrupalThe Future of Search and SEO in Drupal
The Future of Search and SEO in Drupal
scorlosquet
 
Linked Data Publishing with Drupal (SWIB13 workshop)
Linked Data Publishing with Drupal (SWIB13 workshop)Linked Data Publishing with Drupal (SWIB13 workshop)
Linked Data Publishing with Drupal (SWIB13 workshop)
Joachim Neubert
 

Ähnlich wie The Semantic Web and Drupal 7 - Loja 2013 (20)

Drupal and the Semantic Web - ESIP Webinar
Drupal and the Semantic Web - ESIP WebinarDrupal and the Semantic Web - ESIP Webinar
Drupal and the Semantic Web - ESIP Webinar
 
Drupal and the semantic web - SemTechBiz 2012
Drupal and the semantic web - SemTechBiz 2012Drupal and the semantic web - SemTechBiz 2012
Drupal and the semantic web - SemTechBiz 2012
 
Embedding Linked Data Invisibly into Web Pages: Strategies and Workflows for ...
Embedding Linked Data Invisibly into Web Pages: Strategies and Workflows for ...Embedding Linked Data Invisibly into Web Pages: Strategies and Workflows for ...
Embedding Linked Data Invisibly into Web Pages: Strategies and Workflows for ...
 
DrupalCamp NJ 2014 Solr and Schema.org
DrupalCamp NJ 2014 Solr and Schema.orgDrupalCamp NJ 2014 Solr and Schema.org
DrupalCamp NJ 2014 Solr and Schema.org
 
The Future of Search and SEO in Drupal
The Future of Search and SEO in DrupalThe Future of Search and SEO in Drupal
The Future of Search and SEO in Drupal
 
Using schema.org to improve SEO
Using schema.org to improve SEOUsing schema.org to improve SEO
Using schema.org to improve SEO
 
Hacktoberfest 2020 - Intro to Knowledge Graphs
Hacktoberfest 2020 - Intro to Knowledge GraphsHacktoberfest 2020 - Intro to Knowledge Graphs
Hacktoberfest 2020 - Intro to Knowledge Graphs
 
Publishing Linked Data using Schema.org
Publishing Linked Data using Schema.orgPublishing Linked Data using Schema.org
Publishing Linked Data using Schema.org
 
Evolution of apache spark
Evolution of apache sparkEvolution of apache spark
Evolution of apache spark
 
Introduction to drupal
Introduction to drupalIntroduction to drupal
Introduction to drupal
 
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
 
Semantic content management: consuming and producing RDF in Drupal
Semantic content management: consuming and producing RDF in DrupalSemantic content management: consuming and producing RDF in Drupal
Semantic content management: consuming and producing RDF in Drupal
 
RDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itRDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use it
 
Linked Data Publishing with Drupal (SWIB13 workshop)
Linked Data Publishing with Drupal (SWIB13 workshop)Linked Data Publishing with Drupal (SWIB13 workshop)
Linked Data Publishing with Drupal (SWIB13 workshop)
 
Understanding Hadoop
Understanding HadoopUnderstanding Hadoop
Understanding Hadoop
 
Ros platform overview
Ros platform overviewRos platform overview
Ros platform overview
 
Introduction to Apache Spark
Introduction to Apache SparkIntroduction to Apache Spark
Introduction to Apache Spark
 
Drupal 7 and schema.org module
Drupal 7 and schema.org moduleDrupal 7 and schema.org module
Drupal 7 and schema.org module
 
Graph Gurus Episode 1: Enterprise Graph
Graph Gurus Episode 1: Enterprise GraphGraph Gurus Episode 1: Enterprise Graph
Graph Gurus Episode 1: Enterprise Graph
 
Hong Kong Drupal User Group - 2014 April 12th
Hong Kong Drupal User Group - 2014 April 12thHong Kong Drupal User Group - 2014 April 12th
Hong Kong Drupal User Group - 2014 April 12th
 

Mehr von scorlosquet

Keeping your Drupal site secure 2013
Keeping your Drupal site secure 2013Keeping your Drupal site secure 2013
Keeping your Drupal site secure 2013
scorlosquet
 

Mehr von scorlosquet (7)

Keeping your Drupal site secure 2013
Keeping your Drupal site secure 2013Keeping your Drupal site secure 2013
Keeping your Drupal site secure 2013
 
Schema.org & Drupal (FR)
Schema.org & Drupal (FR)Schema.org & Drupal (FR)
Schema.org & Drupal (FR)
 
Security - Drupal Decision Makers training
Security - Drupal Decision Makers trainingSecurity - Drupal Decision Makers training
Security - Drupal Decision Makers training
 
Drupal 7 and schema.org module (Jan 2012)
Drupal 7 and schema.org module (Jan 2012)Drupal 7 and schema.org module (Jan 2012)
Drupal 7 and schema.org module (Jan 2012)
 
How to Build Linked Data Sites with Drupal 7 and RDFa
How to Build Linked Data Sites with Drupal 7 and RDFaHow to Build Linked Data Sites with Drupal 7 and RDFa
How to Build Linked Data Sites with Drupal 7 and RDFa
 
RDF presentation at DrupalCon San Francisco 2010
RDF presentation at DrupalCon San Francisco 2010RDF presentation at DrupalCon San Francisco 2010
RDF presentation at DrupalCon San Francisco 2010
 
Produce and Consume Linked Data with Drupal!
Produce and Consume Linked Data with Drupal!Produce and Consume Linked Data with Drupal!
Produce and Consume Linked Data with Drupal!
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

The Semantic Web and Drupal 7 - Loja 2013

  • 1. The Semantic Web and Drupal 7 Stéphane Corlosquet Drupal Summit Latino – Loja, Ecuador March, 2013
  • 2. About the speaker ● Stéphane “scor” Corlosquet ● 7 years with Drupal ● Software engineer at Acquia ● Drupal 7 RDF core maintainer ● Drupal Security Team member ● Co-authored the Definitive Guide to Drupal 7 ● Contrib modules: RDF Extensions, SPARQL, schema.org, WebID ● Member of the RDFa WG at W3C
  • 5. Many information silos Image credits: www.pidgintech.com
  • 6. Many isolated and disparate communities Image credits: www.pidgintech.com
  • 7. Growing amount of information ● Blogs, News, Comments ● Social platforms: Facebook, Google plus ● Everyday more and more content is published ● Desktop, laptops, tablets, smartphones... ● Sensor data for weather, traffic, healthcare ● Billions of public pages ● Deep web?
  • 9. Challenge: How can machines help us search all this information?
  • 10. Vision of the Semantic Web ● Transition to the Giant Global Graph ● WWW = content+links ● GGG = WWW+relationships+descriptions ● Universal medium for data, information and knowledge exchange
  • 12. The One Machine ● All devices connected ● Personal computers ● Data servers ● Cell phones ● PDAs ● RFID tags http://www.kk.org/thetechnium/archives/2007/11/dimensions_of_t.php
  • 13. Key ● Agree on Standards ● Open Data
  • 17. Bing
  • 18. Why Structured Data in HTML ● Helps machines extract relevant data from HTML ● Can make use of this data in new ways: –enhanced search results – Knowledge graph ● Search engines only index HTML
  • 19. Structured Data in HTML ● HTML attributes ● Syntaxes – Microformats (@class, @rel) – RDFa (@property, @typeof, @resource…) – Microdata (@itemscope, @itemtype, @itemprop, …)
  • 20. Structured Data in HTML ● Evolution and cross-syntax influence
  • 22. Schema.org ● Describe the type of your content (Person, Event, Recipe, Product, Book, Movie, etc.) – 416 types and counting ● Each type has a set of properties – Common properties: name, description, image, url – Specific properties depending on the type (see type page on schema.org) – 544 properties and counting
  • 25. How does schema.org apply to Drupal? ● Content types
  • 26. How does schema.org apply to Drupal? ● From content types to RDF
  • 27. Schema.org module for Drupal ● Map your content types and fields to the schema.org terms http://drupal.org/project/schemaorg
  • 32. Rich Snippet testing tool ● http://www.google.com/webmasters/tools/richsnippets
  • 33. Examples ● Events – “force11 events”: http://goo.gl/VVhNM – DrupalCon Munich: http://goo.gl/jgMvw – University of Waterloo: http://goo.gl/Df9hp ● Person – DGD7 – Jacine Luisi: http://t.co/rTK8N9K2 – Stéphane Corlosquet: http://goo.gl/9dWdL
  • 34. Drupal, rNews and RDFa Open Publish ● Free Drupal distribution for building News sites ● rNews support in RDFa ● Download
  • 35. Useful modules ● http://drupal.org/project/schemaorg – UI for mapping content types and fields to schema.org – Documentation on drupal.org – Screencast + examples ● http://drupal.org/project/rdfa – Implements the latest RDFa 1.1 (Drupal core is 1.0) – HTML5 and RDFa – Under development ● http://drupal.org/project/microdata – Standalone module – HTML5 Microdata
  • 36. Schema.org module Play time! http://bit.ly/schema-event http://www.google.com/webmasters/tools/richsnippets
  • 37. Beyond SEO: How is RDF architected in Drupal 7
  • 38. History of RDF in Drupal ● rdf.php (2000, Dries) ● FOAF, vCard (2004, walkah) ● Relationship (2005, dman) ● Semantic Search (2006, hendler) ● RDF (2007, Arto) ● OpenCalais (febbraro, 2008) ● RDF CCK (2008, scor)
  • 39. Architecture ● User driven data model ● Content type => RDF class ● Field => RDF property ● Node => RDF resource http://en.wikipedia.org/wiki/File:Oriente_Station_Lisboa_roof.jpg
  • 42. Node
  • 43. Drupal 7 and RDF ● The RDF mapping API allows any vocabulary ● Default mappings on blogs, forums, comments, etc. using FOAF, SIOC, DC, SKOS ● Drupal 7 core outputs these mappings in RDFa ● Mappings can be changed to include other vocabularies like schema.org
  • 44. Drupal 7 default RDF mappings
  • 45. Drupal 7 core RDF limitations ● No schema.org out of the box ● No UI for managing the RDF mappings ● Only core fields are supported (text, file, image) – No support for contrib fields: addressfield, fivestar ● No native support for Views or Panels – Display suite 2.0 is OK ● Some contrib modules can help ● Drupal 8 to fix these many of these issues
  • 46. Drupal 7 and RDF ● Contributed module for more features ● RDF Extensions ● Serialization formats: RDF/XML, Turtle, N-Triples ● Mapping UI ● SPARQL ● Expose Drupal RDF data in a SPARQL Endpoint ● SPARQL Views ● Display remote RDF data in Drupal using SPARQL ● JSON-LD ● Expose Drupal RDF data as JSON-LD (CORS-enabled) ● Features and packaging ● Build distributions / deployment workflow
  • 47. SPARQL Endpoint ● Indexing http://drupal.org/project/sparql
  • 48. SPARQL Endpoint ● Public endpoint available at /sparql ● http://prefix.cc/sioc,rnews.sparql
  • 49. RDFa 1.1 ● Published as W3C Recommendation ● RDFa Lite ● RDFa 1.1 Full ● Leaner markup ● http://rdfa.info/play/
  • 50. RDFa 1.1 ● Works with HTML5 ● No dependency on XHTML ● HTML5 doctype ● Popular themes have been updated (Omega, Zen, Adaptive Themes)
  • 51. Demos rNews by International Press Telecommunications Council (IPTC) – Open Publish PREFIX rnews: <http://iptc.org/std/rNews/2011-10-07#> SELECT * WHERE { ?s a rnews:Article; rnews:name ?title. }
  • 52. JSON-LD in Drupal ● Client side as well as server side friendly ● Browser Scripting: – Native javascript format – RDFa API in the DOM ● Data can be fetched from anywhere: – Cross-Origin Resource Sharing (CORS) enabled ● Client can mash data ● http://drupal.org/project/jsonld
  • 53. Demos ● Occupy Directory – http://directory.occupy.net/occupations – JSON-LD: http://directory.occupy.net/node/19652.jsonld ● Federated General Assembly – Drupal distribution for occupy movement – http://wiki.occupy.net/wiki/Federated_General_Assembly
  • 54. Domeo + Drupal ● Data mash up from independent, but related sources
  • 55. Domeo + Drupal ● Data mash up from independent, but related sources
  • 56. Thanks! ● Stéphane Corlosquet: scorlosquet@gmail.com – @scorlosquet – http://openspring.net/