Drupal and the Semantic Web - ESIP Webinar

  • 686 views
Uploaded on

An update on the latest semantic web modules for Drupal, in particular the RDF Indexer for provide a SPARQL endpoint of Drupal's RDF data.

An update on the latest semantic web modules for Drupal, in particular the RDF Indexer for provide a SPARQL endpoint of Drupal's RDF data.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
686
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Semantic Web and Drupal 7 Stéphane Corlosquet ESIP webinar June, 2013
  • 2. About the speaker ● Stéphane “scor” Corlosquet ● 7 years with Drupal ● Software engineer ● Drupal 7 RDF core maintainer ● Drupal Security Team member ● Co-authored the Definitive Guide to Drupal 7 ● Contrib modules: RDF Extensions, SPARQL, schema.org, WebID ● Member of the RDFa WG at W3C
  • 3. The Semantic Web
  • 4. The Web today
  • 5. Many information silos Image credits: www.pidgintech.com
  • 6. Many isolated and disparate communities Image credits: www.pidgintech.com
  • 7. Growing amount of information ● Blogs, News, Comments ● Social platforms: Facebook, Google plus ● Everyday more and more content is published ● Desktop, laptops, tablets, smartphones... ● Sensor data for weather, traffic, healthcare ● Billions of public pages ● Deep web?
  • 8. What do machines see?
  • 9. Challenge: How can machines help us search all this information?
  • 10. Vision of the Semantic Web ● Transition to the Giant Global Graph ● WWW = content+links ● GGG = WWW+relationships+descriptions ● Universal medium for data, information and knowledge exchange
  • 11. Evolution of the Web
  • 12. The One Machine ● All devices connected ● Personal computers ● Data servers ● Cell phones ● PDAs ● RFID tags http://www.kk.org/thetechnium/archives/2007/11/dimensions_of_t.php
  • 13. Key ● Agree on Standards ● Open Data
  • 14. Linked Data
  • 15. Linked Open Data Cloud
  • 16. LOD cloud by domain Distribution of triples by domain. Source: Linking Open Data cloud staistics, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/
  • 17. LOD cloud providers ● BBC ● US Census ● UK Gov ● Music Brainz ● Dbpedia ● Wikidata (WikiMedia foundation, funded by Google, etc.) ● Freebase (Google)
  • 18. Rich Snippets
  • 19. Google
  • 20. Yahoo!
  • 21. Bing
  • 22. Structured Data in HTML ● Helps machines extract relevant data from HTML ● Can make use of this data in new ways: – enhanced search results – Knowledge graph ● Search engines only index HTML
  • 23. Structured Data in HTML ● HTML attributes ● Syntaxes – Microformats (@class, @rel) – RDFa (@property, @typeof, @resource…) – Microdata (@itemscope, @itemtype, @itemprop, …)
  • 24. Schema.org
  • 25. Schema.org ● Describe the type of your content (Person, Event, Recipe, Product, Book, Movie, etc.) – 416 types and counting ● Each type has a set of properties – Common properties: name, description, image, url – Specific properties depending on the type (see type page on schema.org) – 544 properties and counting
  • 26. Credits: Dan Brickley - link.
  • 27. Schema.org
  • 28. How does schema.org apply to Drupal? ● Content types
  • 29. Schema.org module for Drupal ● Map your content types and fields to the schema.org terms http://drupal.org/project/schemaorg
  • 30. Content types and Fields
  • 31. Content types and Fields
  • 32. Content types and Fields
  • 33. Rich Snippet testing tool ● http://www.google.com/webmasters/tools/richsnippets
  • 34. Schema.org module ● http://drupal.org/project/schemaorg – UI for mapping content types and fields to schema.org – Documentation on drupal.org – Screencast + examples
  • 35. RDF architecture in Drupal 7
  • 36. Architecture ● User driven data model
  • 37. Content types and Fields
  • 38. Content types and Fields
  • 39. Node
  • 40. Drupal 7 and RDF ● The RDF mapping API allows any vocabulary ● Default mappings on blogs, forums, comments, etc. using FOAF, SIOC, DC, SKOS ● Drupal 7 core outputs these mappings in RDFa ● Mappings can be changed to include other vocabularies like schema.org
  • 41. Drupal 7 default RDF mappings
  • 42. Drupal 7 core RDF limitations ● No schema.org out of the box ● No UI for managing the RDF mappings ● Only core fields are supported (text, file, image) – No support for contrib fields: addressfield, fivestar ● No native support for Views or Panels – Display suite 2.0 is OK ● Some contrib modules can help fix the above ● Drupal 8 to fix these many of these issues
  • 43. Drupal 7 and RDF ● Contributed module for more features ● RDF Extensions ● Serialization formats: RDF/XML, Turtle, N-Triples ● Mapping UI ● RDF Indexer ● Expose Drupal RDF data in a SPARQL Endpoint ● SPARQL Views ● Display remote RDF data in Drupal using SPARQL ● JSON-LD ● Expose Drupal RDF data as JSON-LD (CORS-enabled) ● Features and packaging ● Build distributions / deployment workflow
  • 44. Drupal and SPARQL
  • 45. RDF store + SPARQL Endpoint ● Indexing Module: https://drupal.org/project/rdf_indexer Documentation: https://drupal.org/node/2028111
  • 46. RDF store + SPARQL Endpoint ● Public endpoint available at /sparql
  • 47. RDF store + SPARQL Endpoint ● Lessons learnt: – Previous implementation didn't scale – http://drupal.org/project/sparql is deprecated (unless you use the SPARQL registry with other modules) – Use https://drupal.org/project/rdf_indexer instead – Documentation: https://drupal.org/node/2028111
  • 48. RDF store + SPARQL Endpoint ● Functionalities – RDF Indexer is built on top of Search API – Search API offers many of the capabilities needed: ● Track entities that need to be indexed ● Workflows ● Integration with Drush (list, status, clear, index) ● Cron ● OOP – Service class for plugins – Integration with Features (config management)
  • 49. RDF store + SPARQL Endpoint ● Example: popular tags by comments – http://openspring.net/sparql PREFIX dc: <http://purl.org/dc/terms/> PREFIX sioc: <http://rdfs.org/sioc/ns#> SELECT ?tag sum(?replies) as ?total_replies WHERE { ?post sioc:num_replies ?replies. ?post dc:subject [ rdfs:label ?tag ] . } GROUP BY ?tag ORDER BY DESC(?total_replies)
  • 50. How to get involved ● Drupal group: – http://groups.drupal.org/semantic-web ● IRC on freenode: #drupal-rdf ● Report bugs or ask support questions on drupal.org
  • 51. Thanks! ● Stéphane Corlosquet: – scorlosquet@gmail.com – @scorlosquet – http://openspring.net/