0
Drupal 7 and RDF




Stéphane Corlosquet, <scorlosquet@gmail.com>
   - Software engineer, MGH
   - Drupal 7 core RDF maint...
Drupal
●   Dries Buytaert - small news site in 2000
●   Open Source - 2001
●   Content Management System
●   LAMP stack
● ...
Drupal
   ●   Open & modular
       architecture
   ●   Extensible by modules
   ●   Standards-based
   ●   Low resource h...
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...
Building a Drupal site

●   Enable the features you
    want:

    Comments, tags, voting/rating,
    location, translatio...
Building a Drupal site

●   Place links in the
    navigation bars and
    blocks
●   Build Views over your
    data
●   S...
Building a Drupal site
6000 free contributed
modules
●   Google Analytics
●   Wysiwyg
●   Captcha
●   Calendar
●   XML sit...
Drupal inside

●   Database storage (PDO)
●   Cron
●   Queue / batch API
●   File management
●   User management
●   Form ...
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 wha...
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.ne...
Doubles in size each release


●   Drupal 6 (stable) - 325,145+ sites
●   Drupal 7 (beta 1) -                  20,000+ sit...
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...
Drupal 7 and RDF
History of RDF in Drupal
●   rdf.php (2000, Dries)
●   FOAF, vCard (2004, walkah)
●   Relationship (2005, dman)
●   Semant...
Experiment prior Drupal 7
●   Expose Drupal's data in
    RDF
●   Automatically
●   No RDF expertise
    required
●   Modu...
Architecture
●   User driven data model
●   Content type = RDF class
●   Field = RDF property
●   Node = RDF resource




...
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:Prop...
Mapping to RDF
Mapping to RDF
Experiment continued
●   1. Automatic site vocabulary generation
●   2. Mapping Content Models to existing
    ontologies
...
Drupal 7 and RDF
●   Drupal 7 core is RDFa enabled!
●
    RDFa output by default on blogs, forums,
    comments, etc. 
usi...
Drupal 7 and RDF
Drupal 7 contributed modules
●   http://drupal.org/project/rdf
    ●   Import vocabularies
    ●   Interface for mappings
...
RDFDB: an RDF Database API
●   Access RDF stores via a consistent API
●   SPARQL 1.1
●   Vendor agnostic
●   Similar to Dr...
RDFDB: an RDF Database API
●   Similar to Drupal 7 Database abstraction layer
    ●   rdfdb_insert_data($graph, $triples)-...
RDFDB: an RDF Database API
●   Connection info:




●   Support for master/slave servers
●   Drivers for ARC2, Virtuoso, 4...
RDFDB: an RDF Database API
●   Why an abstraction layer?
    ●   Every store has its own way to implement SPARQL
        u...
How to get involved
●   So many ways... code, documentation, support,
    translations, graphic design
●   http://drupal.o...
How to get involved
●   Subscribe to the Semantic Web group at
    http://groups.drupal.org/semantic-web
●   Semantic Drup...
Questions?




 Good luck!


       http://www.flickr.com/photos/tracer/61061174/
Upcoming SlideShare
Loading in...5
×

Drupal 7 and RDF

8,680

Published on

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/

Published in: Technology
0 Comments
10 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
8,680
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
211
Comments
0
Likes
10
Embeds 0
No embeds

No notes for slide

Transcript of "Drupal 7 and RDF"

  1. 1. 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
  2. 2. 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
  3. 3. Drupal ● Open & modular architecture ● Extensible by modules ● Standards-based ● Low resource hosting ● Scalable
  4. 4. Building a Drupal site http://www.flickr.com/photos/toomuchdew/3792159077/
  5. 5. Building a Drupal site http://www.flickr.com/photos/georgivar/4795856532/
  6. 6. 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/
  7. 7. Building a Drupal site ● Enable the features you want: Comments, tags, voting/rating, location, translations, revisions, search... http://www.flickr.com/photos/skip/42288941/
  8. 8. 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/
  9. 9. 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/
  10. 10. Drupal inside ● Database storage (PDO) ● Cron ● Queue / batch API ● File management ● User management ● Form API ● Security http://www.flickr.com/photos/kerim/5588760/
  11. 11. User experience http://www.flickr.com/photos/skip/42288887/
  12. 12. The Drupal Community http://www.flickr.com/photos/x-foto/4923221504/
  13. 13. 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
  14. 14. 200+ Local user groups including http://groups.drupal.org/boston
  15. 15. Doubles in size each release source: http://acko.net/blog/drupal-org-explosion-and-trends source: http://buytaert.net/drupal-site-statistics
  16. 16. 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://drupal.org/project/usage/drupal http://buytaert.net/20000-drupal-gardens-sites
  17. 17. Who uses Drupal?
  18. 18. Who uses Drupal?
  19. 19. Who uses Drupal?
  20. 20. Who uses Drupal? http://buytaert.net/tag/drupal-sites
  21. 21. 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/
  22. 22. Drupal 7 and RDF
  23. 23. 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...
  24. 24. Experiment prior Drupal 7 ● Expose Drupal's data in RDF ● Automatically ● No RDF expertise required ● Module based http://www.flickr.com/photos/neys/238686518
  25. 25. Architecture ● User driven data model ● Content type = RDF class ● Field = RDF property ● Node = RDF resource http://www.flickr.com/photos/docman/221656821
  26. 26. Content types and Fields
  27. 27. Content types and Fields
  28. 28. Node
  29. 29. 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.
  30. 30. Mapping to RDF
  31. 31. Mapping to RDF
  32. 32. 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)
  33. 33. 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
  34. 34. Drupal 7 and RDF
  35. 35. 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
  36. 36. 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();
  37. 37. 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
  38. 38. RDFDB: an RDF Database API ● Connection info: ● Support for master/slave servers ● Drivers for ARC2, Virtuoso, 4store ● Comes with tests!
  39. 39. 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
  40. 40. 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
  41. 41. 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/
  42. 42. Questions? Good luck! http://www.flickr.com/photos/tracer/61061174/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×