You are on page 1of 28

Introduction to Semantic Web

Outline
What is semantic web?
Semantic Web Concepts
SPARQL examples
Data Modeling using Ontologies

What is Semantic Web?


Web 3.0, Linked Data, Web of Data..
More of meaning, less structure

Representing Knowledge

What type of knowledge

Novels and short stories are books


A book is a document
Every book has an author
A document has a title
A title is a String

What challenges can be solved?


How to extract meaningful information from large
amounts of data
How to connect pieces of information to other
pieces
How to visualize complex information structures

How to represent this using:


Conceptual Graphs
Database Model
RDF(S)

Conceptual Graphs - Databases

BoyId

GirlId

BoyId

Name

John
8

GirlId Nam
e
2

Eva

RDF
Flexible and extensible way to represent
information about WWW resources

RDF

10

RDF
The "http://en.wikipedia.org/wiki/Tony_Benn",
published by Wikipedia, has for title 'Tony
Benn
<http://en.wikipedia.org/wiki/Tony_Benn>
<http://purl.org/dc/elements/1.1/publisher> "Wikipedia .
<http://en.wikipedia.org/wiki/Tony_Benn>
<http://purl.org/dc/elements/1.1/title> "Tony Benn" .

11

RDF
The "http://en.wikipedia.org/wiki/Tony_Benn", published
by Wikipedia,
has for title 'Tony Benn.
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description rdf:about="http://en.wikipedia.org/wiki/Tony_Benn">
<dc:title>Tony Benn</dc:title>
<dc:publisher>Wikipedia</dc:publisher>
</rdf:Description>
</rdf:RDF>
12

SPARQL
Query language for getting information from RDF
graphs. It provides facilities to:
- extract information in the form of URIs, blank
nodes, plain and typed literals.
- extract RDF subgraphs.
- construct new RDF graphs based on
information in the queried graphs
13

SPARQL
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?name ?email
WHERE {
?person
rdf:type
foaf:Person.
?person
foaf:name
?name.
?person
foaf:mbox
?email.
}

14

SPARQL Example 1
Data:
<http://example.org/book/book1>
<http://purl.org/dc/elements/1.1/title>
"SPARQL Tutorial" .
Query:
SELECT ?title
WHERE
{
<http://example.org/book/book1>
<http://purl.org/dc/elements/1.1/title>
?title .
}
15

SPARQL Example 2
Data:
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
_:a
_:a
_:b
_:b
_:c

foaf:name
foaf:mbox
foaf:name
foaf:mbox
foaf:mbox

"Johnny Lee Outlaw" .


<mailto:jlow@example.com> .
"Peter Goodguy" .
<mailto:peter@example.org> .
<mailto:carol@example.org> .

16

SPARQL Example 2
Query:
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?name ?mbox
WHERE
{
?x foaf:name ?name .
?x foaf:mbox ?mbox
}
name
mbox
"Johnny Lee Outlaw
<mailto:jlow@example.com>
"Peter Goodguy"
<mailto:peter@example.org>

17

Ontology
An ontology is an explicit specification of a
conceptualization
An ontology is a logical theory accounting for the
indented meaning of a formal vocabulary
.
. in a bit simpler way
.

An ontology is a formal definition of a body of


knowledge
18

Ontology
A given field of domain of interest
Within the boundaries of which things are
assumed to exist
In a formalized, explicit, and semantically
consistent way

19

OWL
Ontology web language
An OWL ontology is a set of axioms
- Class Axioms: C D, C D
- Role Axioms: R S, Func(R), Trans(S)
- Individual Axioms: a:C, <a,b>:R

20

Ontology Engineering
determine
scope

consider
reuse

enumerate
terms

define
classes

define
properties

Let us build a simple pizza Ontology.


Its like the hello world program of Ontology

21

Ontology - Scope
Which Pizza characteristics should I consider
when choosing a Pizza?
Is Veg or Non Veg?
Does Pizza go well with Ice Cream?
Which is the best choice among Veg pizza .
What kind of Pizza bases available?
Pizzas from which countries are available?
Which Pizza is the least spicy?
22

Ontology - Reuse
Why reuse other ontologies?
to save the effort
to interact with the tools that use other
ontologies
to use ontologies that have been validated
through use in applications

23

Ontology Enumerate Terms


What are the properties of these terms?
What do we want to say about the terms?
Pizza, Cheese , Toppings , Mexican , Sauce , Pizza
Base,
Crispy

24

Ontology - Classes
A class is a concept in the domain
- a class of Pizza
- a class of PizzaBase
- a class of Country
Classes can have hierarchy
- Pizza is a subclass of Food
- VegetarianPizza is a subclass of Pizza
25

Ontology - Properties
Slots in a class definition describe attributes of
instances of the class and relations to other
instances
Each pizza will have hasBase, hasTopping,
hasCountryOfOrigin

26

Tools
Protg
Apache Jena

27

Questions?

28

You might also like