Slide 1

Slide 1 text

THE SEMANTIC WEB AN INTRODUCTION LUIGI DE RUSSIS

Slide 2

Slide 2 text

THE WEB IS A WEB OF DOCUMENT FOR PEOPLE, NOT FOR MACHINES

Slide 3

Slide 3 text

THE WEB IS A WEB OF DOCUMENT

Slide 4

Slide 4 text

THE SEMANTIC WEB IS A WEB OF DATA Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/

Slide 5

Slide 5 text

LET’S THINK!

Slide 6

Slide 6 text

HOW TO GET DATA FROM THE WEB?

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

EXAMPLE GITHUB Web APIs (third version) https://developer.github.com/v3 Data available in JSON Authentication is required for most calls

Slide 9

Slide 9 text

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)

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

DEFINITIONS

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

THE INTERNET, 1994 C.A. NEW! NEW! No Google, Wikipedia, Amazon, … yet!

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

FUNDAMENTALS

Slide 20

Slide 20 text

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)

Slide 21

Slide 21 text

RESOURCE AND DESCRIPTION Resources

Slide 22

Slide 22 text

RESOURCE AND DESCRIPTION Description

Slide 23

Slide 23 text

RESOURCE AND DESCRIPTION Description Title Author Date Topic Quality Title Author Date Topic

Slide 24

Slide 24 text

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)

Slide 25

Slide 25 text

MODELING DATA

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

EXAMPLE: BOOKSTORE http://...isbn/9780136042594 Resource

Slide 28

Slide 28 text

EXAMPLE: BOOKSTORE http://...isbn/9780136042594 Artificial Intelligence: A Modern Approach Literal

Slide 29

Slide 29 text

EXAMPLE: BOOKSTORE http://...isbn/9780136042594 Artificial Intelligence: A Modern Approach title

Slide 30

Slide 30 text

EXAMPLE: BOOKSTORE http://...isbn/9780136042594 Artificial Intelligence: A Modern Approach Prentice Hall Russel, Stuart Norvig, Peter title publisher author author

Slide 31

Slide 31 text

RDF: RESOURCE DESCRIPTION FRAMEWORK STRUCTURED IN STATEMENTS SUBJECT a resource (URI) PREDICATE a verb, property or relationship OBJECT a resource or a literal string

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

EXAMPLE: BOOKSTORE http://...isbn/9780136042594 Artificial Intelligence: A Modern Approach title RDF IN XML SYNTAX Artificial Intelligence: A Modern Approach

Slide 34

Slide 34 text

EXAMPLE: BOOKSTORE http://...isbn/9780136042594 Artificial Intelligence: A Modern Approach title RDF IN TURTLE title “Artificial Intelligence: A Modern Approach”

Slide 35

Slide 35 text

LINKIN’ DATA

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

EXAMPLE: BOOKSTORE http://...isbn/9788871925936 Intelligenza Artificiale. Un approccio moderno Prentice Hall Russel, Stuart Norvig, Peter title publisher creator creator http://...isbn/9780136042594 original

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

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!

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

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.

Slide 44

Slide 44 text

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)

Slide 45

Slide 45 text

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.

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

http://...isbn/9780136042594 Norvig, Peter dc:creator foaf:name http://...isbn/9780136042594 Norvig, Peter author WHY?

Slide 48

Slide 48 text

RDF SCHEMA

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

EXAMPLE RDF data http://elite.polito.it/people/derussis teaches http://bit.ly/lingambmult

Slide 51

Slide 51 text

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

Slide 52

Slide 52 text

http://...isbn/9780136042594 Norvig, Peter dc:creator foaf:name http://...isbn/9780136042594 Norvig, Peter author BACK TO THE BOOKSTORE EXAMPLE…

Slide 53

Slide 53 text

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

Slide 54

Slide 54 text

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)

Slide 55

Slide 55 text

OWL

Slide 56

Slide 56 text

WEB ONTOLOGY LANGUAGE WHAT? OWL (version 2): a knowledge representation language Designed to formulate, exchange and reason with knowledge about a domain of interest

Slide 57

Slide 57 text

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

Slide 58

Slide 58 text

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

Slide 59

Slide 59 text

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

Slide 60

Slide 60 text

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

Slide 61

Slide 61 text

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

Slide 62

Slide 62 text

HANDS ON OWL

Slide 63

Slide 63 text

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/

Slide 64

Slide 64 text

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

Slide 65

Slide 65 text

DESCRIBE THE BUSINESS ENTITY default:BookStore_1 a gr:BusinessEntity ; gr:legalName “bookstore.com Ltd.”^^xsd:string . Bookstore_1

Slide 66

Slide 66 text

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

Slide 67

Slide 67 text

Bookstore_1 AIBook_en item:Book QuantitativeValue Integer_1 1132 gr:ActualProductOrServiceInstance gr:ProductOrService rdf:type rdfs:subClassOf rdf:type item:hasTotalPages gr:hasValue

Slide 68

Slide 68 text

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

Slide 69

Slide 69 text

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

Slide 70

Slide 70 text

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

Slide 71

Slide 71 text

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

Slide 72

Slide 72 text

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

Slide 73

Slide 73 text

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

Slide 74

Slide 74 text

QUERY THE WHOLE! PREFIX gr: PREFIX 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

Slide 75

Slide 75 text

QUERY THE WHOLE! ?item rdf:type item:Book . SPARQL ?item item:Book rdf:type

Slide 76

Slide 76 text

QUERY THE WHOLE! ?object gr:typeOfGood ?item . SPARQL ?object AIBook_en item:Book gr:typeOfGood rdf:type

Slide 77

Slide 77 text

QUERY THE WHOLE! ?offering gr:includesObject ?object . SPARQL ?offering TypeAndQuantity Node_1 AIBook_en item:Book gr:includeObject gr:typeOfGood rdf:type

Slide 78

Slide 78 text

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

Slide 79

Slide 79 text

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

Slide 80

Slide 80 text

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

Slide 81

Slide 81 text

THANKS! Luigi De Russis http://elite.polito.it

Slide 82

Slide 82 text

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/