Ks2007 Semanticweb In Action

2,423 views

Published on

Published in: Education, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,423
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
18
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • XPath doesn’t work
  • 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

    ×