Transcript

The Semantic Web and Drupal 7

Stéphane CorlosquetDrupal Summit Latino – Loja, EcuadorMarch, 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 ussearch 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

Why Structured Data in HTML

● Helps machines extractrelevant data from HTML

● Can make use of this datain 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

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://www.google.com/webmasters/tools/richsnippets

http://bit.ly/schema-event

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)

http://en.wikipedia.org/wiki/File:Oriente_Station_Lisboa_roof.jpg

Architecture

● User driven data model● Content type => RDF class● Field => RDF property● Node => RDF resource

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

http://drupal.org/project/sparql

● Indexing

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/

top related