Top Banner
THE SEMANTIC WEB AN INTRODUCTION LUIGI DE RUSSIS
72

Semantic Web: an introduction

May 20, 2015

Download

Technology

Luigi De Russis

Short seminar about the Semantic Web for the "Artificial Intelligence" course at Politecnico di Torino (academic year 2012/2013)

An updated version is available at http://www.slideshare.net/luigidr/semantic-web-an-introduction
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Semantic Web: an introduction

THE SEMANTIC WEB AN INTRODUCTION

LUIGI DE RUSSIS

Page 2: Semantic Web: an introduction

THE WEB IS A WEB OF DOCUMENT

FOR PEOPLE, NOT FOR MACHINES

Page 3: Semantic Web: an introduction

THE SEMANTIC WEB IS A WEB OF DATA

Linking Open Data cloud diagram,

by Richard Cyganiak and Anja Jentzsch.

http://lod-cloud.net/

Page 4: Semantic Web: an introduction

LET’S THINK!

Page 5: Semantic Web: an introduction

EXERCISE: BUILD A MUSIC CATALOG

Comprehensive guide to music across the world

Web-based

With always-updated information about each artist

Page 6: Semantic Web: an introduction

HOW?

WHAT ARE THE PROBLEMS?

WHAT ABOUT DATA REPLICATION?

WHAT ABOUT DATA SYNCHRONIZATION?

…?

Page 7: Semantic Web: an introduction

SOLUTION #1

HOW? Site editors roam the Web for new facts and update the site manually

WHAT ARE THE PROBLEMS? A lot of people need to continuously roam the Web; the site will get

soon out-of-date

WHAT ABOUT DATA? Data is replicated and not up-to-date with new facts

Page 8: Semantic Web: an introduction

SOLUTION #2

HOW? Site editors roam the Web for new data and write a program to extract

the information

WHAT ARE THE PROBLEMS? Code needs to be updated each time a new site is found; the site will get

out-of-date, soon or later…

WHAT ABOUT DATA? Data is replicated and not up-to-date

Page 9: Semantic Web: an introduction

SOLUTION #3

HOW? Site editors browse the Web for new data via APIs, and write some code

to incorporate the information

WHAT ARE THE PROBLEMS? Code needs to be updated each time a new site is found and/or an API is

changed; the site will get out-of-date, soon or later…

WHAT ABOUT DATA? Data is replicated and not up-to-date

Page 10: Semantic Web: an introduction

SOLUTION #4

HOW? Site editors choose to use some external, public datasets (e.g.,

Wikipedia, MusicBrainz, …)

WHAT ARE THE PROBLEMS? No problem

WHAT ABOUT DATA? Data is immediately available, not as APIs or hidden on a Web site.

Information can be extracted using standard queries or HTTP requests.

Page 11: Semantic Web: an introduction

IN SHORT… Use the Web of Data as a Content Management System

Use the community at large as content editor

AN EXAMPLE: BBC MUSIC http://www.bbc.co.uk/music

SOLUTION #4

Page 12: Semantic Web: an introduction

DATA ON THE WEB IS NOT ENOUGH! we need a proper infrastructure

DATA SHOULD BE AVAILABLE ON THE WEB accessible via standard Web technologies

DATA SHOULD BE INTERLINKED OVER THE WEB i.e., data can be integrated over the Web

THIS IS WHERE SEMANTIC WEB COME IN

Page 13: Semantic Web: an introduction

FUNDAMENTALS

Page 14: Semantic Web: an introduction

To a computer, the Web is a flat, boring world, devoid of

meaning. This is a pity, as in fact documents on the Web

describe real objects and imaginary concepts. […]

Adding semantics to the Web involves two things: allowing

documents which have information in machine-readable

forms, and allowing links to be created with relationship

values. Only when we have this extra level of semantics we

will be able to use computer power to help us exploit the

information to a greater extent than our own reading.

TIM BERNERS-LEE, 1994

Page 15: Semantic Web: an introduction

WHAT IS THE RELATIONSHIP WITH AI?

INFLUENCE Some technologies in the Semantic Web benefited a lot from AI research

and development (and viceversa)

DIFFERENT GOALS Artificial Intelligence approach: build smarter machines, teach

computers to infer the meaning of data

Semantic Web approach: have smarter data, make data easier for

machines to find, access and process

Page 16: Semantic Web: an introduction

RESOURCE AND DESCRIPTION

RESOURCE every document “reachable” on the Web

no matter the content, format, language, etc.

RESOURCE DESCRIPTION independent from the format

standard language (metadata)

Page 17: Semantic Web: an introduction

RESOURCE AND DESCRIPTION

Resources

Page 18: Semantic Web: an introduction

RESOURCE AND DESCRIPTION

Description

Page 19: Semantic Web: an introduction

RESOURCE AND DESCRIPTION

Description Title

Author

Date

Topic

Quality

Title Author

Date Topic

Page 20: Semantic Web: an introduction

URIS unambiguous names for resources

RDF a common data model to connect and describe resources

SPARQL access to the data model

RDFS, OWL common description languages

OWL, RIF reasoning (mainly logic inference)

Page 21: Semantic Web: an introduction

MODELING DATA

Page 22: Semantic Web: an introduction

EXAMPLE: BOOKSTORE

Represent the following data about the AI book as a set of relations

Title: “Artificial Intelligence: A Modern

Approach”

Author: Russel, Stuart and Norvig, Peter

Publisher: Prentice Hall

ISBN: 978-0136042594

Page 23: Semantic Web: an introduction

EXAMPLE: BOOKSTORE

http://...isbn/9780136042594

Resource

Page 24: Semantic Web: an introduction

EXAMPLE: BOOKSTORE

http://...isbn/9780136042594 Artificial Intelligence: A Modern

Approach

Literal

Page 25: Semantic Web: an introduction

EXAMPLE: BOOKSTORE

http://...isbn/9780136042594 Artificial Intelligence: A Modern

Approach

title

Page 26: Semantic Web: an introduction

EXAMPLE: BOOKSTORE

http://...isbn/9780136042594 Artificial Intelligence: A Modern

Approach

Prentice Hall

Russel, Stuart

Norvig, Peter

title

publisher

author

author

Page 27: Semantic Web: an introduction

RDF: RESOURCE DESCRIPTION FRAMEWORK

STRUCTURED IN STATEMENTS

SUBJECT a resource (URI)

PREDICATE a verb, property or relationship

OBJECT a resource or a literal string

Page 28: Semantic Web: an introduction

EXAMPLE: BOOKSTORE

http://...isbn/9780136042594 Artificial Intelligence: A Modern

Approach

Prentice Hall

Russel, Stuart

Norvig, Peter

title

publisher

author

author

Subject Object

Object

Object

Object

Predicate Predicate

Predicate

Page 29: Semantic Web: an introduction

EXAMPLE: BOOKSTORE

http://...isbn/9780136042594 Artificial Intelligence: A Modern

Approach

title

RDF IN XML SYNTAX

<rdf:RDF xmlns:rdf=http://www.w3.org/…/22-rdf-syntax-ns#>

<rdf:Description about=“http://... isbn/9780136042594”>

<title>Artificial Intelligence: A Modern Approach</title>

</rdf:Description>

</RDF>

Page 30: Semantic Web: an introduction

EXAMPLE: BOOKSTORE

http://...isbn/9780136042594 Artificial Intelligence: A Modern

Approach

title

RDF IN TURTLE

<http://... isbn/9780136042594>

title “Artificial Intelligence: A Modern Approach”

Page 31: Semantic Web: an introduction

LINKIN’ DATA

Page 32: Semantic Web: an introduction

EXAMPLE: BOOKSTORE

Represent the following data about the Italian translation of the AI book

as a set of relations

Title: “Intelligenza artificiale. Un approccio

moderno”

Author: Russel, Stuart and Norvig, Peter

Publisher: Prentice Hall

ISBN: 978-8871925936

Original ISBN: 978-0136042594

Page 33: Semantic Web: an introduction

EXAMPLE: BOOKSTORE

http://...isbn/9788871925936

Intelligenza Artificiale. Un

approccio moderno

Prentice Hall

Russel, Stuart

Norvig, Peter

title

publisher

creator creator

http://...isbn/9780136042594

original

Page 34: Semantic Web: an introduction

EXAMPLE: BOOKSTORE

http://...isbn/9788871925936

Intelligenza Artificiale. Un

approccio moderno

Prentice Hall

title

publisher

http://...isbn/9780136042594

original

http://...isbn/9780136042594 Artificial Intelligence: A Modern

Approach

Prentice Hall

title

publisher

Page 35: Semantic Web: an introduction

EXAMPLE: BOOKSTORE

http://...isbn/9788871925936

Intelligenza Artificiale. Un

approccio moderno

Prentice Hall

title

publisher

http://...isbn/9780136042594

original

http://...isbn/9780136042594 Artificial Intelligence: A Modern

Approach

Prentice Hall

title

creator

same URI, same resource

Page 36: Semantic Web: an introduction

EXAMPLE: BOOKSTORE

http://...isbn/9780136042594 Artificial Intelligence: A Modern

Approach

Prentice Hall Russel, Stuart

Norvig, Peter

title

publisher

author

author

http://...isbn/9788871925936

Intelligenza Artificiale. Un

approccio moderno

Prentice Hall

title

publisher

original

Russel, Stuart

Norvig, Peter

creator

creator

Page 37: Semantic Web: an introduction

EXAMPLE: BOOKSTORE

http://...isbn/9780136042594 Artificial Intelligence: A Modern

Approach

Prentice Hall Russel, Stuart

Norvig, Peter

title

publisher

author

author

http://...isbn/9788871925936

Intelligenza Artificiale. Un

approccio moderno

Prentice Hall

title

publisher

original

Russel, Stuart

Norvig, Peter

creator

creator

What about merging creator and author?

In RDF, it is not possible!

Page 38: Semantic Web: an introduction

PROBLEM: FIELD NAMES ARE ARBITRARY Synonyms : author or creator or maker or contributor or…

Singular or plural: author or authors

SOLUTION: STANDARDS general or domain-specific

Page 39: Semantic Web: an introduction

DUBLIN CORE

GENERAL VOCABULARY Dublin Core Metadata Initiative (DCMI)

http://dublincore.org

BUILDING BLOCKS TO DEFINE METADATA FOR THE

SEMANTIC WEB Define title, contributor, publisher, license, date, language, etc.

Page 40: Semantic Web: an introduction

PROBLEM: FIELD VALUES ARE ARBITRARY Value type: string, date, integer, …

Value format: “Norvig, Peter” or “Norvig, P.” or “Peter Norvig” or…

Value restrictions: one value or multiple values (how many?)

SOLUTIONS Standards

Controlled vocabulary (close list of terms)

Semantically rich descriptions to support search (RDFS and/or OWL)

Page 41: Semantic Web: an introduction

FRIEND OF A FRIEND (FOAF)

GENERAL ONTOLOGY Describe persons, their activities and their relations to other people and

objects

http://www.foaf-project.org

BUILDING BLOCKS TO DEFINE STRUCTURED

RELATIONS BETWEEN PEOPLE Define name, familyName, givenName, knows, age, nick, etc.

Page 42: Semantic Web: an introduction

EXAMPLE: BOOKSTORE

http://...isbn/9780136042594 Artificial Intelligence: A Modern

Approach

Prentice Hall

Russel, Stuart

Norvig, Peter

dc:title

dc:publisher dc:creator

dc:creator

foaf: http://xmlns.com/foaf/spec

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

foaf:name

foaf:name

foaf:name

Page 43: Semantic Web: an introduction

http://...isbn/9780136042594

Norvig, Peter

dc:creator

foaf:name

http://...isbn/9780136042594

Norvig, Peter

author

WHY?

Page 44: Semantic Web: an introduction

RDF SCHEMA

Page 45: Semantic Web: an introduction

RDF SCHEMA

SCHEMA Definition of the nodes and predicates used in a RDF document

DOMAIN AND RANGE RDFS describes properties in terms of classes of resource

to which they apply (from a “domain” to a “range”)

Page 46: Semantic Web: an introduction

EXAMPLE

RDF data

http://elite.polito.it/people/derussis teaches

http.//bit.ly/lingambmult

Page 47: Semantic Web: an introduction

http://elite.polito.it/people/derussis teaches

EXAMPLE

RDF data

RDF schema

http.//bit.ly/lingambmult

Teacher

Person

teaches Course

domain range

subClassOf

type type

Page 48: Semantic Web: an introduction

http://...isbn/9780136042594

Norvig, Peter

dc:creator

foaf:name

http://...isbn/9780136042594

Norvig, Peter

author

BACK TO THE BOOKSTORE EXAMPLE…

Page 49: Semantic Web: an introduction

http://...isbn/9780136042594

Norvig, Peter

dc:creator

foaf:name

http://...isbn/9780136042594

Norvig, Peter

author

BACK TO THE BOOKSTORE EXAMPLE…

dc:creator has range Agent, i.e. a class (resource), not a literal:

we use an anonymous class for this scope.

Finally, foaf:Name has range rdfs:Literal.

anonymous

class

Page 50: Semantic Web: an introduction

RDFS EXPRESSIVITY

SIMPLE RELATIONSHIP BETWEEN THINGS RDFS provides a vocabulary to express relationship between things

(e.g., subClassOf or type)

AVOID COMPLEX RELATIONSHIP RDFS cannot describe data in terms of set of operations (e.g., unionOf),

equivalence (e.g., sameAs) or cardinality (e.g., allValueFrom)

Page 51: Semantic Web: an introduction

OWL

Page 52: Semantic Web: an introduction

WEB ONTOLOGY LANGUAGE

WHAT? OWL (version 2): a knowledge representation language

Designed to formulate, exchange and reason with knowledge about a

domain of interest

Page 53: Semantic Web: an introduction

WEB ONTOLOGY LANGUAGE

INDIVIDUALS, CLASSES AND PROPERTIES “Politecnico di Torino is a university”

“Politecnico di Torino has a professor named Elio Piccolo”

“Politecnico di Torino” is a object: an individual in OWL2

“university” is a category: a class in OWL2

“has a professor” is a relation: a property in OWL2

“Elio Piccolo” is an individual, too

Page 54: Semantic Web: an introduction

WEB ONTOLOGY LANGUAGE

EXPRESSIVITY Designed to represent rich and complex knowledge about things, group

of things, and their relations

LOGIC-BASED Knowledge expressed in OWL can be reasoned with a computer program

to verify its consistency or to make implicit knowledge explicit

Page 55: Semantic Web: an introduction

WEB ONTOLOGY LANGUAGE

LINKED Ontologies in OWL can be published on the Web and may refer or be

referred from other OWL ontologies

CHOOSE THE SYNTAX YOU LIKE Various syntaxes available for OWL, for different purposes

(RDF/XML, Turtle, Manchester, etc.)

Page 56: Semantic Web: an introduction

EXAMPLE: BOOKSTORE Intelligenza Artificiale. Un

approccio moderno

Prentice Hall

dc:title

dc:publisher

Artificial Intelligence: A Modern

Approach

Prentice Hall

dc:title

dc:publisher

Libro

Book

rdfs:type

rdf:type

owl:sameAs

http://...isbn/9788871925936

http://...isbn/9780136042594

Page 57: Semantic Web: an introduction

HANDS ON OWL

Page 58: Semantic Web: an introduction

EXAMPLE: BOOKSTORE

It is time to sell the books we modeled.

Users must have the possibility to search in our book catalog.

We need to describe our store

and add some other information about the books.

GoodRelations helps in realizing such an example:

http://www.heppnetz.de/projects/goodrelations/

Page 59: Semantic Web: an introduction

Bookstore_1

Offering_1

TypeAndQuantity

Node_1 UnitPriceSpecification_1

AIBook_en

item:Book QuantitativeValue

Integer_1

gr:Sell

120.0

“EUR”

1.0

1132 gr:ActualProductOrServiceInstance

gr:ProductOrService

gr:offers

gr:includeObject

gr:hasBusinessFunction

gr:hasPriceSpecification

gr:hasCurrency

gr:hasCurrencyValue gr:amountOfThisGood

gr:typeOfGood

rdf:type

rdfs:subClassOf

rdf:type

item:hasTotalPages

gr:hasValue

gr:Offering

rdf:type

Page 60: Semantic Web: an introduction

DESCRIBE THE BUSINESS ENTITY

default:BookStore_1

a gr:BusinessEntity ;

gr:legalName “bookstore.com Ltd.”^^xsd:string .

Bookstore_1

Page 61: Semantic Web: an introduction

DESCRIBE THE OFFERED ITEMS

default:AIBook_en

a item:Book, gr:ActualProductOrServiceInstance ;

item:hasTotalPages default:QuantitativeValueInteger_1 .

AIBook_en

default:QuantitativeValueInteger_1

a gr:QuantitativeValueInteger ;

gr:hasValue “1132”^^xsd:integer .

QuantitativeValue

Integer_1

Page 62: Semantic Web: an introduction

DESCRIBE THE OFFER default:Offering_1

a gr:Offering ;

gr:hasBusinessFunction gr:Sell ;

gr:hasPriceSpecification default:UnityPriceSpecification_1 ;

gr:includeObject default:TypeAndQuantityNode_1 .

Offering_1

LINK THE OFFER TO THE BUSINESS ENTITY default:BookStore_1 gr:offers default:Offering_1

Page 63: Semantic Web: an introduction

DESCRIBE THE OFFER

default:TypeAndQuantityNode_1

a gr:TypeAndQuantityNode ;

gr:amountOfThisGood “1.0”^^xsd:float ;

gr:typeOfGood default:AIBook_en .

default:UnitPriceSpecification_1

a gr:UnitPriceSpecification ;

gr:hasCurrency “EUR”^^xsd:string ;

gr:hasCurrencyValue “120.0”^^xsd:float .

TypeAndQuantity

Node_1

UnitPriceSpecification_1

Page 64: Semantic Web: an introduction

QUERY THE WHOLE!

PREFIX gr: <http://purl.org/goodrelations/v1#>

PREFIX item: <http://www.elite.polito.it/ontologies/example/item#>

SELECT ?offering

WHERE { ?offering rdf:type gr:Offering .

?offering gr:includesObject ?object .

?object gr:typeOfGood ?item .

?item rdf:type item:Book .

}

How to get all the available offer for the book?

SPARQL

Page 65: Semantic Web: an introduction

QUERY THE WHOLE!

?item rdf:type item:Book . SPARQL

?item

item:Book

rdf:type

Page 66: Semantic Web: an introduction

QUERY THE WHOLE!

?object gr:typeOfGood ?item . SPARQL

?object

AIBook_en

item:Book

gr:typeOfGood

rdf:type

Page 67: Semantic Web: an introduction

QUERY THE WHOLE!

?offering gr:includesObject ?object . SPARQL

?offering

TypeAndQuantity

Node_1

AIBook_en

item:Book

gr:includeObject

gr:typeOfGood

rdf:type

Page 68: Semantic Web: an introduction

QUERY THE WHOLE!

?offering rdf:type gr:Offering . SPARQL

?offering

TypeAndQuantity

Node_1

AIBook_en

item:Book

gr:includeObject

gr:typeOfGood

rdf:type gr:Offering

rdf:type

Page 69: Semantic Web: an introduction

QUERY THE WHOLE!

SELECT ?offering SPARQL

Offering_1

TypeAndQuantity

Node_1

AIBook_en

item:Book

gr:includeObject

gr:typeOfGood

rdf:type gr:Offering

rdf:type

Page 70: Semantic Web: an introduction

REFERENCES Semantic Web standards: http://w3c.org/standards/semanticweb

Semantic Web Wiki: http://semanticweb.org

Semantic Web FAQ: http://www.w3c.org/2001/sw/SW-FAQ

Book: A Semantic Web Primer (http://www.semanticwebprimer.org)

Book: Semantic Web Programming (http://semwebprogramming.org)

Last access: 04 June 2013

Page 71: Semantic Web: an introduction

THANKS!

Luigi De Russis

http://elite.polito.it

Page 72: Semantic Web: an introduction

LICENSE This work is licensed under the Creative Commons “Attribution-NonCommercial-

ShareAlike Unported (CC BY-NC-SA 3,0)” License.

You are free:

to Share - to copy, distribute and transmit the work

to Remix - to adapt the work

Under the following conditions:

Attribution - You must attribute the work in the manner specified by the author or

licensor (but not in any way that suggests that they endorse you or your use of the

work).

Noncommercial - You may not use this work for commercial purposes.

Share Alike - If you alter, transform, or build upon this work, you may distribute the

resulting work only under the same or similar license to this one.

To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/