36
The SemanticWeb in Action Kennissystemen, December 2008 Rinke Hoekstra

Ks2008 Semanticweb In Action

Embed Size (px)

Citation preview

Page 1: Ks2008 Semanticweb In Action

The SemanticWeb in ActionKennissystemen, December 2008

Rinke Hoekstra

Page 2: Ks2008 Semanticweb In Action

04/12/232

Overview

The Semantic Web Languages and Integration Storage and Querying Browsing and Viewing Mashups Reasoning (OWL in Action) ... does it really exist?

Page 3: Ks2008 Semanticweb In Action

04/12/233

The Semantic Web Ideology

Identity is everything Partial solutions are great too! Layer cake

OWLOWL

Page 4: Ks2008 Semanticweb In Action

04/12/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 URI’s.

Page 5: Ks2008 Semanticweb In Action

04/12/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#ks2008”/> </rdf:Description> <uva:Course rdf:about=“http://www.uva.nl/courses#ks2008”/> <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>

Page 6: Ks2008 Semanticweb In Action

04/12/236

Languages: Turtle@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:ks2008.

courses:ks2008 a uva:Course.

Page 7: Ks2008 Semanticweb In Action

04/12/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

Page 8: Ks2008 Semanticweb In Action

04/12/238

Integration

How to add this ‘meta’ to my ‘data’? Three options:

Old fashioned 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 (RDFa/GRDDL)

Page 9: Ks2008 Semanticweb In Action

04/12/239

Integration: 303 See Other (Demo)

http://www.metalex.eu/metalex

Page 10: Ks2008 Semanticweb In Action

04/12/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/

Page 11: Ks2008 Semanticweb In Action

04/12/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 ”one last summer Barbecue"; cal:dtstart "20070916T1600-0500" .

Page 12: Ks2008 Semanticweb In Action

04/12/2312

Integration: GRDDL

In HTML/XML instance documents:<html xmlns="http://www.w3.org/1999/xhtml" xmlns:grddl='http://www.w3.org/2003/g/data-view#' grddl:transformation="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="http://www.w3.org/1999/02/22-rdf-syntax-ns#">

<rdf:Description rdf:about="http://www.metalex.eu/latest"> <grddl:namespaceTransformation rdf:resource=”http://www.metalex.eu/grddl/metalex2owl.xsl" /></rdf:Description>

</rdf:RDF> </xsd:appinfo> </xsd:annotation>

Page 13: Ks2008 Semanticweb In Action

04/12/2313

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://darius.leibnizcenter.org:8080/openrdf-sesame

Page 14: Ks2008 Semanticweb In Action

04/12/2314

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

Page 15: Ks2008 Semanticweb In Action

04/12/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)

Page 16: Ks2008 Semanticweb In Action

04/12/2316

Browsing: Facets

Multi-dimensional search User filters available information Context dependent Facet

UI element Values of a property Number of results

Query building

Page 17: Ks2008 Semanticweb In Action

04/12/2317

Browsing

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

/facet http://slashfacet.semanticweb.org

Flamenco RDFBrowser Exhibit

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

http://vu.openacademia.org

Page 18: Ks2008 Semanticweb In Action

04/12/2318

Viewing

Tables are boring! Different data? Different presentation:

URI/URL Images Strings Coordinates

Filtering data Aggregating data

Page 19: Ks2008 Semanticweb In Action

04/12/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

Page 20: Ks2008 Semanticweb In Action

04/12/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 ] ) .

Page 21: Ks2008 Semanticweb In Action

04/12/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 .

Page 22: Ks2008 Semanticweb In Action

04/12/2322

Longwell

Page 23: Ks2008 Semanticweb In Action

04/12/2323

/facet

Page 24: Ks2008 Semanticweb In Action

04/12/2324

Mashups

Combining arbitrary sources of data

Potluck http://simile.mit.edu/potluck

Yahoo Pipes http://pipes.yahoo.com

Page 25: Ks2008 Semanticweb In Action

04/12/2325

Yahoo Pipes Editing

Page 26: Ks2008 Semanticweb In Action

04/12/2326

Yahoo Pipes Result

Page 27: Ks2008 Semanticweb In Action

OWL in Action

What OWL can do… Traditional

Straightforward classification tasks

Extensions Explanation & Justification Probabilistic Reasoning

Advanced (Law) Temporal reasoning (Klarman et al., 2008) Legal reasoning (van de Ven et al., 2008)

04/12/2327

Page 28: Ks2008 Semanticweb In Action

Legal assessment

Case input Individual case description

Match Case is matched against a set of norms

Resolve conflicts Where multiple norms apply, the system

determines whether and which norms have priority over others

Final verdict

Page 29: Ks2008 Semanticweb In Action

University library regulations

Norms qualify a situation

1a) Students registered at this university are allowed to check out a book from this library

1b) Students registered at other universities are allowed to check out a book from this library provided that they are enrolled in at least one course given at this university.

1c) Students who have checked out more than five books are not allowed to check out another book.

Expected subsumption hierarchy: Art1c ⊑ Art1a, Art1c ⊑ Art1b

AmyC {Amy :Student, book_1 :Library_Book, … , book_6 :Library_BookAmy checks_out book_1, … , Amy checks_out book_6}

Page 30: Ks2008 Semanticweb In Action

Norms in LKIF Core

Page 31: Ks2008 Semanticweb In Action

A Default Norm

0) Default: Checking out books is disallowed.

Default_GC⊑ Generic_Case⊑ ∃disallowed_by.{defaultnorm}≡ ∃checks_out.Library_Book

 Default_Norm

⊑ Prohibition ⊑ ∀disallows.Default_GC≡ {defaultnorm}

Page 32: Ks2008 Semanticweb In Action

Article 1a

1a) Students registered at this university are allowed to check out a book from this library.

Art1a_GC⊑ Generic_Case⊑ ∃allowed_by.art1a≡ Registered_Student ⊓

∃checks_out.Library_Book

 Art1a_Permission

⊑ Permission⊑ ∀allows.Art1a_GC≡ {art1a}

Page 33: Ks2008 Semanticweb In Action

Article 1c

1c) Students who have checked out more than five books are not allowed to check out another book.

Art1c_GC_F⊑ Generic_Case⊑ ∃disallowed_by.{art1c}≡ Registered_Student ⊓ ≥ 6

checks_out.Library_BookArt1c_GC_P

⊑ Generic_Case⊑ ∃allowed_by.{art1c}≡ Registered_Student ⊓

∃checks_out.Library_Book≤ 5 checks_out.Library_Book

Art1c_Prohibition ⊑ Prohibition⊑ ∀disallows.Art1c_GC_F ⊓

∀allows.Art1c_GC_P ≡ {art1c}

Page 34: Ks2008 Semanticweb In Action

Judging Amy

Page 35: Ks2008 Semanticweb In Action

04/12/2335

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

Reasoning? Local, ‘in the box’ But: MaRVIN (http://www.larkc.eu/marvin/)

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

Page 36: Ks2008 Semanticweb In Action

04/12/2336

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

NEW: OWL 2 http://www.w3.org/2007/OWL/