This document summarizes a presentation about using semantic web technologies like the Resource Description Framework (RDF) and Linked Data with Drupal 7. It discusses how Drupal 7 maps content types and fields to RDF vocabularies by default and how additional modules can add features like mapping to Schema.org and exposing SPARQL and JSON-LD endpoints. The presentation also covers how Drupal integrates with the larger Semantic Web through technologies like Linked Open Data.
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Drupal and the Semantic Web - ESIP Webinar
1. Semantic Web and Drupal 7
Stéphane Corlosquet
ESIP webinar
June, 2013
2. 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
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
16. 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/
17. LOD cloud providers
● BBC
● US Census
● UK Gov
● Music Brainz
● Dbpedia
● Wikidata (WikiMedia foundation, funded by Google, etc.)
● Freebase (Google)
22. 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
23. Structured Data in HTML
● HTML attributes
● Syntaxes
– Microformats (@class, @rel)
– RDFa (@property, @typeof, @resource…)
– Microdata (@itemscope, @itemtype, @itemprop, …)
25. 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
40. 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
42. 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
43. 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
46. RDF store + SPARQL Endpoint
● Public endpoint available at /sparql
47. 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
48. 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)
49. 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)
51. JSON-LD in Drupal
● Client side as well as server side friendly
● Browser Scripting:
– Native javascript format
– Can be combined with 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
52. Domeo + Drupal
● Data mash up from independent, but related
sources
53. Domeo + Drupal
● Data mash up from independent, but related
sources
54. 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