SemanticWeb Nuts 'n Bolts

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Notes on slide 1

    XPath doesn’t work

    Favorites, Groups & Events

    SemanticWeb Nuts 'n Bolts - Presentation 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
    SlideShare Zeitgeist 2009

    + Rinke HoekstraRinke Hoekstra Nominate

    custom

    69 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 69
      • 69 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories