Download - Drupal 7 and RDF
![Page 1: Drupal 7 and RDF](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/3.jpg)
Drupal
● Open & modular architecture
● Extensible by modules● Standards-based● Low resource hosting● Scalable
![Page 4: Drupal 7 and RDF](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/4.jpg)
Building a Drupal site
http://www.flickr.com/photos/toomuchdew/3792159077/
![Page 5: Drupal 7 and RDF](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/5.jpg)
Building a Drupal site
http://www.flickr.com/photos/georgivar/4795856532/
![Page 6: Drupal 7 and RDF](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/11.jpg)
User experience
http://www.flickr.com/photos/skip/42288887/
![Page 12: Drupal 7 and RDF](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/12.jpg)
The Drupal Community
http://www.flickr.com/photos/x-foto/4923221504/
![Page 13: Drupal 7 and RDF](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/14.jpg)
200+ Local user groups
including http://groups.drupal.org/boston
![Page 15: Drupal 7 and RDF](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/17.jpg)
Who uses Drupal?
![Page 18: Drupal 7 and RDF](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/18.jpg)
Who uses Drupal?
![Page 19: Drupal 7 and RDF](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/19.jpg)
Who uses Drupal?
![Page 21: Drupal 7 and RDF](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/22.jpg)
Drupal 7 and RDF
![Page 23: Drupal 7 and RDF](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/26.jpg)
Content types and Fields
![Page 27: Drupal 7 and RDF](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/27.jpg)
Content types and Fields
![Page 28: Drupal 7 and RDF](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/28.jpg)
Node
![Page 29: Drupal 7 and RDF](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/29.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/30.jpg)
Mapping to RDF
![Page 31: Drupal 7 and RDF](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/31.jpg)
Mapping to RDF
![Page 32: Drupal 7 and RDF](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/32.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/33.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/34.jpg)
Drupal 7 and RDF
![Page 35: Drupal 7 and RDF](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/35.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/37.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/38.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/39.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/40.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/41.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052505/554bcef4b4c905706a8b4a98/html5/thumbnails/42.jpg)
Questions?
Good luck!
http://www.flickr.com/photos/tracer/61061174/