Drupal 7 and RDF Stéphane Corlosquet, <scorlosquet@gmail.com> - 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
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
Drupal Open & modular architecture Extensible by modules Standards-based Low resource hosting Scalable
Building a Drupal site http://www.flickr.com/photos/toomuchdew/3792159077/
Building a Drupal site http://www.flickr.com/photos/georgivar/4795856532/
Building a Drupal site Create the content types you need: Blog, article, wiki, forum, polls, image, video, podcast, ecommerce... (be creative) http://www.flickr.com/photos/georgivar/4795856532/
Building a Drupal site Enable the features you want: Comments, tags, voting/rating, location, translations, revisions, search... http://www.flickr.com/photos/skip/42288941/
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/
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/
Drupal inside Database storage (PDO) Cron Queue / batch API File management User management Form API Security http://www.flickr.com/photos/kerim/5588760/
User experience http://www.flickr.com/photos/skip/42288887/
The Drupal Community http://www.flickr.com/photos/x-foto/4923221504/
The Drupal Community 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 http://webchick.net/node/80
200+ Local user groups including http://groups.drupal.org/boston
Doubles in size each release source: http://acko.net/blog/drupal-org-explosion-and-trends source: http://buytaert.net/drupal-site-statistics
Doubles in size each release Drupal 6 (stable) - 325,145+ sites Drupal 7 (beta 1) - Total estimation 500,000 sites (1% of the Web) http://drupal.org/project/usage/drupal 20,000+ sites http://buytaert.net/20000-drupal-gardens-sites
Who uses Drupal?
Who uses Drupal?
Who uses Drupal?
Who uses Drupal? http://buytaert.net/tag/drupal-sites
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/
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...
Experiment prior Drupal 7 Expose Drupal's data in RDF Automatically No RDF expertise required Module based http://www.flickr.com/photos/neys/238686518
Architecture User driven data model Content type = RDF class Field = RDF property Node = RDF resource http://www.flickr.com/photos/docman/221656821
Content types and Fields
Content types and Fields
Node
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.
Mapping to RDF
Mapping to 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)
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
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
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();
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
RDFDB: an RDF Database API Connection info: Support for master/slave servers Drivers for ARC2, Virtuoso, 4store Comes with tests!
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
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
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/
Questions? Good luck! http://www.flickr.com/photos/tracer/61061174/