Your SlideShare is downloading. ×
SemanticWeb Nuts 'n Bolts
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

SemanticWeb Nuts 'n Bolts

3,306

Published on

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

No Downloads
Views
Total Views
3,306
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
5
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
  • XPath doesn’t work
  • Transcript

    • 1. SemanticWeb: Nuts ‘n Bolts Leibniz Center Meeting, November 2007 Rinke Hoekstra
    • 2. Overview
      • The Semantic Web
      • Identification
      • Languages and Integration
      • Storage and Querying
      • Browsing and Viewing
      • ... does it really exist?
    • 3. The Semantic Web adds...
      • Machine understandable semantics
      • Explicit metadata
      • Ontology on the web:
        • shared understanding of a domain
      • Logic
        • Explanation --> Confidence
        • Reasoning
          • Expressiveness vs. Computational Efficiency
    • 4. The Semantic Web Ideology
      • Partial solutions are great too!
      • Layer cake
      OWL
    • 5. Identification: URI’s and Namespaces
      • URI: Universal Resource Identifier
        • ... Just an identifier
          • http://www.leibnizcenter.org/people#joost
        • URL: Universal Resource Location
          • http://www.leibnizcenter.org/people#joost
        • URN: Universal Resource Name
          • urn:leibnizcenter:people:joost
        • IRI: Internationalized Resource Identifier http://www.l èî ß ñ ¡zç é nt ë r.ørg/p é øple#jøøst
      • Namespace
        • A ‘space’ in which all locally defined names are unique, e.g.:
          • http://www.leibnizcenter.org/people#joost
          • http://www.hcs.science.uva.nl/staff#joost
        • Basis for `trust’
    • 6. Languages: XML, XML Schema, XPath & XSLT
      • Meta-language for markup
      • XML: Structured metadata
        • Elements & attributes
        • Semantics through nesting
          • Ordered labeled tree
        • Constraints on values
        • Order of elements important
      • XML Schema: Defines structure
        • Types
        • Built-in datatypes
      • XPath: Traverse structure
      • XSLT: Transform structure
    • 7. Languages: RDF & RDF Schema
      • RDF: Data-model
        • Triples: object-attribute-value
        • Has an XML syntax, but also others (!)
          • Semantics is independent of order of elements
        • Independent of domain of use
        • Graph, not tree
      • RDF(S): Defines vocabulary
        • Introduces classes
        • Makes semantic information machine accessible
    • 8. Languages: RDF
      • Resource
        • ‘ things’ on the web
        • Have a URI ( rdf:ID, rdf:about )
      • Literal
      • Property
        • Also a resource
        • Describes relations
      • Statement
        • Also a resource
        • Triple: <resource,property,value>
        • Asserts the property of a resource
      • Reification
        • Statements about statements
        • Contrast: traditional meta-classes
    • 9. Languages: RDF Schema
      • Distinction between individual objects & classes
        • rdfs:Class , rdf:type
      • Subclasses:
        • rdfs:subClassOf
        • Subclass hierarchies
        • Inheritance of properties
      • Global restrictions on properties
        • rdf:domain and rdf:range
      • Subproperties:
        • rdfs:subPropertyOf
      • Metadata
        • rdfs:seeAlso , rdfs:isDefinedBy , rdfs:comment , rdfs:label
    • 10. Languages: RDF/XML Code Example
      • <?xml version=“1.0” encoding=“utf-8”?>
      • <rdf:RDF
      • xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#”
      • xmlns:uva=“http://www.uva.nl/rdf#”
      • xmlns=“http://www.uva.nl/people”>
      • <rdf:Description rdf:about=“http://www.uva.nl/people#joost”>
      • <uva:teaches rdf:resource=“http://www.uva.nl/courses#kr2007”/>
      • </rdf:Description>
      • <rdf:Description rdf:ID=“#joost”>
      • <uva:name>Joost Breuker</uva:name>
      • </rdf:Description>
      • </rdf:RDF>
    • 11. Languages: RDF(S)/XML Code Example.
      • <rdf:RDF
      • xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#”
      • xmlns:rdfs=&quot;http://www.w3.org/TR/rdf-schema/&quot;
      • xmlns:uva=“http://www.uva.nl/rdf#”
      • xmlns=“http://www.uva.nl/people”>
      • <rdf:Description rdf:ID=“#joost”>
      • <rdf:type rdf:resource=“http://www.uva.nl/rdf#Professor”/>
      • <uva:name>Joost Breuker</uva:name>
      • <uva:teaches rdf:resource=“http://www.uva.nl/courses#kr2007”/>
      • </rdf:Description>
      • <uva:Course rdf:about=“http://www.uva.nl/courses#kr2007”/>
      • <rdfs:Class rdf:about=“http://www.uva.nl/rdf#Professor”>
      • <rdfs:subClassOf rdf:resource=“http://www.uva.nl/rdf#StaffMember”/>
      • </rdfs:Class>
      • <rdf:Property rdf:about=“http://www.uva.nl/rdf#teaches”>
      • <rdfs:domain rdf:resource=“http://www.uva.nl/rdf#Professor”/>
      • <rdfs:range rdf:resource=“http://www.uva.nl/rdf#Course”/>
      • </rdf:Property>
      • </rdf:RDF>
    • 12. Languages: RDF notations
      • Different ways of writing RDF
        • RDF/XML
        • RDF/XML Abbrev
        • N3
          • Turtle only allows valid RDF-graphs
          • Ntriple one triple per line, fully qualified id’s.
    • 13. Languages: N3
      • @prefix rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
      • @prefix rdfs:<http://www.w3.org/TR/rdf-schema/>.
      • @prefix uva:<http://www.uva.nl/rdf#>.
      • @prefix courses:<http://www.uva.nl/courses#>.
      • @prefix :<http://www.uva.nl/people#>.
      • uva:Professor a rdfs:Class;
      • rdfs:subClassOf uva:StaffMember.
      • uva:teaches a rdf:Property;
      • rdfs:domain uva:Professor;
      • rdfs:range uva:Course.
      • :joost a uva:Professor;
      • uva:name &quot;Joost Breuker”^^xsd:string;
      • uva:teaches courses:kr2007.
      • courses:kr2007 a uva:Course.
    • 14. Languages: Important Message
      • RDF statements are:
        • Triples <subject, predicate,object>
        • Distributed
        • Always about something else
        • ... but can be about other RDF triples as well.
    • 15. Integration
      • How to add this ‘meta’ to my ‘data’?
      • Three options:
        • Oldfashioned HTML: <link rel='meta' type='application/rdf+xml' href='http://www.leibnizcenter.org/~hoekstra/foaf.rdf' title='FOAF'>
        • HTTP 303 `see other’ http://www.w3.org/TR/swbp-vocab-pub/
        • Inline
    • 16. Integration: 303 See Other
    • 17. Integration: Inline
      • RDFa
        • Attributes on XHTML elements
        • http://www.w3.org/TR/xhtml-rdfa-primer
        • Standard XHTML:
          • Predicate: @rel, @rev
          • Object: @href, @src (embedded)
        • RDFa:
          • Subject: @about
          • Predicate: @property
          • Object: @resource (not clickable)
          • Datatype: @datatype
          • Alternative: @content
          • RDF Type: @instanceof
    • 18. Integration: RDFa Example
      • In XHTML:
      • <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>
      • <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML+RDFa 1.0//EN&quot;
      • &quot;http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd&quot;>
      • <html xmlns:cal=&quot;http://www.w3.org/2002/12/cal/ical#&quot;>
      • <head><title>Jo's Friends and Family Blog</title></head>
      • <body>
      • <p instanceof=&quot;cal:Vevent&quot;>
      • I'm holding
      • <span property=&quot;cal:summary&quot;>one last summer Barbecue</span>,
      • on
      • <span property=&quot;cal:dtstart&quot; content=&quot;20070916T1600-0500&quot;>
      • September 16th at 4pm.
      • </span>
      • </p>
      • </body>
      • </html>
      • In RDF:
      • _:blanknode0
      • rdf:type cal:Vevent;
      • cal:summary &quot;last summer Barbecue&quot;;
      • cal:dtstart &quot;20070916T1600-0500&quot; .
    • 19. Integration: GRDDL
      • Gleaning Resource Descriptions from Dialects of Languages
      • http://www.w3.org/TR/grddl/
      • In HTML/XML instance documents:
      • <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;
      • xmlns:grddl='http://www.w3.org/2003/g/data-view#'
      • grddl:transformation=&quot;glean_title.xsl
      • http://www.w3.org/2001/sw/grddl-wg/td/getAuthor.xsl”>
      • In XML Schema documents:
      • <xsd:annotation>
      • <xsd:appinfo>
      • <rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;>
      • <rdf:Description rdf:about=&quot;http://www.metalex.eu/latest&quot;>
      • <data-view:namespaceTransformation
      • rdf:resource=”http://www.metalex.eu/grddl/metalex2owl.xsl&quot; />
      • </rdf:Description>
      • </rdf:RDF>
      • </xsd:appinfo>
      • </xsd:annotation>
    • 20. Storage (on the web)
      • As documents
        • .rdf, .n3, .turtle, .html
      • In a RDF triple-store
        • Sesame ( http://www.openrdf.org )
        • Jena/Joseki ( http://jena.sourceforge.net )
      • RDF(S)/OWL reasoning
        • Jena’s OntModel
        • Sesame OWLIM Sail module
      • SPARQL Endpoints
        • Results as JSON (JavaScript Object Notation)
      • http://draco.leibnizcenter.org:8180/openrdf-sesame
    • 21. Querying
      • Many languages
        • SPARQL, nRQL, SeRQL, etc.
      • SPARQL:
        • http://www.w3.org/TR/rdf-sparql-query/
      • Example
      • PREFIX course: <http://www.uva.nl/courses#>
      • PREFIX uva: <http://www.uva.nl/rdf#>
      • SELECT ?name
      • WHERE
      • { ?x uva:teaches course:kr2007.
      • ?x uva:name ?name }
      • ?x binds with <http://www.uva.nl/people#joost>
      • ?name binds with “Joost Breuker”^^xsd:string
    • 22. Querying: SPARQL
      • Construct
      • PREFIX course: <http://www.uva.nl/courses#>
      • PREFIX uva: <http://www.uva.nl/rdf#>
      • CONSTRUCT { ?x uva:teaches course:kr2008 }
      • WHERE { ?x uva:teaches course:kr2007 }
      • Filtering
        • Strings (regexp), Integers (values)
      • Grouping, patterns, collections, optionals
    • 23. Browsing and Viewing
      • How to unlock your RDF to users?
        • Custom applications (e.g. Legal Atlas)
        • Generic RDF Browsers
      • How to present your RDF to users?
        • Custom applications
        • Generic RDF Visualisation
    • 24. Browsing: Facets
      • Multi-dimensional search
      • User filters available information
      • Context dependent
      • Facet
        • UI element
        • Values of a property
        • Number of results
      • Query building
    • 25. Browsing
      • MIT Longwell
        • http://simile.mit.edu/longwell/demo/libraries
      • /facet
        • http://slashfacet.semanticweb.org
      • Flamenco
      • RDFBrowser
      • Exhibit
      • LENA
        • http://draco.leibnizcenter.org:8180/lena
    • 26. /facet
    • 27. Longwell
    • 28. Viewing
      • Tables are boring!
      • Different data? Different presentation:
        • URI/URL
        • Images
        • Strings
        • Coordinates
      • Filtering data
      • Aggregating data
    • 29. Viewing: Fresnel
      • RDF specification of
        • What data to present, and
        • How to present it
      • http://www.w3.org/2005/04/fresnel-info
      • Lenses
        • Group information (class membership, SPARQL result)
      • Formats
        • Specify how property values should be rendered
    • 30. Viewing: Fresnel lens
      • :foafPersonDefaultLens rdf:type fresnel:Lens ;
      • fresnel:purpose fresnel:defaultLens ;
      • fresnel:classLensDomain foaf:Person ;
      • fresnel:group :foafGroup ;
      • fresnel:showProperties ( foaf:name
      • foaf:surname
      • foaf:depiction ) .
      • :knowsLens rdf:type fresnel:Lens ;
      • fresnel:classLensDomain foaf:Person ;
      • fresnel:group :foafGroup ;
      • fresnel:showProperties ( foaf:name
      • foaf:surname
      • foaf:mbox
      • [ rdf:type fresnel:PropertyDescription ;
      • fresnel:property foaf:knows ;
      • fresnel:sublens :foafPersonDefaultLens ] ) .
    • 31. Viewing: Fresnel format
      • :foafGroup rdf:type fresnel:Group ;
      • fresnel:stylesheetLink <http://www.example.org/example.css> .
      • :depictFormat rdf:type fresnel:Format ;
      • fresnel:propertyFormatDomain foaf:depiction ;
      • fresnel:label fresnel:none ;
      • fresnel:value fresnel:image ;
      • fresnel:valueStyle &quot;imageWithThickBorder&quot;^^fresnel:styleClass ;
      • fresnel:group :foafGroup .
      • :urlFormat rdf:type fresnel:Format ;
      • fresnel:propertyFormatDomain foaf:homepage ;
      • fresnel:propertyFormatDomain foaf:mbox ;
      • fresnel:value fresnel:externalLink ;
      • fresnel:labelStyle &quot;basicLabel&quot;^^fresnel:styleClass ;
      • fresnel:valueStyle &quot;basicUrl&quot;^^fresnel:styleClass ;
      • fresnel:group :foafGroup .
    • 32. Million dollar question
      • ... does the SemanticWeb really exist?
      • Semantics: yes
      • Web: mwoah
        • Friend-of-a-Friend (FOAF) http://www.ldodds.com/foaf/foaf-a-matic
        • RSS feeds (pingbacks etc.)
        • Web 2.0: Tagging
      • However
        • The nuts ‘n bolts are ready,
        • And we’ve got the data!
    • 33. Compelling Example?
      • Yahoo Pipes
      • http://pipes.yahoo.com
      • Aggregate, select, filter feeds
      • Feeds can be any data
    • 34. Yahoo Pipes Editing
    • 35. Yahoo Pipes Result
    • 36. Resources
      • http://www.w3.org RDF(S), N3, OWL, SPARQL, RDFa, GRDDL, XML, XMLSchema, XSLT, CSS, XPath, fresnel...
      • http://www.semanticweb.org /facet, other resources
      • http://www.planetrdf.com Aggregated RSS feed of the cool & famous

    ×