The Semantic Web An Introduction
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

The Semantic Web An Introduction

on

  • 4,302 views

This presentation is entitled "The Semantic Web and Drupal: An Introduction", presented at Drupalcamp Atlanta, 9/19/09.

This presentation is entitled "The Semantic Web and Drupal: An Introduction", presented at Drupalcamp Atlanta, 9/19/09.

Statistics

Views

Total Views
4,302
Views on SlideShare
4,298
Embed Views
4

Actions

Likes
4
Downloads
107
Comments
0

1 Embed 4

http://www.slideshare.net 4

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

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
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

The Semantic Web An Introduction Presentation Transcript

  • 1. The Semantic Web and Drupal Bill Shaouy [email_address] An Introduction
  • 2. The Static Web
  • 3. The Interactive Web
  • 4. The Semantic Web
  • 5. What Is the Semantic Web? a technology that allows computers to perform browsing, searching, and authoring for us
  • 6. Definition of “Semantic”
  • 7. What’s In It for Site Owners Improved, more refined search results
  • 8. What’s In It for Users Deeper, more specific search Steve Smith Steve Smith
  • 9. What’s In It for Users Mapping events to calendars and address books
  • 10. What’s In It for Users Highlight items with your browser, e.g. songs
  • 11. What’s In It for Users A Social Network Between Sites
  • 12. What’s In It for Users Automatically merge from different sites
  • 13. “ The Web can reach its full potential only if it becomes a place where data can be shared and processed by automated tools as well as by people.”
    • Tim Berners-Lee
    • Inventor of the World Wide Web
  • 14. A Semantic Web Standard Must… 1. Express information flexibly. 2. Have content items in different places easily to relate to each other. 3. Use vocabularies for making assertions about things, but these vocabularies must be able to be mixed together.
  • 15. RDF vs. Microformats The Drupal community is gravitating toward RDF
  • 16. RDF
    • Stands for “Resource Description Framework”
    • A means for expressing semantic information
    • Sometimes expressed as triples -- subject-predicate-object expressions
  • 17. RDFa
    • RDFa is RDF for the web
    • RDFa is a w3c web standard for embedding RDF in your web content
    • Turns the existing human-visible text and links into machine-readable data without repeating content
  • 18. RDF Vocabulary
    • Used for sites to speak a common language
    • e.g. Dublin Core (dc) for document descriptions
    • e.g. Friend of a Friend (foaf) for person information
  • 19. Use Common Vocabularies This allows existing applications to make use of your information, without needing to be modified by developers to recognize your own URIs.
  • 20. RDF Vocabulary Example Here’s a snippet from the Friend of a Friend (foaf) vocabulary: <rdf:Property rdf:about=&quot;http://xmlns.com/foaf/0.1/ firstName &quot; vs:term_status=&quot;testing&quot; rdfs:label=&quot;firstName&quot; rdfs:comment=&quot;The first name of a person.&quot;> <rdf:type rdf:resource=&quot;http://www.w3.org/2002/07/owl#DatatypeProperty&quot;/> <rdfs:domain rdf:resource=&quot;http://xmlns.com/foaf/0.1/Person&quot;/> <rdfs:range rdf:resource=&quot;http://www.w3.org/2000/01/rdf-schema#Literal&quot;/> <rdfs:isDefinedBy rdf:resource=&quot;http://xmlns.com/foaf/0.1/&quot;/> </rdf:Property> <rdf:Property rdf:about=&quot;http://xmlns.com/foaf/0.1/ givenname &quot; vs:term_status=&quot;testing&quot; rdfs:label=&quot;Given name&quot; rdfs:comment=&quot;The given name of some person.&quot;> <rdf:type rdf:resource=&quot;http://www.w3.org/2002/07/owl#DatatypeProperty&quot;/> <rdfs:isDefinedBy rdf:resource=&quot;http://xmlns.com/foaf/0.1/&quot;/> </rdf:Property> <rdf:Property rdf:about=&quot;http://xmlns.com/foaf/0.1/ surname &quot; vs:term_status=&quot;testing&quot; rdfs:label=&quot;Surname&quot; rdfs:comment=&quot;The surname of some person.&quot;> <rdf:type rdf:resource=&quot;http://www.w3.org/2002/07/owl#DatatypeProperty&quot;/> <rdfs:domain rdf:resource=&quot;http://xmlns.com/foaf/0.1/Person&quot;/> <rdfs:range rdf:resource=&quot;http://www.w3.org/2000/01/rdf-schema#Literal&quot;/> <rdfs:isDefinedBy rdf:resource=&quot;http://xmlns.com/foaf/0.1/&quot;/> </rdf:Property>
  • 21. RDF Vocabulary Example … but you don’t need to know the vocabulary innards. Just use markup shorthand, e.g.: foaf:firstName
  • 22. List of Popular Vocabularies dc : http://purl.org/dc/elements/1.1/ foaf : http://xmlns.com/foaf/0.1/ dcterms : http://purl.org/dc/terms/ dcmitype : http://purl.org/dc/dcmitype/ sioc : http://rdfs.org/sioc/ns# skos : http://www.w3.org/2008/05/skos# doap : http://usefulinc.com/ns/doap#
  • 23. XHTML Markup Example <div> <h2>Much Ado About Nothing</h2> <h3>William Shakespeare</h3> ... </div>
  • 24. XHTML Markup Example <div xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; > <h2 property=&quot;dc:title&quot; >Much Ado About Nothing</h2> <h3 property=&quot;dc:creator&quot; >William Shakespeare</h3> ... </div>
  • 25. XHTML Markup Example <div> <p> John Doe </p> <p> Email: <a href=&quot;mailto:j@ex.com&quot;>j@ex.com</a> </p> <p> Phone: <a href=&quot;tel:+888-555-1111&quot;>888-555-1111</a> </p> </div>
  • 26. XHTML Markup Example <div typeof=&quot;foaf:Person&quot; xmlns:foaf=&quot;http://xmlns.com/foaf/0.1/&quot; > <p property=&quot;foaf:name&quot; > John Doe </p> <p> Email: <a rel=&quot;foaf:mbox&quot; href=&quot;mailto:j@ex.com&quot;>j@ex.com</a> </p> <p> Phone: <a rel=&quot;foaf:phone&quot; href=&quot;tel:+888-555-1111&quot;>888-555-1111</a> </p> </div>
  • 27. XHTML Markup Example <div> <ul> <li> <a href=&quot;http://example.com/dan&quot;>Dan</a> </li> <li> <a href=&quot;http://example.com/meg&quot;>Meg</a> </li> <li> <a href=&quot;http://example.com/ray&quot;>Ray</a> </li> </ul> </div>
  • 28. XHTML Markup Example <div xmlns:foaf=&quot;http://xmlns.com/foaf/0.1/&quot; about=&quot;#me&quot; rel=&quot;foaf:knows&quot; > <ul> <li typeof=&quot;foaf:Person&quot; > <a property=&quot;foaf:name&quot; rel=&quot;foaf:homepage&quot; href=&quot;http://example.com/dan&quot;>Dan</a> </li> <li typeof=&quot;foaf:Person&quot; > <a property=&quot;foaf:name&quot; rel=&quot;foaf:homepage&quot; href=&quot;http://example.com/meg&quot;>Meg</a> </li> <li typeof=&quot;foaf:Person&quot; > <a property=&quot;foaf:name&quot; rel=&quot;foaf:homepage&quot; href=&quot;http://example.com/ray&quot;>Ray</a> </li> </ul> </div>
  • 29. Triples in RDF Facts can be expressed as a subject-predicate-object triple
  • 30. RDF N3 Notation Example: @prefix dc: <http://purl.org/dc/elements/1.1/> . <urn:isbn:B00005U7WO> dc:title &quot;The Future of Ideas&quot; vocabulary subject object predicate
  • 31. RDF N3 Notation @prefix dc: <http://purl.org/dc/elements/1.1/> . @prefix geo: <http://www.w3.org/geo/wgs84_pos#> . @prefix edu: <http://www.example.org/> . <http://www.princeton.edu> geo:lat &quot;40.35&quot; ; geo:long &quot;-74.66&quot; . <http://www.cs.princeton.edu> dc:title &quot;Department of Computer Science&quot; . <http://www.princeton.edu> edu:hasDept <http://www.cs.princeton.edu> . Another example:
  • 32. So We Know How to Produce Semantic Content. How Do We Consume It?
  • 33. SPARQL A query language for RDF modeled roughly after SQL. @prefix bill: <http://bill.s.info/index.html#> @prefix ex: <http://example.org/> bill:my_office ex:contains bill:my_computer . bill:my_office ex:contains bill:my_phone . For example, assume the following:
  • 34. SPARQL A SPARQL query then might look like this: @prefix bill: <http://bill.s.info/index.html#> @prefix ex: <http://example.org/> SELECT ?what WHERE { bill:my_office ex:contains ?what . }
  • 35. SPARQL And the search results would be the following: ?what ----------------- bill:my_computer bill:my_phone
  • 36. When is the Semantic Web Usable? Now! But…
  • 37. The Two-To-Tango Problem Semantic content consumers need semantic content producers!
  • 38. Enter Drupal
  • 39. Module: RDF Enables the use of RDF metadata.
  • 40. Module: RDF CCK Allows you to map RDF to CCK fields
  • 41. RDF External Vocabulary Importer Allows you to import external RDF vocabularies into your site
  • 42. Module: Open Calais
    • Integrates the Thomson Reuters' Calais web service into Drupal.
    • Automatically creates rich semantic metadata for Drupal content.
    • Uses natural language processing, machine learning and other methods.
  • 43. Open Calais Information
    • http://www.lullabot.com/articles/introduction-calais
    • http://dc2009.drupalcon.org/session/using-intelligent-web-services-semantic-drupal-sites
  • 44. Other Semantic Web Modules
    • Feed API RDF Processor
    • Calais Marmoset
    • Neologism
  • 45. RDF in Drupal 7
    • For D7, community is trying on getting RDF functionality into core
    • sciencecollaboration.org contributing to the effort, among others
  • 46. RDF in Drupal 7
    • Goals for RDF in D7:
    • API for mapping triples to vocabularies
    • RDF markup for core content types
    • Provide a hook to allow overrides
  • 47.
    • Drupal group – groups.drupal.org/semantic-web
    • The Linked Data Organization – linkeddata.org
    • DBPedia – dbpedia.org
    • Schemaweb – http://www.schemaweb.info/
    Resources
  • 48.
    • RDF Resource Guide – http://planetrdf.com/guide/
    • Semantic Web Tools – http://esw.w3.org/topic/SemanticWebTools
    • Drupalcon Paris: The State of RDF in Drupal – http://www.archive.org/details/ThestateofRDFinDrupal7
    Resources
  • 49. “ (This) is too great an opportunity for us to pass up on. By adding semantic technology to Drupal core, I think we can make a notable contribution to the future of the web.” Thank You! -- Dries Buytaert