semantic web: an introduction

Post on 10-May-2015

270 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

THE SEMANTIC WEB AN INTRODUCTION

LUIGI DE RUSSIS

THE WEB IS A WEB OF DOCUMENT

FOR PEOPLE, NOT FOR MACHINES

THE WEB IS A WEB OF DOCUMENT

THE SEMANTIC WEB IS A WEB OF DATA

Linking Open Data cloud diagram,

by Richard Cyganiak and Anja Jentzsch.

http://lod-cloud.net/

LET’S THINK!

HOW TO GET DATA

FROM THE WEB?

HOW TO GET DATA FROM THE WEB?

DATA IS PRESENT ON SOME WEBSITES Wikipedia, GitHub, Twitter, Facebook, …

HOW TO GET IT? different, evolving and proprietary Web APIs

various data exchange formats

EXAMPLE

GITHUB Web APIs (third version)

https://developer.github.com/v3

Data available in JSON

Authentication is required for most calls

EXAMPLE

TWITTER https://dev.twitter.com/docs/

Authentication is required for most calls

Limitations about number of requests

Data available in JSON

RESTful Web APIs (version 1.1)

Streaming APIs (version 1.1)

EXAMPLE

WIKIPEDIA MediaWiki Web APIs (version 1.1)

http://www.mediawiki.org/wiki/API:Main_page

Data available in JSON, PHP, WDDX, XML, YAML, TXT, …

RSS

Direct XML exports

HOW TO GET DATA FROM THE WEB?

DATA IS LOCKED IN “DATA ISLANDS” Wikipedia, GitHub, Twitter, Facebook, …

LIMITED OR NO ACCESS TO THIS DATA different, evolving and proprietary Web APIs

various data exchange formats

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

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

not controlled by applications, only

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

THIS IS WHERE SEMANTIC WEB COME IN

DEFINITIONS

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

THE INTERNET, 1994 C.A.

NEW!

NEW! No Google, Wikipedia, Amazon,

… yet!

I have a dream for the Web [in which computers] become

capable of analyzing all the data on the Web – the content,

links, and transaction between people and computers.

A “Semantic Web”, which should make this possible, has yet

to emerge, but when it does, the day-to-day mechanisms of

trade, bureaucracy and our daily lives will be handled by

machines talking to machines. The “intelligent agents” people

have touted for ages will finally materialize.

TIM BERNERS-LEE, 1999 Weaving the Web – The Original Design and Ultimate Destiny of the World Wide Web by Its Inventor. Tim Berners-Lee, Harper San Francisco, September 1999

THE SEMANTIC WEB IS A WEB OF DATA

THE SEMANTIC WEB IS THE WEB same base technologies, evolutionary, decentralized

IT IS ABOUT COMMON FORMATS for integration and combination of data drawn from diverse sources

IT IS ABOUT A LANGUAGE for recording how the data relates to real world objects

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

FUNDAMENTALS

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 (based on metadata)

RESOURCE AND DESCRIPTION

Resources

RESOURCE AND DESCRIPTION

Description

RESOURCE AND DESCRIPTION

Description Title

Author

Date

Topic

Quality

Title Author

Date Topic

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)

MODELING DATA

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

EXAMPLE: BOOKSTORE

http://...isbn/9780136042594

Resource

EXAMPLE: BOOKSTORE

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

Approach

Literal

EXAMPLE: BOOKSTORE

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

Approach

title

EXAMPLE: BOOKSTORE

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

Approach

Prentice Hall

Russel, Stuart

Norvig, Peter

title

publisher

author

author

RDF: RESOURCE DESCRIPTION FRAMEWORK

STRUCTURED IN STATEMENTS

SUBJECT a resource (URI)

PREDICATE a verb, property or relationship

OBJECT a resource or a literal string

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

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>

EXAMPLE: BOOKSTORE

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

Approach

title

RDF IN TURTLE

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

title “Artificial Intelligence: A Modern Approach”

LINKIN’ DATA

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

EXAMPLE: BOOKSTORE

http://...isbn/9788871925936

Intelligenza Artificiale. Un

approccio moderno

Prentice Hall

Russel, Stuart

Norvig, Peter

title

publisher

creator creator

http://...isbn/9780136042594

original

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

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

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

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!

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

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.

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)

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.

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

http://...isbn/9780136042594

Norvig, Peter

dc:creator

foaf:name

http://...isbn/9780136042594

Norvig, Peter

author

WHY?

RDF SCHEMA

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”)

EXAMPLE

RDF data

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

http://bit.ly/lingambmult

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

http://...isbn/9780136042594

Norvig, Peter

dc:creator

foaf:name

http://...isbn/9780136042594

Norvig, Peter

author

BACK TO THE BOOKSTORE EXAMPLE…

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

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)

OWL

WEB ONTOLOGY LANGUAGE

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

Designed to formulate, exchange and reason with knowledge about a

domain of interest

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 an 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

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

WEB ONTOLOGY LANGUAGE

LINKED Ontologies in OWL can be published on the Web and may refer to 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.)

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

http://...isbn/9788871925936

http://...isbn/9780136042594

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

HANDS ON OWL

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/

EXAMPLE: BOOKSTORE

BUILD THE MODEL 1. Describe the business entity

2. Describe the offered items

3. Describe the offer

4. Link the offer to the business entity

SEARCH IN THE MODEL

DESCRIBE THE BUSINESS ENTITY

default:BookStore_1

a gr:BusinessEntity ;

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

Bookstore_1

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

Bookstore_1 AIBook_en

item:Book QuantitativeValue

Integer_1

1132 gr:ActualProductOrServiceInstance

gr:ProductOrService

rdf:type

rdfs:subClassOf

rdf:type

item:hasTotalPages

gr:hasValue

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

Bookstore_1

Offering_1

TypeAndQuantity

Node_1 UnitPriceSpecification_1

AIBook_en

item:Book QuantitativeValue

Integer_1

gr:Sell

1.0

1132 gr:ActualProductOrServiceInstance

gr:ProductOrService

gr:includeObject

gr:hasBusinessFunction

gr:hasPriceSpecification

gr:amountOfThisGood

rdf:type

rdfs:subClassOf

rdf:type

item:hasTotalPages

gr:hasValue

gr:Offering

rdf:type

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

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: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

default:BookStore_1 gr:offers default:Offering_1

LINK THE OFFER TO THE BUSINESS ENTITY

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

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

QUERY THE WHOLE!

?item rdf:type item:Book . SPARQL

?item

item:Book

rdf:type

QUERY THE WHOLE!

?object gr:typeOfGood ?item . SPARQL

?object

AIBook_en

item:Book

gr:typeOfGood

rdf:type

QUERY THE WHOLE!

?offering gr:includesObject ?object . SPARQL

?offering

TypeAndQuantity

Node_1

AIBook_en

item:Book

gr:includeObject

gr:typeOfGood

rdf:type

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

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

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: 26 May 2014

THANKS!

Luigi De Russis

http://elite.polito.it

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/

top related