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
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?
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
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, …)
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
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
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
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
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