Web 1.0 Web 2.0 Web 3.0 FOAF
Introduction to the Semantic Web and FOAF
Gajo Petrovi´ c
University of Novi Sad, Faculty of Technical Sciences gajop@uns.ac.rs
April 12, 2013
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Introduction to the Semantic Web and FOAF Gajo Petrovi c - - PowerPoint PPT Presentation
Web 1.0 Web 2.0 Web 3.0 FOAF Introduction to the Semantic Web and FOAF Gajo Petrovi c University of Novi Sad, Faculty of Technical Sciences gajop@uns.ac.rs April 12, 2013 Gajo Petrovi c Intro: Semantic Web & FOAF Web 1.0 Web
Web 1.0 Web 2.0 Web 3.0 FOAF
Gajo Petrovi´ c
University of Novi Sad, Faculty of Technical Sciences gajop@uns.ac.rs
April 12, 2013
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF
Web 1.0 Web 2.0 Web 3.0 Motivation Semantic Web layer cake FOAF FOAF Ontology FOAF network FOAF Use Case
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF
◮ Invented 1991
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF
◮ Invented 1991 ◮ Tim Berners-Lee
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF
◮ Web of documents
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF
◮ Web of documents ◮ Connected by URL (Uniform resource locator)
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF
◮ Web for documents
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF
◮ Web for documents ◮ Specifies looks
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF
◮ Web for documents ◮ Specifies looks ◮ HTML, CSS
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF
◮ Pages as graph nodes
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF
◮ Pages as graph nodes ◮ Links as graph links
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF
◮ Pages as graph nodes ◮ Links as graph links
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF
Application Web
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF
Application Web
◮ Web applications
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF
Application Web
◮ Web applications ◮ AJAX, JavaScript frameworks...
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF
Application Web
◮ Web applications ◮ AJAX, JavaScript frameworks... ◮ jargon
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF Motivation Semantic Web layer cake
Machine unreadable
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF Motivation Semantic Web layer cake
Machine unreadable
◮ Lacks semantics
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF Motivation Semantic Web layer cake
Machine unreadable
◮ Lacks semantics ◮ No page (graph node) description
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF Motivation Semantic Web layer cake
Machine unreadable
◮ Lacks semantics ◮ No page (graph node) description ◮ No link (graph link) description
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF Motivation Semantic Web layer cake
Machine unreadable
◮ Lacks semantics ◮ No page (graph node) description ◮ No link (graph link) description
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF Motivation Semantic Web layer cake
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF Motivation Semantic Web layer cake
◮ Data Web
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF Motivation Semantic Web layer cake
◮ Data Web ◮ Machine readable
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF Motivation Semantic Web layer cake
◮ Layers of
abstraction
◮ Hierarchy of
languages
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF Motivation Semantic Web layer cake
Unicode
Display and manipulate text in most world languages.
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF Motivation Semantic Web layer cake
Unicode
Display and manipulate text in most world languages.
URI
Uniquely identify Web resources:
◮ URL http://example.org/people/john ◮ URN urn:issn:1535-3613
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF Motivation Semantic Web layer cake
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF Motivation Semantic Web layer cake
XML
Structure data
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF Motivation Semantic Web layer cake
XML
Structure data
XML Schema
Specifies type of XML document
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF Motivation Semantic Web layer cake
XML
Structure data
XML Schema
Specifies type of XML document
XML Namespace
Removes ambiguity with unique naming
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF Motivation Semantic Web layer cake
RDF
Represents a graph Statements in the form of triplets
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF Motivation Semantic Web layer cake
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF Motivation Semantic Web layer cake
RDF Schema
Vocabulary for RDF
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF Motivation Semantic Web layer cake
RDF Schema
Vocabulary for RDF
SPARQL
Query language
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF Motivation Semantic Web layer cake
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF Motivation Semantic Web layer cake
OWL
Extends on RDFS
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF Motivation Semantic Web layer cake
OWL
Extends on RDFS
RIF/SWRL
◮ SWRL: rule language ◮ RIF: rule interchange ◮ (SQWRL for reasoning)
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF Motivation Semantic Web layer cake
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
◮ An OWL based ontology
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
◮ An OWL based ontology ◮ Ontology for the social web
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
Key entities
◮ Agent, Person, Group, Document, Project ◮ foaf:Agent, foaf:Person, foaf:Group,
foaf:Document, foaf:Project
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
Key entities
◮ Agent, Person, Group, Document, Project ◮ foaf:Agent, foaf:Person, foaf:Group,
foaf:Document, foaf:Project
◮ foaf namespace = http://xmlns.com/foaf/0.1/
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
Key entities
◮ Agent, Person, Group, Document, Project ◮ foaf:Agent, foaf:Person, foaf:Group,
foaf:Document, foaf:Project
◮ OWL classes ◮ Person is an Agent subclass ◮ Document and Project are subclasses of
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
Person properties
Data properties
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
Person properties
Data properties
◮ First name, foaf:firstName
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
Person properties
Data properties
◮ First name, foaf:firstName ◮ Last name, foaf:lastName
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
Person properties
Data properties
◮ First name, foaf:firstName ◮ Last name, foaf:lastName ◮ Mail, foaf:mbox
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
Person properties
Data properties
◮ First name, foaf:firstName ◮ Last name, foaf:lastName ◮ Mail, foaf:mbox ◮ Nick, foaf:nick
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
Person properties
Data properties
◮ First name, foaf:firstName ◮ Last name, foaf:lastName ◮ Mail, foaf:mbox ◮ Nick, foaf:nick ◮ Homepage, foaf:homepage
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
Person properties
Data properties
◮ First name, foaf:firstName ◮ Last name, foaf:lastName ◮ Mail, foaf:mbox ◮ Nick, foaf:nick ◮ Homepage, foaf:homepage ◮ Age, foaf:age
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
Person properties
Data properties
◮ First name, foaf:firstName ◮ Last name, foaf:lastName ◮ Mail, foaf:mbox ◮ Nick, foaf:nick ◮ Homepage, foaf:homepage ◮ Age, foaf:age ◮ ...
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
<foaf:Person> <foaf:name>John Doe</foaf:name> <foaf:firstName>John</foaf:firstName> <foaf:lastName>Doe</foaf:surname> <foaf:nick>johndoe</foaf:nick> </foaf:Person>
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
Entity relationships
Object propeties
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
Entity relationships
Object propeties
◮ John knows Jane, foaf:knows (Person->Person)
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
Entity relationships
Object propeties
◮ John knows Jane, foaf:knows (Person->Person) ◮ John is a member of the Semantic Interest
Group, foaf:member (Person->Group)
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
Entity relationships
Object propeties
◮ John knows Jane, foaf:knows (Person->Person) ◮ John is a member of the Semantic Interest
Group, foaf:member (Person->Group)
◮ John made a book called ”Semantic Web for
Dummies”, foaf:made, (Agent->Thing)
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
Entity relationships
Object propeties
◮ John knows Jane, foaf:knows (Person->Person) ◮ John is a member of the Semantic Interest
Group, foaf:member (Person->Group)
◮ John made a book called ”Semantic Web for
Dummies”, foaf:made, (Agent->Thing)
◮ John is working on a project ”The New
SQWRL reasoner”, foaf:currentProject, (Person->Thing)
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
◮ XML tools with RDF/XML
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
◮ XML tools with RDF/XML ◮ With SPARQL
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
◮ XML tools with RDF/XML ◮ With SPARQL ◮ Transform to proprietary format
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name ?email WHERE { ?person a foaf:Person. ?person foaf:name ?name. ?person foaf:mbox ?email. }
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name WHERE { ?person a foaf:Person. ?person foaf:name ?name. ?john a foaf:Person. ?john foaf:name "John". ?person foaf:knows ?john. }
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
◮ Rank people based on their popularity
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
◮ Rank people based on their popularity ◮ Use data from FOAF networks
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
◮ Crawl through available FOAF sites
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
◮ Crawl through available FOAF sites ◮ Load FOAF using an RDF/OWL parser
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
◮ Crawl through available FOAF sites ◮ Load FOAF using an RDF/OWL parser ◮ Query interesting data with SPARQL
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
◮ Crawl through available FOAF sites ◮ Load FOAF using an RDF/OWL parser ◮ Query interesting data with SPARQL ◮ Extract to a proprietary format
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
FOAF as a graph
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
FOAF as a graph
◮ foaf:Person entities as graph nodes
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
FOAF as a graph
◮ foaf:Person entities as graph nodes ◮ foaf:knows relationships as graph links
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
FOAF as a graph
◮ foaf:Person entities as graph nodes ◮ foaf:knows relationships as graph links ◮ Algorithms for graph analysis (HITS,
PageRank)
Gajo Petrovi´ c Intro: Semantic Web & FOAF
Web 1.0 Web 2.0 Web 3.0 FOAF FOAF Ontology FOAF network FOAF Use Case
Gajo Petrovi´ c Intro: Semantic Web & FOAF