• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Drupal and the Semantic Web
 

Drupal and the Semantic Web

on

  • 6,384 views

Presented at Drupal Camp SF (6/6/09) ...

Presented at Drupal Camp SF (6/6/09)

Three part presentation:

1) Provides an overview of how semantic technologies can simplify data management and integration.

2) Gives a brief introduction to RDF/RDFa.

3) Looks at the Drupal RDF module, SPARQL module, Exhibit module, Freebase Suggest and the upcoming Common Tag module.

Statistics

Views

Total Views
6,384
Views on SlideShare
6,271
Embed Views
113

Actions

Likes
19
Downloads
229
Comments
1

3 Embeds 113

http://www.julien-verkest.fr 92
http://www.slideshare.net 19
http://ks27790.kimsufi.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • I've heard the real name for this is Dripple Camp.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Drupal and the Semantic Web Drupal and the Semantic Web Presentation Transcript

    • Drupal Camp Jamie Taylor
    • What can semantic web technologies do for you?
    • Tag your content
    • Topic Hubs
    • RDFa Powered Search
    • Data Exploration Widgets
    • Why Semantics? A Brief History of Data Modeling Photo CC-BY: http://en.wikipedia.org/wiki/File:McDonalds_on_Interstate_44.jpg
    • Ugly Tabular Data
    • A Simple Restaurant Schema
    • A Simple Restaurant Schema
    • Big Ugly Schema
    • What Went Wrong? Scripting Languages facilitate change ....where is the data model that does the same? Things change Requirements change User expectations change Data structures change Our data models aren’t keeping up
    • Graph Data Models Deli Liiama Name Cuisine S1 Deli Price $
    • Graph Data Models Peking Inn Deli Liiama Name Cuisine Name S1 Deli Price F7 $ Location Cuisine Location Chinese Contained-by San Francisco S4 Name North Beach
    • Extending Graph Data Models Deli Liiama Urban Chic Name Decor Cuisine S1 Deli Music Price $ Location Live DJ Contained-by San Francisco S4 Name North Beach
    • Integrating Graph Data Models Deli Liiama Name Deli Liiama Name A2 Cuisine S1 Deli Price OnTap $ Z6 Brand Leinenkugel Brand Pabst BR
    • Semantic Representation Relationships are represented explicitly Schema can be represented as a graph Data integration is the union of two graphs This makes creating, extending, and combining data much easier than before
    • Plugable Data Data Semantics allows an Data application to utilize unanticipated new Data Data data sources
    • Plugable Data
    • Data Portability Data Data Semantics allows data to be utilized by Data unanticipated new applications Data
    • Data Portability http://dev.mqlx.com/~jamie/simile/timeline.html
    • Data Portability
    • Why Does This Work? Semantics facilitate shared meaning through • Subject Identity • Strong and Consistent Semantics • Open APIS + Open Data These principles make it much easier to extend, combine, and integrate data
    • Just enough RDF
    • Just Enough RDF RDF is a Data Model A very simple model!
    • Cosmos was written by Carl Sagan
    • (Cosmos) (was written by) (Carl Sagan)
    • Subject Predicate Object (Cosmos) (was written by) (Carl Sagan)
    • Subject Predicate Object (Cosmos) (was written by) (Carl Sagan) author Carl Cosmos Sagan
    • Subject Which Cosmos? (Cosmos)
    • Subject Which Cosmos? (Cosmos)
    • Identifiers are Everywhere
    • The humble URI •URI’s provide strong references •Much like pointing in the physical world “this is red” “this is a pen” •a URIref is an unambiguous pointer to something of meaning
    • Subject Which Cosmos? (Cosmos) http://rdf.freebase.com/ns/authority.openlibrary.book.OL3568862M
    • What do you mean, author? http://rdf.freebase.com/ns/book.written_work.author author Carl Cosmos Sagan vocabulary
    • There are billions of Carl Sagans... http://rdf.freebase.com/ns/en.carl_sagan Cosmos author
    • 0 ” 9 8 d “1 h e b lis p u author Carl Cosmos Sagan
    • RDF Data Model Nodes (“Subjects”) connect via Links (“Predicates”) to Objects • either Nodes or Literals
    • Expressions of RDF RDF has many (inconvenient) serializations •RDF-XML •N3 •Turtle •NTriples •RDFa
    • In N-Triples: <http://rdf.freebase.com/ns/authority.openlibrary.book.OL3568862M> <http://rdf.freebase.com/ns/book.written_work.author> <http://rdf.freebase.com/ns/en.carl_sagan> . author Carl Cosmos Sagan
    • In N-Triples: <http://rdf.freebase.com/ns/authority/openlibrary/book/OL3568862M> <http://rdf.freebase.com/ns/book.written_work.date_of_first_publication> “1980” . Cosmos published “1980”
    • URIs provide identity http://rdf.freebase.com/ns/en.robert_cook Stability Simplicity Manageability PURL.org
    • Not all URL’s are good identifiers
    • A socially managed semantic database
    • All objects in Freebase have strong identifiers http://rdf.freebase.com/ns/en.yorkie
    • Types of things in Freebase
    • 5,203,825 Topics 14,110,006 Named Entites
    • Sources of Freebase Data
    • Freebase is user writable
    • schema = vocabulary
    • Freebase Suggest
    • Freebase Suggest in Drupal
    • Freebase Suggest in Drupal
    • jQuery Freebase Drupal Module if (module_exists('jquery_freebase')) { jq_add('freebase'); drupal_add_js( quot;$(document).ready(function() { $('#edit-taglabel').freebaseSuggest({}) .bind('fb-select', function(e, data) { $('#edit-taguri').val('http://rdf.freebase.com/ns/' + new String(data.id).substring(1).replace(///g, '.'));}) });quot;, 'inline' ); } http://drupal.org/project/jquery_freebase Thomas Bonte - Belgium
    • RDF Graphs Carrie Starred In Star Wars Fisher Starred In Harrison Blade Starred In Ford Runner Starred In Daryl Hannah
    • SPARQL Query Carrie Starred In Star Wars Fisher Starred In Harrison Blade Starred In Ford Runner Starred In Daryl Hannah carrie_fisher starred_in star_wars harrison_ford starred_in star_wars harrison_ford starred_in blade_runner daryl_hannah starred_in blade_runner
    • SPARQL Query carrie_fisher starred_in star_wars harrison_ford starred_in star_wars harrison_ford starred_in blade_runner daryl_hannah starred_in blade_runner SELECT ? actor WHERE { fb:harrison_ford fb:starred_in ?movie . ?actor fb:starred_in ?movie . FILTER (fb:harrison_ford != ?actor) }
    • Review: Why is identity important?
    • Data Integration B B A A C C D E E F
    • W3C Vision Tim Berners-Lee’s Giant Global Graph
    • The Layer Cake The Cake taken from http://www.w3.org/2007/Talks/0130-sb-W3CTechSemWeb/layerCake-4.png
    • Take What You Need taken from http://www.w3.org/2007/Talks/0130-sb-W3CTechSemWeb/layerCake-4.png
    • Linked Open Data Cloud (LOD)
    • Drupal is a part of the LOD Cloud http://drupal.deri.ie/cheese/node/20
    • Drupal is a part of the LOD Cloud <http://drupal.deri.ie/cheese/node/20> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://drupal.deri.ie/cheese/ns#Cheese> . <http://drupal.deri.ie/cheese/node/20> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <ov:Cheese> . <http://drupal.deri.ie/cheese/node/20> <http://drupal.deri.ie/cheese/ns#cheese_Title> quot;Ardrahan Cheesequot; . <http://drupal.deri.ie/cheese/node/20> <http://drupal.deri.ie/cheese/ns#created> quot;2009-01-16T11:05:11Zquot;^^http://www.w3.org/2001/ XMLSchema#dateTime . <http://drupal.deri.ie/cheese/node/20> <http://drupal.deri.ie/cheese/ns#changed> quot;2009-04-27T13:20:43Zquot;^^http://www.w3.org/2001/ XMLSchema#dateTime . <http://drupal.deri.ie/cheese/node/20> <http://drupal.deri.ie/cheese/ns#cheese_Source_milk> quot;cowquot; . <http://drupal.deri.ie/cheese/node/20> <http://drupal.deri.ie/cheese/ns#cheese_Country_origin> quot;Irelandquot; . <http://drupal.deri.ie/cheese/node/20> <ov:origin> quot;Irelandquot; . <http://drupal.deri.ie/cheese/node/20> <http://drupal.deri.ie/cheese/ns#cheese_Picture> <http://drupal.deri.ie/cheese/sites/default/files/ Ardrahan_cheese_1.jpg> . <http://drupal.deri.ie/cheese/node/20> <http://xmlns.com/foaf/0.1/depiction> <http://drupal.deri.ie/cheese/sites/default/files/ Ardrahan_cheese_1.jpg> . <http://drupal.deri.ie/cheese/node/20> <http://drupal.deri.ie/cheese/ns#cheese_Description> quot;Ardrahan is a type of semi-soft cheese with a pungent aroma, Ardrahan cheese has buttery textured honey-coloured centre with a complex delicate flavour. It has a washed rind which grows into a golden colour, and its size and weight tend to vary slightly due to the fact that it is a hand-made product. In general the large wheel weighs about 1.5 kg. There is also a small consumer wheel which weighs 300g. It is yellow-coloured. Ardrahan also develops a nutty flavour with maturity. It has a unique flavour that lingers, leaving a very pleasant after-taste. It contains only 25% fat approximately. It is hand made using traditional methods and only whole milk and vegetarian rennet are used. quot; . <http://drupal.deri.ie/cheese/node/20> <http://purl.org/dc/elements/1.1/description> quot;Ardrahan is a type of semi-soft cheese with a pungent aroma, Ardrahan cheese has buttery textured honey-coloured centre with a complex delicate flavour. It has a washed rind which grows into a golden colour, and its size and weight tend to vary slightly due to the fact that it is a hand-made product. In general the large wheel weighs about 1.5 kg. There is also a small consumer wheel which weighs 300g. It is yellow-coloured. Ardrahan also develops a nutty flavour with maturity. It has a unique flavour that lingers, leaving a very pleasant after-taste. It contains only 25% fat approximately. It is hand made using traditional methods and only whole milk and vegetarian rennet are used. quot; . http://xxx/?q=node/X/rdf
    • RDF in HTML = RDFa SUBJECT @about - a URI, stating the RDF subject PREDICATE @rel - CURIEs, expressing relationships between two resources @property - CURIEs, expressing relationships between a resource and a literal @rev - CURIEs, expressing reverse relationship between two resources OBJECT @content - a string, representing a literal RDF object @href - a URI resource expressing the RDF object (as in-line clickable) @src - a URI resource expressing the RDF object (as in-line embedded item) @resource - a URI resource expressing the RDF object Special Predicate @typeof - CURIEs expressing the RDF type of a subject (rdf:type)
    • RDF in HTML = RDFa SUBJECT @about - a URI, stating the RDF subject PREDICATE @rel - CURIEs, expressing relationships between two resources OBJECT @resource - a URI resource expressing the RDF object <div xmlns:fb=”http://rdf.freebase.com/ns/” about=”http://rdf.freebase.com/ns/en.jamie_taylor” rel=fb:people.person.place_of_birth> <span resource=”http://rdf.freebase.com/ns/en.saint_paul”/> </div>
    • RDF in HTML = RDFa SUBJECT @about - a URI, stating the RDF subject PREDICATE @property - CURIEs, expressing relationships between a resource and a literal OBJECT @content - a string, representing a literal RDF object <div xmlns:fb=”http://rdf.freebase.com/ns/” about=”http://rdf.freebase.com/ns/en.carl_sagan” property=fb:people.person.date_of_birth> <span content=”1934-11-09”/> </div>
    • What “concepts” are covered in content Like existing tagging, but with strong identifiers! <resource> tagged Tag taggingDate quot;2001-01-01quot; label means quot;textquot; <resource> Strong identifier goes here!
    • Drupal Module
    • <resource> tagged Tag taggingDate label means <div class=quot;rdfaquot; quot;textquot; <resource> xmlns:ctag=quot;http://commontag.org/ns#quot;> NASA's <a typeof=quot;ctag:Tagquot; rel=quot;ctag:meansquot; href=quot;http://rdf.freebase.com/ns/en.phoenix_mars_missionquot; property=quot;ctag:labelquot;>Phoenix Mars Lander</a> has deployed its robotic arm. </div>