29
The SemanticWeb in Action Kennissystemen, December 2007 Rinke Hoekstra

Ks2007 Semanticweb In Action

Embed Size (px)

Citation preview

The SemanticWeb in ActionKennissystemen, December 2007

Rinke Hoekstra

04/18/232

Overview

The Semantic Web Languages and Integration Storage and Querying Browsing and Viewing Mashups ... does it really exist?

04/18/233

The Semantic Web Ideology

Partial solutions are great too! Layer cake

OWLOWL

04/18/234

Languages: RDF notations

Different ways of writing RDF RDF/XML RDF/XML Abbrev N3

Turtleonly allows valid RDF-graphs

Ntripleone triple per line, fully qualified id’s.

04/18/235

Languages: RDF(S)/XML Code Example.<rdf:RDF xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#” xmlns:rdfs="http://www.w3.org/TR/rdf-schema/" xmlns:uva=“http://www.uva.nl/rdf#” xmlns=“http://www.uva.nl/people”> <rdf:Description rdf:ID=“#radboud”> <rdf:type rdf:resource=“http://www.uva.nl/rdf#AssociateProfessor”/> <uva:name>Radboud Winkels</uva:name> <uva:teaches rdf:resource=“http://www.uva.nl/courses#ks2007”/> </rdf:Description> <uva:Course rdf:about=“http://www.uva.nl/courses#ks2007”/> <rdfs:Class rdf:about=“http://www.uva.nl/rdf#AssociateProfessor”> <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>

04/18/236

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:AssociateProfessor a rdfs:Class;rdfs:subClassOf uva:StaffMember.

uva:teaches a rdf:Property;rdfs:domain uva:AssociateProfessor;rdfs:range uva:Course.

:radboud a uva:AssociateProfessor;uva:name ”Radboud Winkels”^^xsd:string;uva:teaches courses:ks2007.

courses:ks2007 a uva:Course.

04/18/237

Languages: Important Message

Multiple Syntaxes! RDF statements are:

Triples <subject, predicate,object> Distributed Always about something else ... but can be about other RDF triples as

well.

Metadata

04/18/238

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

04/18/239

Integration: 303 See Other

04/18/2310

Integration: Inline

RDFa Attributes on XHTML elements http://www.w3.org/TR/xhtml-rdfa-primer

GRDDL Gleaning Resource Descriptions from

Dialects of Languages Explicit reference to XSL transformation http://www.w3.org/TR/grddl/

04/18/2311

Integration: RDFa Example

In XHTML:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"><html xmlns:cal="http://www.w3.org/2002/12/cal/ical#"> <head><title>Jo's Friends and Family Blog</title></head> <body> <p instanceof="cal:Vevent"> I'm holding <span property="cal:summary">one last summer Barbecue</span>, on <span property="cal:dtstart" content="20070916T1600-0500"> September 16th at 4pm. </span> </p> </body></html>

In RDF:_:blanknode0 rdf:type cal:Vevent; cal:summary "last summer Barbecue"; cal:dtstart "20070916T1600-0500" .

04/18/2312

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

04/18/2313

Querying

Many languages SPARQL, nRQL, SeRQL, etc.

SPARQL: http://www.w3.org/TR/rdf-sparql-query/

ExamplePREFIX course: <http://www.uva.nl/courses#>

PREFIX uva: <http://www.uva.nl/rdf#>

SELECT ?name

WHERE

{ ?x uva:teaches course:ks2007.

?x uva:name ?name }

?x binds with <http://www.uva.nl/people#radboud> ?name binds with “Radboud Winkels”^^xsd:string

04/18/2314

Interlude: Demos

Demos HTTP 303 See other Sesame Repository Querying Bibliography in TopBraid

04/18/2315

Browsing and Viewing

How to unlock your RDF/OWL to users? Custom applications (PizzaFinder) Generic RDF Browsers (Faceted Browsing)

How to present your RDF/OWL to users? Custom applications (TopBraid Geo) Generic RDF Visualisation (Fresnel Lenses)

04/18/2316

Browsing: Facets

Multi-dimensional search User filters available information Context dependent Facet

UI element Values of a property Number of results

Query building

04/18/2317

Browsing

MIT Longwell http://simile.mit.edu/longwell/demo/libraries

/facet http://slashfacet.semanticweb.org

Flamenco RDFBrowser Exhibit/Potluck

http://simile.mit.edu/potluck LENA OpenAcademia

http://vu.openacademia.org

04/18/2318

Viewing

Tables are boring! Different data? Different presentation:

URI/URL Images Strings Coordinates

Filtering data Aggregating data

04/18/2319

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

04/18/2320

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 ] ) .

04/18/2321

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 "imageWithThickBorder"^^fresnel:styleClass ;

fresnel:group :foafGroup .

:urlFormat rdf:type fresnel:Format ;

fresnel:propertyFormatDomain foaf:homepage ;

fresnel:propertyFormatDomain foaf:mbox ;

fresnel:value fresnel:externalLink ;

fresnel:labelStyle "basicLabel"^^fresnel:styleClass ;

fresnel:valueStyle "basicUrl"^^fresnel:styleClass ;

fresnel:group :foafGroup .

04/18/2322

Interlude: Demo

Custom: Pizza Finder OpenAcademia

Generic: Longwell /Facet (e-Culture)

04/18/2323

Interlude: Demo Mashups

Yahoo Pipes http://pipes.yahoo.com

Potluck GeoTagging

04/18/2324

Million dollar question

... does the SemanticWeb really exist?

Semantics: yes Web: mwoah

Friend-of-a-Friend (FOAF) RSS feeds (pingbacks etc.) Web 2.0: Tagging + Mashups

However The nuts ‘n bolts are ready, And we’ve got the data!

04/18/2325

Resources

http://www.w3.orgRDF(S), N3, OWL, SPARQL, RDFa, GRDDL, XML, XMLSchema, XSLT, CSS, XPath, fresnel...

http://www.semanticweb.org/facet, other resources

http://www.planetrdf.comAggregated RSS feed of the cool & famous

04/18/2326

Yahoo Pipes Editing

04/18/2327

Yahoo Pipes Result

04/18/2328

/facet

04/18/2329

Longwell