drupal 7 and rdf

42
Drupal 7 and RDF Stéphane Corlosquet, <[email protected]> - Software engineer, MGH - Drupal 7 core RDF maintainer - SemWeb geek Linked Data Ventures, MIT, Oct 2010 This work is licensed under a Creative Commons Attribution 3.0 License, with attribution to Stéphane Corlosquet Slides : http://files.openspring.net/2010/10/drupal7-rdf-mit-lod-ventures-oct-2010.pdf

Upload: scorlosquet

Post on 08-May-2015

8.528 views

Category:

Technology


4 download

DESCRIPTION

Presentation on Drupal 7 and RDF given at the Linked Data Ventures class, MIT in October 2010. http://dig.csail.mit.edu/2010/Courses/6.898/

TRANSCRIPT

Page 1: Drupal 7 and RDF

Drupal 7 and RDF

Stéphane Corlosquet, <[email protected]>- Software engineer, MGH- Drupal 7 core RDF maintainer- SemWeb geek

Linked Data Ventures, MIT, Oct 2010

This work is licensed under a Creative Commons Attribution 3.0 License, with attribution to Stéphane Corlosquet

Slides: http://files.openspring.net/2010/10/drupal7-rdf-mit-lod-ventures-oct-2010.pdf

Page 2: Drupal 7 and RDF

Drupal

● Dries Buytaert - small news site in 2000● Open Source - 2001● Content Management System● LAMP stack● Non-developers can build sites

and publish content● Control panels instead of code

http://www.flickr.com/photos/funkyah/2400889778/

Page 3: Drupal 7 and RDF

Drupal

● Open & modular architecture

● Extensible by modules● Standards-based● Low resource hosting● Scalable

Page 4: Drupal 7 and RDF

Building a Drupal site

http://www.flickr.com/photos/toomuchdew/3792159077/

Page 5: Drupal 7 and RDF

Building a Drupal site

http://www.flickr.com/photos/georgivar/4795856532/

Page 6: Drupal 7 and RDF

Building a Drupal site

● Create the content types you need: Blog, article, wiki, forum, polls, image, video, podcast, e-commerce... (be creative)

http://www.flickr.com/photos/georgivar/4795856532/

Page 7: Drupal 7 and RDF

Building a Drupal site

● Enable the features you want:

Comments, tags, voting/rating, location, translations, revisions, search...

http://www.flickr.com/photos/skip/42288941/

Page 8: Drupal 7 and RDF

Building a Drupal site

● Place links in the navigation bars and blocks

● Build Views over your data

● Skin your site: theming

http://www.flickr.com/photos/skip/42288887/

Page 9: Drupal 7 and RDF

Building a Drupal site

6000 free contributed modules ● Google Analytics● Wysiwyg● Captcha● Calendar● XML sitemap● Five stars● Twitter● ...

http://www.flickr.com/photos/kaptainkobold/1422600992/

Page 10: Drupal 7 and RDF

Drupal inside

● Database storage (PDO)

● Cron

● Queue / batch API

● File management

● User management

● Form API

● Security

http://www.flickr.com/photos/kerim/5588760/

Page 11: Drupal 7 and RDF

User experience

http://www.flickr.com/photos/skip/42288887/

Page 12: Drupal 7 and RDF

The Drupal Community

http://www.flickr.com/photos/x-foto/4923221504/

Page 13: Drupal 7 and RDF

The Drupal Community

http://webchick.net/node/80

“It’s really the Drupal community and not so much the software that makes the Drupal project what it

is. So fostering the Drupal community is actually more important than just managing the code base.” -

Dries Buytaert

Page 14: Drupal 7 and RDF

200+ Local user groups

including http://groups.drupal.org/boston

Page 15: Drupal 7 and RDF

Doubles in size each release

source: http://acko.net/blog/drupal-org-explosion-and-trends source: http://buytaert.net/drupal-site-statistics

Page 16: Drupal 7 and RDF

Doubles in size each release

● Drupal 6 (stable) - 325,145+ sites● Drupal 7 (beta 1) - 20,000+ sites

● Total estimation 500,000 sites (1% of the Web)

http://buytaert.net/20000-drupal-gardens-siteshttp://drupal.org/project/usage/drupal

Page 17: Drupal 7 and RDF

Who uses Drupal?

Page 18: Drupal 7 and RDF

Who uses Drupal?

Page 19: Drupal 7 and RDF

Who uses Drupal?

Page 20: Drupal 7 and RDF

Who uses Drupal?

http://buytaert.net/tag/drupal-sites

Page 21: Drupal 7 and RDF

Try Drupal 7

● Download and Install Drupal 7

● Grab latest release http://drupal.org/project/drupal● Mac OS: MAMP http://www.mamp.info/● Acquia Stack http://acquia.com/downloads

● Drupal Gardens: free Drupal 7 site http://www.drupalgardens.com/

Page 22: Drupal 7 and RDF

Drupal 7 and RDF

Page 23: Drupal 7 and RDF

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)● and more...

Page 24: Drupal 7 and RDF

Experiment prior Drupal 7

● Expose Drupal's data in RDF

● Automatically● No RDF expertise

required● Module based

http://www.flickr.com/photos/neys/2386865187

Page 25: Drupal 7 and RDF

Architecture

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

http://www.flickr.com/photos/docman/2216568210

Page 26: Drupal 7 and RDF

Content types and Fields

Page 27: Drupal 7 and RDF

Content types and Fields

Page 28: Drupal 7 and RDF

Node

Page 29: Drupal 7 and RDF

Mapping to RDF

● site:Person a rdfs:Class;

rdfs:subClassOf foaf:Person.

● site:first_name a rdf:Property;

rdfs:subPropertyOf foaf:firstName.

● site:colleague rdfs:domain site:Person.

Page 30: Drupal 7 and RDF

Mapping to RDF

Page 31: Drupal 7 and RDF

Mapping to RDF

Page 32: Drupal 7 and RDF

Experiment continued

● 1. Automatic site vocabulary generation● 2. Mapping Content Models to existing

ontologies● 3. Data endpoint for SPARQL querying● 4. Lazy loading of external data (data import)

Page 33: Drupal 7 and RDF

Drupal 7 and RDF

● Drupal 7 core is RDFa enabled!● RDFa output by default on blogs, forums,

comments, etc. using FOAF, SIOC, DC, SKOS

● Beta1 released a few days ago

Page 34: Drupal 7 and RDF

Drupal 7 and RDF

Page 35: Drupal 7 and RDF

Drupal 7 contributed modules

● http://drupal.org/project/rdf● Import vocabularies● Interface for mappings

● http://drupal.org/project/sparql_ep● SPARQL endpoint on Drupal data

● PHP ARC2 library http://github.com/semsol/arc2

Page 36: Drupal 7 and RDF

RDFDB: an RDF Database API

● Access RDF stores via a consistent API● SPARQL 1.1● Vendor agnostic● Similar to Drupal 7 Database abstraction layer

● rdfdb_insert_data($graph, $triples)->execute();● rdfdb_select('?g ?s ?p ?o')->where('GRAPH ?g { ?

s ?p ?o . }')->limit(1000)->execute();

Page 37: Drupal 7 and RDF

RDFDB: an RDF Database API

● Similar to Drupal 7 Database abstraction layer● rdfdb_insert_data($graph, $triples)->execute();● rdfdb_select('?s ?p ?o')->where('?s ?p ?o')-

>limit(10)->execute();● rdfdb_clear($graph)->execute()

● Do not worry about what RDF store the SPARQL endpoint is running on

Page 38: Drupal 7 and RDF

RDFDB: an RDF Database API

● Connection info:

● Support for master/slave servers● Drivers for ARC2, Virtuoso, 4store● Comes with tests!

Page 39: Drupal 7 and RDF

RDFDB: an RDF Database API

● Why an abstraction layer?● Every store has its own way to implement SPARQL

updates, some are RESTful, some others have their own SPARQL update syntax.

● ARC2: SPARQL+ via POST requests● 4store: POST, PUT and DELETE requests

● Download● http://github.com/scor/rdfdb

Page 40: Drupal 7 and RDF

How to get involved● So many ways... code, documentation, support,

translations, graphic design

● http://drupal.org/getting-involved● Watch video http://webchick.net/node/80

Page 41: Drupal 7 and RDF

How to get involved● Subscribe to the Semantic Web group at

http://groups.drupal.org/semantic-web

● Semantic Drupal news at http://semantic-drupal.com/

Page 42: Drupal 7 and RDF

Questions?

Good luck!

http://www.flickr.com/photos/tracer/61061174/