semantic web: an introduction
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/