• Save
Drupal and the Semantic Web - ESIP Webinar
Upcoming SlideShare
Loading in...5

Drupal and the Semantic Web - ESIP Webinar



An update on the latest semantic web modules for Drupal, in particular the RDF Indexer for provide a SPARQL endpoint of Drupal's RDF data.

An update on the latest semantic web modules for Drupal, in particular the RDF Indexer for provide a SPARQL endpoint of Drupal's RDF data.



Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Drupal and the Semantic Web - ESIP Webinar Drupal and the Semantic Web - ESIP Webinar Presentation Transcript

  • Semantic Web and Drupal 7 Stéphane Corlosquet ESIP webinar June, 2013
  • About the speaker ● Stéphane “scor” Corlosquet ● 7 years with Drupal ● Software engineer ● 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
  • Linked Data
  • Linked Open Data Cloud
  • LOD cloud by domain Distribution of triples by domain. Source: Linking Open Data cloud staistics, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/
  • LOD cloud providers ● BBC ● US Census ● UK Gov ● Music Brainz ● Dbpedia ● Wikidata (WikiMedia foundation, funded by Google, etc.) ● Freebase (Google)
  • Rich Snippets
  • Google
  • Yahoo!
  • Bing
  • 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, …)
  • 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
  • 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
  • Rich Snippet testing tool ● http://www.google.com/webmasters/tools/richsnippets
  • Schema.org module ● http://drupal.org/project/schemaorg – UI for mapping content types and fields to schema.org – Documentation on drupal.org – Screencast + examples
  • RDF architecture in Drupal 7
  • Architecture ● User driven data model
  • 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 fix the above ● 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 ● RDF Indexer ● 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
  • Drupal and SPARQL
  • RDF store + SPARQL Endpoint ● Indexing Module: https://drupal.org/project/rdf_indexer Documentation: https://drupal.org/node/2028111
  • RDF store + SPARQL Endpoint ● Public endpoint available at /sparql
  • RDF store + SPARQL Endpoint ● Lessons learnt: – Previous implementation didn't scale – http://drupal.org/project/sparql is deprecated (unless you use the SPARQL registry with other modules) – Use https://drupal.org/project/rdf_indexer instead – Documentation: https://drupal.org/node/2028111
  • RDF store + SPARQL Endpoint ● Functionalities – RDF Indexer is built on top of Search API – Search API offers many of the capabilities needed: ● Track entities that need to be indexed ● Workflows ● Integration with Drush (list, status, clear, index) ● Cron ● OOP – Service class for plugins – Integration with Features (config management)
  • RDF store + SPARQL Endpoint ● Example: popular tags by comments – http://openspring.net/sparql PREFIX dc: <http://purl.org/dc/terms/> PREFIX sioc: <http://rdfs.org/sioc/ns#> SELECT ?tag sum(?replies) as ?total_replies WHERE { ?post sioc:num_replies ?replies. ?post dc:subject [ rdfs:label ?tag ] . } GROUP BY ?tag ORDER BY DESC(?total_replies)
  • How to get involved ● Drupal group: – http://groups.drupal.org/semantic-web ● IRC on freenode: #drupal-rdf ● Report bugs or ask support questions on drupal.org
  • Thanks! ● Stéphane Corlosquet: – scorlosquet@gmail.com – @scorlosquet – http://openspring.net/