semantic web technologies for hci

110
Semantic Web Technologies for HCI Jo Vermeulen [email protected] Expertise Centre for Digital Media Affiliated with the Institute for BroadBand Technology Hasselt University - transnationale Universiteit Limburg Belgium

Upload: guestfea817

Post on 01-Nov-2014

1.376 views

Category:

Technology


4 download

DESCRIPTION

Semantic web technologies pop up frequently in current computer science research, in particular in fields related to HCI. Although the semantic web itself has not yet been fully realized, the supporting technologies are mature enough to be used for other applications.The semantic web initiative centers around knowledge representation and automated reasoning about knowledge. This concept is general enough to find its use in many different fields (ambient intelligence, service oriented computing, etc.).I will give an overview of the basic concepts of the semantic web. Important semantic web standards such as RDF, RDFS and OWL will be covered as well.Presented during a HCI chit-chat session at our institute on September 8th, 2006.

TRANSCRIPT

Page 1: Semantic Web Technologies for HCI

Semantic Web Technologies for HCI

Jo [email protected]

Expertise Centre for Digital MediaAffiliated with the Institute for BroadBand Technology

Hasselt University - transnationale Universiteit LimburgBelgium

Page 2: Semantic Web Technologies for HCI

Semantic Web Technologies for HCI

Jo [email protected]

Expertise Centre for Digital MediaAffiliated with the Institute for BroadBand Technology

Hasselt University - transnationale Universiteit LimburgBelgium

Part I

Page 3: Semantic Web Technologies for HCI

Semantic Web?

Page 4: Semantic Web Technologies for HCI

A web of data.

Page 5: Semantic Web Technologies for HCI

Some history

Page 6: Semantic Web Technologies for HCI

Tim Berners-Lee

Page 7: Semantic Web Technologies for HCI

The aim would be to allow a place to be found for any information or reference which one felt was important, and a way of finding it afterwards.

Tim Berners-Lee1989

Page 8: Semantic Web Technologies for HCI

Tim Berners-Lee

The Web

Page 9: Semantic Web Technologies for HCI

Tim Berners-Lee2001

For the documents in our lives, everything is simple and smooth. But for data, we are still pre-Web.

Page 10: Semantic Web Technologies for HCI

Tim Berners-Lee

The Semantic Web

Page 11: Semantic Web Technologies for HCI

Tim Berners-Lee

The Semantic Web is not a separate Web, but an extension of the current one, in which information is given well-defined meaning, better enabling computers and people to work in cooperation.

Page 12: Semantic Web Technologies for HCI

... in a nutshell

• support for databases

• better search engines

• not AI!

• smart data versus smart machines

Page 13: Semantic Web Technologies for HCI

A simple but powerful idea!

Page 14: Semantic Web Technologies for HCI

Information is maintained in a

structured form.

Page 15: Semantic Web Technologies for HCI

• statements

• describe some relationship between one thing and another

• standardized by W3C as RDF

Page 16: Semantic Web Technologies for HCI

Web Semantic Web

Building blocks

URIs

HTTP

HTML

URIs

HTTP

Page 17: Semantic Web Technologies for HCI

Web Semantic Web

Building blocks

URIs

HTTP

HTML

URIs

HTTP

RDF

Page 18: Semantic Web Technologies for HCI

To be able to discuss something, we must

first identify it.

Page 19: Semantic Web Technologies for HCI

• Uniform Resource Identifier (URI)

• decentralized to scale

Page 20: Semantic Web Technologies for HCI

• http://me.jozilla.net/

• http://purl.org/dc/terms/modified

• uuid:04b749bf-3bb2-4dba-934c-c92c56b709df

• tag:[email protected],2001-06-05:Taiko

• esl:SHA1:iQAAwUBO51bkD6DJL[...]szDxfckCE:someName

Some examples

Page 21: Semantic Web Technologies for HCI

URI versus URLUniform Resource

IdentifierUniform Resource

Locator

where to find a specific resource

Identifies Identifies

Locates

Page 22: Semantic Web Technologies for HCI

Quickly create a URI

1. Create web page that describes resource

2. This URL serves as the URI

e.g. http://jozilla.net/myPowerbook

Page 23: Semantic Web Technologies for HCI

HTTP

• protocol for operations on resources

• GET

• POST

• PUT

Page 24: Semantic Web Technologies for HCI

HTTP

• protocol for operations on resources

• GET

• POST

• PUT

Ask info

Page 25: Semantic Web Technologies for HCI

HTTP

• protocol for operations on resources

• GET

• POST

• PUT

Send request

Ask info

Page 26: Semantic Web Technologies for HCI

HTTP

• protocol for operations on resources

• GET

• POST

• PUT

Send request

Ask info

Update

Page 27: Semantic Web Technologies for HCI

RDF

• Resource Description Format

• machine-processable

• statements

• triples

Page 28: Semantic Web Technologies for HCI

Pairs versus triples

Web

Semantic Web

(Microsoft, BillGates)

(Microsoft, employee, BillGates)

(subject, predicate, object)

link

link

Page 29: Semantic Web Technologies for HCI

Some examples

• <Jo> <hasName> “Jo Vermeulen” .

• <Jo> <knows> <Lode> .

• <Lode> <hasEmployer> <EDM> .

• <EDM> <site> <http://edm.uhasselt.be> .

• <primaryKey> <column_name> “value” .

Page 30: Semantic Web Technologies for HCI

RDF is a graph

JohasName

Jo Vermeulen

Lode EDM

knows

hasEmployer sitehttp://edm.uhasselt.be/

Page 31: Semantic Web Technologies for HCI

Why use RDF instead of XML?

Page 32: Semantic Web Technologies for HCI

• XML is about documents, not data

• attributes and entities cause problems with expressing data

• many ways to say the same thing in XML

• RDF is easy to put in relational database

• RDF is easy to merge

Page 33: Semantic Web Technologies for HCI

Ambiguity in XML<page> <hasAuthor> <Lode>

<author> <uri>page</uri> <name>Lode</name></author>

<person name=”Lode”> <work>page</work></person>

<document href=”http://www.perceptie.be/” author=”Lode”/>

Page 34: Semantic Web Technologies for HCI

But what about triple variations?

Page 35: Semantic Web Technologies for HCI

• new triple, saying that two URIs are equal

• RDF system will do find-and-replace

Different URIs?

Page 36: Semantic Web Technologies for HCI

Inverse?

<Lode> <authorOf> <page>

Conversion between RDF documents

Fairly easy, not like XSLT

Page 37: Semantic Web Technologies for HCI

RDF Syntax

• RDF/XML

• Notation 3 (N3)

• Turtle

Page 38: Semantic Web Technologies for HCI

Comparison<article> <dc:title> “Tony Benn”<article> <dc:publisher> “Wikipedia”

Page 39: Semantic Web Technologies for HCI

Comparison

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description rdf:about="http://en.wikipedia.org/wiki/Tony_Benn"> <dc:title>Tony Benn</dc:title> <dc:publisher>Wikipedia</dc:publisher> </rdf:Description></rdf:RDF>

<article> <dc:title> “Tony Benn”<article> <dc:publisher> “Wikipedia”

RDF/XML

Page 40: Semantic Web Technologies for HCI

Comparison<article> <dc:title> “Tony Benn”<article> <dc:publisher> “Wikipedia”

N3 or Turtle

@prefix dc: <http://purl.org/dc/elements/1.1/>.

<http://en.wikipedia.org/wiki/Tony_Benn> dc:title "Tony Benn"; dc:publisher "Wikipedia".

Page 41: Semantic Web Technologies for HCI

URIs + HTTP + RDF = ?

Page 42: Semantic Web Technologies for HCI

Semantic Web Services

Page 43: Semantic Web Technologies for HCI

Purchasing a book

Page 44: Semantic Web Technologies for HCI

Purchasing a book

GET

Page 45: Semantic Web Technologies for HCI

Purchasing a book<isbn:1588750019> <...title> “Travels with Samantha” .<isbn:1588750019> <...author> <...PhilipGreenspun> .<isbn:1588750019> <...pages> “368” .

Page 46: Semantic Web Technologies for HCI

Purchasing a book<isbn:1588750019> <...title> “Travels with Samantha” .<isbn:1588750019> <...author> <...PhilipGreenspun> .<isbn:1588750019> <...pages> “368” .

POST

Page 47: Semantic Web Technologies for HCI

Purchasing a book<isbn:1588750019> <...title> “Travels with Samantha” .<isbn:1588750019> <...author> <...PhilipGreenspun> .<isbn:1588750019> <...pages> “368” .

<Jo> <...wantsCopyOf> <isbn:1588750019> .<Jo> <...address> “Wetenschapspark 2”

Page 48: Semantic Web Technologies for HCI

Purchasing a book<isbn:1588750019> <...title> “Travels with Samantha” .<isbn:1588750019> <...author> <...PhilipGreenspun> .<isbn:1588750019> <...pages> “368” .

<Jo> <...wantsCopyOf> <isbn:1588750019> .<Jo> <...address> “Wetenschapspark 2”

PUT

Page 49: Semantic Web Technologies for HCI

Purchasing a book<isbn:1588750019> <...title> “Travels with Samantha” .<isbn:1588750019> <...author> <...PhilipGreenspun> .<isbn:1588750019> <...pages> “368” .

<Jo> <...wantsCopyOf> <isbn:1588750019> .<Jo> <...address> “Wetenschapspark 2”

<http://bookstore.org/reviews/2> <...title> “Cool” .<http://bookstore.org/reviews/2> <...author> <...George>.<isbn:1588750019> <...rating> “5” .<> <...contents> “I recommend this book to everyone!”

Page 50: Semantic Web Technologies for HCI

Why not use SOAP?

Page 51: Semantic Web Technologies for HCI

Why not use SOAP?<?xml version="1.0"?><SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/1999/XMLSchema" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> <ns:WhosOnlineResponse xmlns:ns="http://www.aduni.org/"> <user> <first_names xsi:type="xsd:string">Eve</first_names> <last_name xsi:type="xsd:string">Andersson</last_name> <email xsi:type="xsd:string">[email protected]</email> </user> </ns:WhosOnlineResponse> </SOAP-ENV:Body></SOAP-ENV:Envelope>

Page 52: Semantic Web Technologies for HCI

Why not use SOAP?

versus

Page 53: Semantic Web Technologies for HCI

Why not use SOAP?

@prefix : <http://www.aduni.org/rdf/> .@prefix u: <http://www.aduni.org/users/> .

u:1000 :type :User .u:1000 :firstName "Eve" .u:1000 :lastName "Andersson" .u:1000 :email "[email protected]" .

Page 54: Semantic Web Technologies for HCI

Furthermore ...

• SOAP is very verbose

• everyone can invent its own methods

• depends on things not changing

Page 55: Semantic Web Technologies for HCI

Existing services

• MusicBrainz

• music metadata

• Google Directory

• annotates OpenDirectory with PageRank

Page 56: Semantic Web Technologies for HCI

Who would trust such a system?

Page 57: Semantic Web Technologies for HCI

Security

• digital signatures

• sign RDF statements

• Web of Trust

Page 58: Semantic Web Technologies for HCI

Web of Trust

Jo

x

y

z

g

h

i

d

e

f

a

b

c

p

q

r

Page 59: Semantic Web Technologies for HCI

How do we know what a specific term means?

Page 60: Semantic Web Technologies for HCI

Book ratings<reallyLikes> rank 1-10

Page 61: Semantic Web Technologies for HCI

Book ratings<reallyLikes> rank 1-10

Schemas Ontologies

Page 62: Semantic Web Technologies for HCI

Book ratings<reallyLikes> rank 1-10

Schemas Ontologies

meaning and relationships

Page 63: Semantic Web Technologies for HCI

Book ratings<reallyLikes> rank 1-10

Schemas Ontologies

meaning and relationships

RDFS

Page 64: Semantic Web Technologies for HCI

Book ratings<reallyLikes> rank 1-10

Schemas Ontologies

meaning and relationships

RDFS OWL

Page 65: Semantic Web Technologies for HCI

Three layers

RDF

RDFS

OWL

Page 66: Semantic Web Technologies for HCI

Three layers

RDF

RDFS

Facts

OWL

Page 67: Semantic Web Technologies for HCI

Three layers

RDF

RDFS

Facts

Vocabularies

OWL

Page 68: Semantic Web Technologies for HCI

Three layers

RDF

RDFS

Facts

Vocabularies

Relationships between vocabulariesOWL

Page 69: Semantic Web Technologies for HCI

RDFS example

• resource X is a review

• resource Y is a special kind of review

Page 70: Semantic Web Technologies for HCI

Classes

Page 71: Semantic Web Technologies for HCI

Definition

Classes

Page 72: Semantic Web Technologies for HCI

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

rev:Review rdf:type rdfs:Class ; rdf:ID “Review” ;.

rev:ComparativeReview a rdfs:Class ; rdfs:subClassOf rev:Review .

Definition

Classes

Page 73: Semantic Web Technologies for HCI

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

rev:Review rdf:type rdfs:Class ; rdf:ID “Review” ;.

rev:ComparativeReview a rdfs:Class ; rdfs:subClassOf rev:Review .

Definition

Instantiation

Classes

Page 74: Semantic Web Technologies for HCI

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

rev:Review rdf:type rdfs:Class ; rdf:ID “Review” ;.

rev:ComparativeReview a rdfs:Class ; rdfs:subClassOf rev:Review .

<http://bookstore.org/rev1> rdf:type rev:Review .

Definition

Instantiation

Classes

Page 75: Semantic Web Technologies for HCI
Page 76: Semantic Web Technologies for HCI

Defining a subject property

Page 77: Semantic Web Technologies for HCI

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

rev:subject rdf:type rdf:Property; rdfs:label “Subject property” ; rdfs:domain rev:Review ; rdfs:range rdfs:Resource ; rdfs:comment “The resource being reviewed.”.

Defining a subject property

Page 78: Semantic Web Technologies for HCI

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

rev:subject rdf:type rdf:Property; rdfs:label “Subject property” ; rdfs:domain rev:Review ; rdfs:range rdfs:Resource ; rdfs:comment “The resource being reviewed.”.

Defining a subject property

XY

Z

(x, y, z)

Page 79: Semantic Web Technologies for HCI

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

rev:subject rdf:type rdf:Property; rdfs:label “Subject property” ; rdfs:domain rev:Review ; rdfs:range rdfs:Resource ; rdfs:comment “The resource being reviewed.”.

Defining a subject property

XY

Z

Domain

(x, y, z)

Page 80: Semantic Web Technologies for HCI

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

rev:subject rdf:type rdf:Property; rdfs:label “Subject property” ; rdfs:domain rev:Review ; rdfs:range rdfs:Resource ; rdfs:comment “The resource being reviewed.”.

Defining a subject property

XY

Z

Domain Range

(x, y, z)

Page 81: Semantic Web Technologies for HCI

With RDFS, we know ...

• which classes exist

• what their properties are

Page 82: Semantic Web Technologies for HCI

We don’t know ...

• when two classes are the same?

• whether properties can have multiple values?

• if X property Y and Y property Z; then

• X property Z? (transitivity)

• Y property X? (symmetry)

• Z property X?

Page 83: Semantic Web Technologies for HCI

OWL

Page 84: Semantic Web Technologies for HCI

OWL

Class definition

Page 85: Semantic Web Technologies for HCI

OWL

@prefix gen: <http://genealogy.example.com/schema#> .@prefix owl: <http://www.w3.org/2002/07/owl#> .

gen:Person a owl:class; rdf:ID “person” ; rdfs:comment “Resource representing a person.” ;.

Class definition

Page 86: Semantic Web Technologies for HCI
Page 87: Semantic Web Technologies for HCI

Defining an ancestor property

Page 88: Semantic Web Technologies for HCI

gen:ancestor a owl:TransitiveProperty; rdfs:domain gen:Person ; rdfs:range gen:Person ;.

Defining an ancestor property

Page 89: Semantic Web Technologies for HCI

gen:ancestor a owl:TransitiveProperty; rdfs:domain gen:Person ; rdfs:range gen:Person ;.

Defining an ancestor property

Specifying that a property is the inverse of another

Page 90: Semantic Web Technologies for HCI

gen:ancestor a owl:TransitiveProperty; rdfs:domain gen:Person ; rdfs:range gen:Person ;.

Defining an ancestor property

Specifying that a property is the inverse of another

dc:creator owl:inverseOf ed:hasAuthor .

Page 91: Semantic Web Technologies for HCI
Page 92: Semantic Web Technologies for HCI

<page> <hasAuthor> <Lode>

Page 93: Semantic Web Technologies for HCI

<page> <hasAuthor> <Lode>

<Lode> <authorOf> <page>

same as

Page 94: Semantic Web Technologies for HCI

<hasAuthor> owl:inverseOf <authorOf> .

<page> <hasAuthor> <Lode>

<Lode> <authorOf> <page>

same as

Page 95: Semantic Web Technologies for HCI

OWL allows us to ...

• indicate when two classes or properties are identical

• provide additional information for rule-checking and theorem proving

Page 96: Semantic Web Technologies for HCI

How do we get all this data?

Page 97: Semantic Web Technologies for HCI

• GRDDL

• RDFa

Page 98: Semantic Web Technologies for HCI

GRDDL

Page 99: Semantic Web Technologies for HCI

GRDDL<html xmlns="http://www.w3.org/1999/"> <head profile="http://www.w3.org/2003/g/data-view"> <title>Some Document</title> <link rel="transformation" href="http://www.w3.org/2000/06/dc-extract/dc-extract.xsl" /> <meta name="DC.Subject" content="Some subject"/> ... </head> ... <span class=”date”>2006-01-02</span> ...</html>

Page 100: Semantic Web Technologies for HCI

GRDDL<html xmlns="http://www.w3.org/1999/"> <head profile="http://www.w3.org/2003/g/data-view"> <title>Some Document</title> <link rel="transformation" href="http://www.w3.org/2000/06/dc-extract/dc-extract.xsl" /> <meta name="DC.Subject" content="Some subject"/> ... </head> ... <span class=”date”>2006-01-02</span> ...</html>

<rdf:Description rdf:about="..."> <dc:subject>Some subject</dc:subject> <dc:date>2006-01-02</dc:date></rdf:Description>

Page 101: Semantic Web Technologies for HCI

RDFa

Page 102: Semantic Web Technologies for HCI

RDFa<div about=”http://uri.to.newsitem”> <span property="dc:date">March 23, 2004</span> <span property="dc:title">High-tech rollers hit casino for £1.3m</span> By <span property="dc:creator">Steve Bird</span> …</div>

Page 103: Semantic Web Technologies for HCI

RDFa<div about=”http://uri.to.newsitem”> <span property="dc:date">March 23, 2004</span> <span property="dc:title">High-tech rollers hit casino for £1.3m</span> By <span property="dc:creator">Steve Bird</span> …</div>

<rdf:Description rdf:about="http://uri.to.newsitem"> <dc:date>March 23, 2004</dc:date> <dc:title>High-tech rollers hit casino for £1.3m</dc:title> <dc:creator>Steve Bird</dc:creator></rdf:Description>

Page 104: Semantic Web Technologies for HCI

Conclusion

• Semantic Web

• Semantic Web Services

• RDF, RDFS and OWL

• data extraction (GRDDL / RDFa)

Page 105: Semantic Web Technologies for HCI

Acknowledgements

Page 106: Semantic Web Technologies for HCI

Acknowledgements

• Aaron Swartz

Page 107: Semantic Web Technologies for HCI

Acknowledgements

• Aaron Swartz

• A.M. Kuchling

Page 108: Semantic Web Technologies for HCI

Acknowledgements

• Aaron Swartz

• A.M. Kuchling

• Tim Berners-Lee

Page 109: Semantic Web Technologies for HCI

Acknowledgements

• Aaron Swartz

• A.M. Kuchling

• Tim Berners-Lee

• Ivan Herman

Page 110: Semantic Web Technologies for HCI

Acknowledgements

• Aaron Swartz

• A.M. Kuchling

• Tim Berners-Lee

• Ivan Herman

• ...