Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ks2007 Semanticweb In Action

2,548 views

Published on

Published in: Education, Technology
  • Be the first to comment

Ks2007 Semanticweb In Action

  1. 1. The SemanticWeb in Action Kennissystemen, December 2007 Rinke Hoekstra
  2. 2. Overview <ul><li>The Semantic Web </li></ul><ul><li>Languages and Integration </li></ul><ul><li>Storage and Querying </li></ul><ul><li>Browsing and Viewing </li></ul><ul><li>Mashups </li></ul><ul><li>... does it really exist? </li></ul>
  3. 3. The Semantic Web Ideology <ul><li>Partial solutions are great too! </li></ul><ul><li>Layer cake </li></ul>OWL
  4. 4. Languages: RDF notations <ul><li>Different ways of writing RDF </li></ul><ul><ul><li>RDF/XML </li></ul></ul><ul><ul><li>RDF/XML Abbrev </li></ul></ul><ul><ul><li>N3 </li></ul></ul><ul><ul><ul><li>Turtle only allows valid RDF-graphs </li></ul></ul></ul><ul><ul><ul><li>Ntriple one triple per line, fully qualified id’s. </li></ul></ul></ul>
  5. 5. Languages: RDF(S)/XML Code Example. <ul><li><rdf:RDF </li></ul><ul><li>xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#” </li></ul><ul><li>xmlns:rdfs=&quot;http://www.w3.org/TR/rdf-schema/&quot; </li></ul><ul><li>xmlns:uva=“http://www.uva.nl/rdf#” </li></ul><ul><li>xmlns=“http://www.uva.nl/people”> </li></ul><ul><li><rdf:Description rdf:ID=“#radboud”> </li></ul><ul><li><rdf:type rdf:resource=“http://www.uva.nl/rdf#AssociateProfessor”/> </li></ul><ul><li><uva:name>Radboud Winkels</uva:name> </li></ul><ul><li><uva:teaches rdf:resource=“http://www.uva.nl/courses#ks2007”/> </li></ul><ul><li></rdf:Description> </li></ul><ul><li><uva:Course rdf:about=“http://www.uva.nl/courses#ks2007”/> </li></ul><ul><li><rdfs:Class rdf:about=“http://www.uva.nl/rdf#AssociateProfessor”> </li></ul><ul><li><rdfs:subClassOf rdf:resource=“http://www.uva.nl/rdf#StaffMember”/> </li></ul><ul><li></rdfs:Class> </li></ul><ul><li><rdf:Property rdf:about=“http://www.uva.nl/rdf#teaches”> </li></ul><ul><li><rdfs:domain rdf:resource=“http://www.uva.nl/rdf#Professor”/> </li></ul><ul><li><rdfs:range rdf:resource=“http://www.uva.nl/rdf#Course”/> </li></ul><ul><li></rdf:Property> </li></ul><ul><li></rdf:RDF> </li></ul>
  6. 6. Languages: N3 <ul><li>@prefix rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>. </li></ul><ul><li>@prefix rdfs:<http://www.w3.org/TR/rdf-schema/>. </li></ul><ul><li>@prefix uva:<http://www.uva.nl/rdf#>. </li></ul><ul><li>@prefix courses:<http://www.uva.nl/courses#>. </li></ul><ul><li>@prefix :<http://www.uva.nl/people#>. </li></ul><ul><li>uva:AssociateProfessor a rdfs:Class; </li></ul><ul><li>rdfs:subClassOf uva:StaffMember. </li></ul><ul><li>uva:teaches a rdf:Property; </li></ul><ul><li>rdfs:domain uva:AssociateProfessor; </li></ul><ul><li>rdfs:range uva:Course. </li></ul><ul><li>:radboud a uva:AssociateProfessor; </li></ul><ul><li>uva:name ”Radboud Winkels”^^xsd:string; </li></ul><ul><li>uva:teaches courses:ks2007. </li></ul><ul><li>courses:ks2007 a uva:Course. </li></ul>
  7. 7. Languages: Important Message <ul><li>Multiple Syntaxes! </li></ul><ul><li>RDF statements are: </li></ul><ul><ul><li>Triples <subject, predicate,object> </li></ul></ul><ul><ul><li>Distributed </li></ul></ul><ul><ul><li>Always about something else </li></ul></ul><ul><ul><li>... but can be about other RDF triples as well. </li></ul></ul><ul><li>Metadata </li></ul>
  8. 8. Integration <ul><li>How to add this ‘meta’ to my ‘data’? </li></ul><ul><li>Three options: </li></ul><ul><ul><li>Oldfashioned HTML: <link rel='meta' type='application/rdf+xml' href='http://www.leibnizcenter.org/~hoekstra/foaf.rdf' title='FOAF'> </li></ul></ul><ul><ul><li>HTTP 303 `see other’ http://www.w3.org/TR/swbp-vocab-pub/ </li></ul></ul><ul><ul><li>Inline </li></ul></ul>
  9. 9. Integration: 303 See Other
  10. 10. Integration: Inline <ul><li>RDFa </li></ul><ul><ul><li>Attributes on XHTML elements </li></ul></ul><ul><ul><li>http://www.w3.org/TR/xhtml-rdfa-primer </li></ul></ul><ul><li>GRDDL </li></ul><ul><ul><li>Gleaning Resource Descriptions from Dialects of Languages </li></ul></ul><ul><ul><li>Explicit reference to XSL transformation </li></ul></ul><ul><ul><li>http://www.w3.org/TR/grddl/ </li></ul></ul>
  11. 11. Integration: RDFa Example <ul><li>In XHTML: </li></ul><ul><li><?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> </li></ul><ul><li><!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML+RDFa 1.0//EN&quot; </li></ul><ul><li>&quot;http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd&quot;> </li></ul><ul><li><html xmlns:cal=&quot;http://www.w3.org/2002/12/cal/ical#&quot;> </li></ul><ul><li><head><title>Jo's Friends and Family Blog</title></head> </li></ul><ul><li><body> </li></ul><ul><li><p instanceof=&quot;cal:Vevent&quot;> </li></ul><ul><li>I'm holding </li></ul><ul><li><span property=&quot;cal:summary&quot;>one last summer Barbecue</span>, </li></ul><ul><li>on </li></ul><ul><li><span property=&quot;cal:dtstart&quot; content=&quot;20070916T1600-0500&quot;> </li></ul><ul><li>September 16th at 4pm. </li></ul><ul><li></span> </li></ul><ul><li></p> </li></ul><ul><li></body> </li></ul><ul><li></html> </li></ul><ul><li>In RDF: </li></ul><ul><li>_:blanknode0 </li></ul><ul><li>rdf:type cal:Vevent; </li></ul><ul><li>cal:summary &quot;last summer Barbecue&quot;; </li></ul><ul><li>cal:dtstart &quot;20070916T1600-0500&quot; . </li></ul>
  12. 12. Storage (on the web) <ul><li>As documents </li></ul><ul><ul><li>.rdf, .n3, .turtle, .html </li></ul></ul><ul><li>In a RDF triple-store </li></ul><ul><ul><li>Sesame ( http://www.openrdf.org ) </li></ul></ul><ul><ul><li>Jena/Joseki ( http://jena.sourceforge.net ) </li></ul></ul><ul><li>RDF(S)/OWL reasoning </li></ul><ul><ul><li>Jena’s OntModel </li></ul></ul><ul><ul><li>Sesame OWLIM Sail module </li></ul></ul><ul><li>SPARQL Endpoints </li></ul><ul><ul><li>Results as JSON (JavaScript Object Notation) </li></ul></ul><ul><li>http://draco.leibnizcenter.org:8180/openrdf-sesame </li></ul>
  13. 13. Querying <ul><li>Many languages </li></ul><ul><ul><li>SPARQL, nRQL, SeRQL, etc. </li></ul></ul><ul><li>SPARQL: </li></ul><ul><ul><li>http://www.w3.org/TR/rdf-sparql-query/ </li></ul></ul><ul><li>Example </li></ul><ul><li>PREFIX course: <http://www.uva.nl/courses#> </li></ul><ul><li>PREFIX uva: <http://www.uva.nl/rdf#> </li></ul><ul><li>SELECT ?name </li></ul><ul><li>WHERE </li></ul><ul><li>{ ?x uva:teaches course:ks2007. </li></ul><ul><li>?x uva:name ?name } </li></ul><ul><li>?x binds with <http://www.uva.nl/people#radboud> </li></ul><ul><li>?name binds with “Radboud Winkels”^^xsd:string </li></ul>
  14. 14. Interlude: Demos <ul><li>Demos </li></ul><ul><ul><li>HTTP 303 See other </li></ul></ul><ul><ul><li>Sesame Repository </li></ul></ul><ul><ul><li>Querying Bibliography in TopBraid </li></ul></ul>
  15. 15. Browsing and Viewing <ul><li>How to unlock your RDF/OWL to users? </li></ul><ul><ul><li>Custom applications (PizzaFinder) </li></ul></ul><ul><ul><li>Generic RDF Browsers (Faceted Browsing) </li></ul></ul><ul><li>How to present your RDF/OWL to users? </li></ul><ul><ul><li>Custom applications (TopBraid Geo) </li></ul></ul><ul><ul><li>Generic RDF Visualisation (Fresnel Lenses) </li></ul></ul>
  16. 16. Browsing: Facets <ul><li>Multi-dimensional search </li></ul><ul><li>User filters available information </li></ul><ul><li>Context dependent </li></ul><ul><li>Facet </li></ul><ul><ul><li>UI element </li></ul></ul><ul><ul><li>Values of a property </li></ul></ul><ul><ul><li>Number of results </li></ul></ul><ul><li>Query building </li></ul>
  17. 17. Browsing <ul><li>MIT Longwell </li></ul><ul><ul><li>http://simile.mit.edu/longwell/demo/libraries </li></ul></ul><ul><li>/facet </li></ul><ul><ul><li>http://slashfacet.semanticweb.org </li></ul></ul><ul><li>Flamenco </li></ul><ul><li>RDFBrowser </li></ul><ul><li>Exhibit/Potluck </li></ul><ul><ul><li>http://simile.mit.edu/potluck </li></ul></ul><ul><li>LENA </li></ul><ul><li>OpenAcademia </li></ul><ul><ul><li>http://vu.openacademia.org </li></ul></ul>
  18. 18. Viewing <ul><li>Tables are boring! </li></ul><ul><li>Different data? Different presentation: </li></ul><ul><ul><li>URI/URL </li></ul></ul><ul><ul><li>Images </li></ul></ul><ul><ul><li>Strings </li></ul></ul><ul><ul><li>Coordinates </li></ul></ul><ul><li>Filtering data </li></ul><ul><li>Aggregating data </li></ul>
  19. 19. Viewing: Fresnel <ul><li>RDF specification of </li></ul><ul><ul><li>What data to present, and </li></ul></ul><ul><ul><li>How to present it </li></ul></ul><ul><li>http://www.w3.org/2005/04/fresnel-info </li></ul><ul><li>Lenses </li></ul><ul><ul><li>Group information (class membership, SPARQL result) </li></ul></ul><ul><li>Formats </li></ul><ul><ul><li>Specify how property values should be rendered </li></ul></ul>
  20. 20. Viewing: Fresnel lens <ul><li>:foafPersonDefaultLens rdf:type fresnel:Lens ; </li></ul><ul><li>fresnel:purpose fresnel:defaultLens ; </li></ul><ul><li>fresnel:classLensDomain foaf:Person ; </li></ul><ul><li>fresnel:group :foafGroup ; </li></ul><ul><li>fresnel:showProperties ( foaf:name </li></ul><ul><li>foaf:surname </li></ul><ul><li>foaf:depiction ) . </li></ul><ul><li>:knowsLens rdf:type fresnel:Lens ; </li></ul><ul><li>fresnel:classLensDomain foaf:Person ; </li></ul><ul><li>fresnel:group :foafGroup ; </li></ul><ul><li>fresnel:showProperties ( foaf:name </li></ul><ul><li>foaf:surname </li></ul><ul><li>foaf:mbox </li></ul><ul><li>[ rdf:type fresnel:PropertyDescription ; </li></ul><ul><li>fresnel:property foaf:knows ; </li></ul><ul><li>fresnel:sublens :foafPersonDefaultLens ] ) . </li></ul>
  21. 21. Viewing: Fresnel format <ul><li>:foafGroup rdf:type fresnel:Group ; </li></ul><ul><li>fresnel:stylesheetLink <http://www.example.org/example.css> . </li></ul><ul><li>:depictFormat rdf:type fresnel:Format ; </li></ul><ul><li>fresnel:propertyFormatDomain foaf:depiction ; </li></ul><ul><li>fresnel:label fresnel:none ; </li></ul><ul><li>fresnel:value fresnel:image ; </li></ul><ul><li>fresnel:valueStyle &quot;imageWithThickBorder&quot;^^fresnel:styleClass ; </li></ul><ul><li>fresnel:group :foafGroup . </li></ul><ul><li>:urlFormat rdf:type fresnel:Format ; </li></ul><ul><li>fresnel:propertyFormatDomain foaf:homepage ; </li></ul><ul><li>fresnel:propertyFormatDomain foaf:mbox ; </li></ul><ul><li>fresnel:value fresnel:externalLink ; </li></ul><ul><li>fresnel:labelStyle &quot;basicLabel&quot;^^fresnel:styleClass ; </li></ul><ul><li>fresnel:valueStyle &quot;basicUrl&quot;^^fresnel:styleClass ; </li></ul><ul><li>fresnel:group :foafGroup . </li></ul>
  22. 22. Interlude: Demo <ul><li>Custom: </li></ul><ul><ul><li>Pizza Finder </li></ul></ul><ul><ul><li>OpenAcademia </li></ul></ul><ul><li>Generic: </li></ul><ul><ul><li>Longwell </li></ul></ul><ul><ul><li>/Facet (e-Culture) </li></ul></ul>
  23. 23. Interlude: Demo Mashups <ul><li>Yahoo Pipes </li></ul><ul><ul><li>http://pipes.yahoo.com </li></ul></ul><ul><li>Potluck </li></ul><ul><li>GeoTagging </li></ul>
  24. 24. Million dollar question <ul><li>... does the SemanticWeb really exist? </li></ul><ul><li>Semantics: yes </li></ul><ul><li>Web: mwoah </li></ul><ul><ul><li>Friend-of-a-Friend (FOAF) </li></ul></ul><ul><ul><li>RSS feeds (pingbacks etc.) </li></ul></ul><ul><ul><li>Web 2.0: Tagging + Mashups </li></ul></ul><ul><li>However </li></ul><ul><ul><li>The nuts ‘n bolts are ready, </li></ul></ul><ul><ul><li>And we’ve got the data! </li></ul></ul>
  25. 25. Resources <ul><li>http://www.w3.org RDF(S), N3, OWL, SPARQL, RDFa, GRDDL, XML, XMLSchema, XSLT, CSS, XPath, fresnel... </li></ul><ul><li>http://www.semanticweb.org /facet, other resources </li></ul><ul><li>http://www.planetrdf.com Aggregated RSS feed of the cool & famous </li></ul>
  26. 26. Yahoo Pipes Editing
  27. 27. Yahoo Pipes Result
  28. 28. /facet
  29. 29. Longwell

×