SlideShare a Scribd company logo
TechCon#2 – Developer Day
Ankars Suites, Ramallah, Palestine
October 12, 2032

The Next Generation of the Web 3.0

The Semantic Web
Dr. Mustafa Jarrar
Sina Institute, University of Birzeit
mjarrar@birzeit.edu
www.jarrar.info
Jarrar © 2013

1
What/why The Semantic Web, in short
The RDFa scenario

find a developer position, max 10 minutes from Ramallah

Jarrar © 2013

2
What/why The Semantic Web, in short
The RDFa scenario

Bad results, as it is
string-matching search,
i.e., not meaningful
search

find a developer position, max 10 minutes from Ramallah

Jarrar © 2013

3
What/why The Semantic Web, in short
The RDFa scenario
Shared meanings of things,
This meaning is embedded
inside web pages.



1

Ontology

2

―The semantic web‖ mission:
syntax to semantic based
search  The next generation
of the web.

3

4

find a developer position, max 10 minutes from Ramallah

3 billion pages

Jarrar © 2013

4
Let’s go back

Jarrar © 2013

5
From Web 1.0 to Web 2.0
Social Community, Collaboration, Sharing

Jarrar © 2013

6
Where Web 2.0 is going?
most Web 2.0 sites provide APIs

Jarrar © 2013

7
Wikipedia edited in real-time by anyone
(in 252 languages, millions of articles) written collaboratively
by volunteers around the world.

API
Jarrar © 2013

8
A social network for sharing photos
•3,464 uploads in the last minute ·
•160,129 things tagged with morning ·
•2.3 million things geotagged this month

In 2008

API
Jarrar © 2013

9
Upload, View, and Share Videos (and tags...)

API
Jarrar © 2013

10
e-Buy and e-Sell
Millions of items are listed, bought, sold, and discussed daily.

API

Jarrar © 2013

11
We know this! What is social?

API
Jarrar © 2013

12
Upcoimg.org
A social event calendar website, uses iCalender, supports an open API
for the submission of event descriptions.

API
Jarrar © 2013

13
Blog (Your Own Journal)
Commentary, news, personal diaries... + comments/discussions
(+106 million blogs, as of 2007)

API
Jarrar © 2013

14
Business/Professional Networking
16 million registered users (2007)
60 million registered users (2007)

Social employability

API
Jarrar © 2013

15
Social Networking
Find your friends, socialize, group, share/organize events, and
more…(55 million active members)

API

Jarrar © 2013

16
Web 2.0 Technologies
Companies are competing in gathering content from people
and
offering this content back through APIs (i.e. structured data)

Content syndication
How can you deliver recent news to your users without forcing
them to visit your website?  RSS, Atom

Mashups
How can you remix free content and make a new website?

Web APIs (programmable web)
How can make use of the free content inside my website?
Jarrar © 2013

17
Content Syndication
Millions of online publishers including newspapers, commercial web
sites and blogs now publish their latest news headlines, product offers
or blog postings in standard format news feed.

A typical web
feed logo

Jarrar © 2013

18
Content Syndication
The two main families of web syndication formats are RSS and Atom.

Jarrar © 2013

19
Mashups / Programmable Web
(The Puzzle of APIs)

Jarrar © 2013

20
Mashups
• A new type of web applications.
• Combines data from more than one source into a single integrated
tool.

• Creating a new and distinct web service that was not originally
provided by either source.
• Content is typically sourced via an API* or a RSS Feed

Let’s see some examples..
Jarrar © 2013

21
Mashups (Example)
Ask500People.com
Real-time mashup of votes from around the world

Jarrar © 2013

22
Mashups (Example)
ePartyGuide.com

Yahoo! MapsYahoo! LocalFlickr-

Jarrar © 2013

23
Mashups (Example)
Combines Google maps with real-estate databases

Google MapsReal-estate-

Jarrar © 2013

24
Mashups (Example)
A unified and comprehensive view of the current global state of
infectious diseases and their effect on human and animal health

Google NewsProMEDWorld Health
OrganizationJarrar © 2013

25
Mashups (Example)
A visually rich application that combines the Amazon API to show the
relationship between movies, bands, actors, etc.

Amazon APIYou TubeOthersJarrar © 2013

26
Be Innovative… (The Puzzle of APIs)

Jarrar © 2013

27
Find popular APIs

Jarrar © 2013

28
Find popular APIs here
Also, How-To start a
mashup

Jarrar © 2013

29
(APIX + APIY = Money)
… Be innovative to know x and y ;-)

See the ―Mashup Market‖

Jarrar © 2013

30
The Mashup Phenomena

 From Web of Documents (Hypertext) into Web of Data

In other words,
The Web is becoming a Database, where
a data source is seen as a table, and
a mashup is seen a query over multiple tables/sources.
 Data Web
Web 2.0 challenges
Suppose you want to build a mashup:
Build up your publications “publications webpage”, combining all
data from all sources/APIs?

• How to link data items cross sources?
• How to answer structured queries (over different APIs)
such as ―Give me all people who works-at Birzeit and previously
lived in Belgium‖?
• How to know the meaning/type of data Items? Bessan is
a person name, or a city name?

 Linking data items cross sources, such that it becomes
easy to integrate search, and retrieve (use RDF).
Jarrar © 2013

32
From Web 2.0 to Web 3.0
The four principles of Linked Data -Tim Berners-Lee
1. Use URIs to denote things.
2. Use HTTP URIs so that these things can be referred to and looked
up ("dereferenced") by people and user agents.
3. Provide useful information about the thing when its URI is
dereferenced, leveraging standards such as RDF, SPARQL.

4. Include links to other related things (using their URIs) when
publishing data on the Web.

Jarrar © 2013

33
Linked Data
• A community project to publish various open datasets as RDF on the Web
and by setting RDF links between data items from different data sources.
• Data items are linked across datasets (Palestine in DBPedia is the same
Palestine in Yago, in Fliker, YouTube, ….)
• By Sep 2011 this had grown to 39 billion RDF triples.

Jarrar © 2013

34
Linking Data
•
•
•

How are same entities described in different datasets linked?
AGAIN: By linking the Global Identifier, that is, the URI!
Let’s have a look at real examples from real datasets:
<http://dbpedia.org/resource/Bethlehem> owl:sameAs
<http://sws.geonames.org/284315/>

• Linking the entity ―Bethlehem‖ between the DBPedia dataset and the Geonames dataset
in the Linking Open Data cloud.
• This is done by linking the URIs of ―Bethlehem‖ in both datasets using owl:sameAs.

<http://dbpedia.org/resource/Tim_Berners-Lee> owl:sameAs
<http://www4.wiwiss.fu-berlin.de/dblp/resource/person/100007>
• Linking the entity ―Tim Berners-Lee‖ between the DBPedia dataset and the DBLP dataset .
• This is done by linking the URIs of ―Tim Berners-Lee‖ in both datasets using owl:sameAs.

Jarrar © 2013

35
Resources

 http://dbpedia.org/resource/Bethlehem
(Bethlehem URI in DBPedia)

http://sws.geonames.org/284315/ 
(Bethlehem URI in Geonames)
Jarrar © 2013

36
There are many ways to
consume such data
Among them is

RDFa
(Resource Description Framework in Attributes)
W3C Recommendation, in 2008

Jarrar © 2013

37
RDFa
• Bridges the gap between the Web of Documents and the
Web of Data (Web 3.0).
• Makes XHTML web pages structured data (by embedding
RDF triples inside XHTML).
• i.e., using RDFa we build small RDF graphs and embed them
inside XHTML pages.

Jarrar © 2013

38
RDFa
• As stated by Google Webmasters guide, RDFa can be roughly viewed
as a way to label content to describe a specific type of information,
such as a restaurant review, an event, a person, or a product listing.
• These information types are called entities or items. Each entity has
a number of properties. For example, a Person has the properties
name, address, job title, company, and email address.
• In general, RDFa uses simple attributes in XHTML tags (often <span>
or <div>) to assign brief and descriptive names to entities and
properties.

Jarrar © 2013

39
Example 1

Jarrar © 2013

40
Example 1

Jarrar © 2013

41
Example 2
Consider this HTML block:
<div>
My name is George Mousa. My friends call me Geno. I live in
Nablus, Palestine. I work as an engineer at Birzeit
University.
</div>
Annotate the HTML block above with RDFa:
<div xmlns:v="http://rdf.data-vocabulary.org/#"
typeof="v:Person">
My name is <span property="v:name"> George Mousa </span>.
My friends call me <span property="v:nickname"> Geno </span>.
I live in Nablus, Palestine.
I work as an engineer at <span property="v:affiliation">
Birzeit University </span>.
</div>
Jarrar © 2013

42
Example 2
<div xmlns:v="http://rdf.data-vocabulary.org/#" typeof="v:Person">
My name is <span property="v:name"> George Mousa </span>.
My friends call me <span property="v:nickname"> Geno </span>.
I live in Nablus, Palestine.
I work as an engineer at <span property="v:affiliation"> Birzeit University
</span>. </div>

• The example begins with a namespace declaration using xmlns. This
indicates the namespace where the vocabulary is specified.
• Also on the first line, typeof="v:Person" indicates that the markedup content represents a Person.
• Each property of the person (such as the name and nickname) is
labeled using property.
• To indicate a URL, use rel instead of property. Consider adding
the following to our example inside the Person DIV
My home page is: <a href="http://www.example.com"
rel="v:url">www.example.com</a>.

•

"rel" is used to convey the relationship between two entities—in this case, a
Person entity and a webpage entity.
Jarrar © 2013

43
Example 2
•

In our example, we have addressing information about George Mousa.
<div>

•
•

•

... I live in Nablus, Palestine. I work as an engineer ... </div>

We use nesting. Nesting is when one information type includes the other.
In this case, we want to include George’s Address information
(typeof="v:Address") in the typeof="v:Person“ entity.
Here, we use rel to indicate a relationship between George (the entity v:Person)
and his address (the entity v:Address).

<div xmlns:v="http://rdf.data-vocabulary.org/#" typeof="v:Person">
My name is <span property="v:name"> George Mousa </span>.
My friends call me <span property="v:nickname"> Geno </span>.
I live in
<span rel="v:Address">
<span typeof="v:Address">
<span property="v:city">Nablus</span>,
<span property="v:country">Palestine</span>
</span>
</span>.
I work as an engineer at <span property="v:affiliation"> Birzeit University
</span>.
Jarrar © 2013
44
</div>
Let’s draw a graph of our example!

v:Person
“George Mousa”
v:nickname

“Geno”
v:Address
v:city

“Nablus”

“Palestine”

“Birzeit University”

Jarrar © 2013

45
Jobs.ps Use Case

Page 1

Page n

Jarrar © 2013

46
RDF (short tutorial)

Let’s go a little deeper to know how RDF
represents data.

Jarrar © 2013

47
Recall XML

<address>
<name>Universsity of Birzeit</name>
<street>Almarj 435</street>
<town>Birzeit</town>
</address>

Jarrar © 2013

48
Recall XML
XML Markup 1:
<address>
<name>University of Birzeit</name>
<street>Almarj 435</street>
<town>Birzeit</town>
</address>
XML stylesheets

are
also usable to transform
XML representations

XML Markup 2:

<address>
<name>University of Birzeit</name>
<place>
<street>Almarj 435</street>
<town>Birzeit</town>
</place>
</address>
Jarrar © 2013

49
Why XML is Not Enough
• It provides syntax, but not semantics, which is important when
exchanging/representing data over the Web.
<aaaa>
<bbbb>Universsity of Birzeit</aaaa>
<cccc>Almarj 435</cccc>
<dddd>Birzeit</dddd>
</aaaa>

• Not primitive. Same data can be represented in many ways, which is a
problem when exchanging/representing data over the Web.
<address>
<name>University of Birzeit</name>
<street>Almarj 435</street>
<town>Birzeit</town>
</address>

<address name=―University of Birzeit‖>
<street>Almarj 435</street>
<town>Birzeit</town>
</address>

Jarrar © 2013

50
What is RDF?
• It is used for describing resources on the web.

• Makes use of URIs to identify web resources and is
written in XML.
• It is not a language but a framework
• You see it as a way of writing XML  making it meaningful and more
primitive.
• You may see it independent, RDF data might never occur in XML form

• W3C standard

Jarrar © 2013

51
What is RDF?
Data is represented in RDF as a directed labeled graph.

An RDF graph is a set of triples, of the form <Subject, Predicate, Object>
Each Subject and each Predicate must be a URI; that is, it has to be a
unique identifier, not a literal. An Object can be either a URI or a literal.

Jarrar © 2013

52
Example
http://www.amazon.com/Orientalism-Edward-W-Said/dp/039474067Xc

11$

:WrittenBy

Edward Said

Orientalism

<?xml version="1.0"?>
<rdf:RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#
xmlns:a="http://www.example.com"
xmlns:w="http://en.wikipedia.org/wiki/">
<rdf:Description rdf:about="http://www.amazon.com/Orientalism-Edward-W-Said/dp/039474067X">
<a:Title>Orientalism</a:Title>
<a:Price>11$</a:Price>
<a:Author>Edward_Said</a:Author>
</rdf:Description>
</rdf:RDF>

Jarrar © 2013

53
Example
a:Author

http://en.wikipedia.org/wiki/Edward_Said

25/9/2003

11$

Orientalism

1/11/1935

a:BirthCity

http://www.amazon.com/Orientalism-Edward-W-Said/dp/039474067Xc

Edward Saïd

<?xml version="1.0"?>
<rdf:RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#
Jerusalem
xmlns:a="http://www.example.com/"
xmlns:w="http://en.wikipedia.org/wiki/">
<rdf:Description rdf:about="http://www.amazon.com/Orientalism-Edward-W-Said/dp/039474067X">
<a:Title>Orientalism</a:Title>
<a:Price>11$</a:Price>
<a:Author>
<rdf:Description rdf:about="w:Edward_Said">
<a:BirthCity>Jerusalem</a:BirthCity>
<a:BornAt>1/11/1935</a:BornAt>
<a:DiedA>25/9/2003</a:DiedA>
</rdf:Description>
</a:Author>
</rdf:Description>
</rdf:RDF>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
Jarrar © 2013

54
Example
:Author

25/9/2003

http://en.wikipedia.org/wiki/Edward_Said

:BirthCity

http://www.amazon.com/Orientalism-Edward-W-Said/dp/039474067Xc

<?xml version="1.0"?>
Orientalism
Edward
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
11$
1/11/1935
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:a="http://www.example.com#"
xmlns:w="http://en.wikipedia.org/wiki/">
http://en.wikipedia.org/wiki/Jerusalem
<rdf:Description rdf:about="http://www.amazon.com/Orientalism-Edward-W-Said/dp/039474067X">
<a:Title>Orientalism</a:Title>
<a:Price>11$</a:Price>
<a:Author>
<rdf:Description rdf:about="w:Edward_Said">
<a:BornAt>1/11/1935</a:BornAt>
<a:DiedA>25/9/2003</a:DiedA>
760800
Palestine
<a:BirthCity>
<rdf:Description rdf:about="http://en.wikipedia.org/wiki/Jerusalem">
<a:Population>760800</a:Population>
<a:CapitalOf>Palestine</a:CapitalOf>
</rdf:Description>
</a:BirthCity>
</rdf:Description>
</a:Author>
</rdf:Description>
</rdf:RDF>

Jarrar © 2013

Saïd

55
Some slides borrowed from Mohammad A. ZeinEddin

Facebook Open Graph

Jarrar © 2013

56
Definitions
•

Social Web: relations between people and people… people and
objects.

•

Social graph: a graph that represents the social web…

•

Open Graph protocol: a way to transform any regular webpage to a
rich object in a social graph.

•

Facebook open graph: a way to integrate a transformed (an object)
webpage into facebook.

Jarrar © 2013

57
How to transform a webpage to be a part of
the Open Graph
•

Add the Open Graph schema (http://ogp.me/ns#) to the
webpage html tag.

•

Add some meta data properties to your webpage. The
minimum needed are:
–
–

type

–

url

–

•

title

Image

Now the webpage is an Open Graph object.

Jarrar © 2013

58
How to transform a webpage to an object
A regular employee webpage:
<html>
<head>
<title>Mohammad ZeinEddin</title>
</head>
<body>
The employee webpage
</body>
</html>

A “minimal” facebook open graph object for the previous webpage:
<html xmlns:og="http://ogp.me/ns#">
<head>
<title>Mohammad ZeinEddin </title>
<meta property="og:title" content=“Mohammad ZeinEddin"/>
<meta property="og:type" content=" public_figure"/>
<meta property="og:url" content="http://www.birzeit.edu/employees/mohammad.zeineddin"/>
<meta property="og:image" content="https://ritaj.birzeit.edu/profile/photo?person_id_v=45761&attche_type=PIC"/>

</head>
<body>
The employee webpage
</body>
</html>

Jarrar © 2013

59
One page  One object
•

Note that the webpage can represent only one object.

•

The Object can be anything.

•

Facebook has some predefined object types like activity,
sport, company, restaurant, cause, university, city, game
and many others… (Facebook Open Graph)

•

You can define any object type within your own schema.

Jarrar © 2013

60
Our Employee webpage is now an object

OBJECT

EMPLOYEE

Jarrar © 2013

61
Make a relation between a fecebook user
and the object
When a User RECOMMEND an Employee… a relation is
constructed…

User

Action

OBJECT

RECOMMEND

EMPLOYEE

Jarrar © 2013

62
Now it can be integrated into facebook
open graph

New
Relation

https://developers.facebook.com/docs/concepts/opengraph/

Jarrar © 2013

63
Users are connected through social objects

Are connected
through

https://developers.facebook.com/docs/concepts/opengraph/
Modified

Jarrar © 2013

64
Why Facebook choose Open Graph
• It is a minimal RDFa.
• Facebook needs one namespace and one prefix! They
didn’t like the following:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<meta property="dc:creator" content=―Mohammad ZeinEddin" />
<link rel="foaf:primaryTopic" href="http://example.org/john-d/#me" />

• Facebook reuse one html tag attribute:
<meta property="og:title" content=―Mohammad ZeinEddin"/>

Jarrar © 2013

65
Facebook Graph Search

FB? Oracle?
When can we Google the web in this way
Jarrar © 2013

66
Conclusion (Informally Speaking)
From Web of documents to Web of Objects

Jarrar © 2013

67
Related Research @Birzeit

Arabic Ontology
MashQL for (Query/mashing up web data)

Jarrar © 2013

68
MashQL

This research was initiated at the University of Cyprus

A language
for querying and Mashing up the Web 3.0

With the following assumptions in mind:
 The user does not know the schema.
 There is no offline or inline schemaontology.
 The query may involve multiple sources.
 an expressive language. (not a single-purpose interface)
Jarrar © 2013

69
Example 1
“Lara’s articles after 2007?”
RDF Input
From:
http://www.site1.com/rdf

www.site1.com/rdf

:B1
:B1
:B1
:B1
:B2
:B2

:Title “Linked Data”
:Author “Lara T.”
:PubYear 2008
:Publisher “Springer”
:Title “Data on the Web”
:Author “Abiteboul S.”

http://www.site2.com/rdf
www.site2.com/rdf

:A1
:A1
:A1
:A1
:A1
:A2
:A2
:A2
:A2

Query
Everything
Author ―^Lara‖
YearPubYear > 2007
Title

ArticleTitle

rdf:Type bibo:Article
:Title “Data Web”
:Author “Tom Lara”
:Author “Bob Hacker”
:Year
2007
rdf:Type bibo:Article
:Title “Semantic Web”
:Author “Tom Lara”
:Year
2005

 Interactive Query Formulation.
 MashQL queries are translated into and executed as SPARQL.
Jarrar © 2013

70
Example 1
“Lara’s articles after 2007?”
RDF Input
From:
http://www.site1.com/rdf

www.site1.com/rdf

:B1
:B1
:B1
:B1
:B2
:B2

:Title “Linked Data”
:Author “Lara T.”
:PubYear 2008
:Publisher “Springer”
:Title “Data on the Web”
:Author “Abiteboul S.”

http://www.site2.com/rdf
www.site2.com/rdf

:A1
:A1
:A1
:A1
:A1
:A2
:A2
:A2
:A2

Query
Everything

Jarrar © 2013

rdf:Type bibo:Article
:Title “Data Web”
:Author “Tom Lara”
:Author “Bob Hacker”
:Year
2007
rdf:Type bibo:Article
:Title “Semantic Web”
:Author “Tom Lara”
:Year
2005

71
Example 1
“Lara’s articles after 2007?”
RDF Input
From:
http://www.site1.com/rdf

www.site1.com/rdf

:B1
:B1
:B1
:B1
:B2
:B2

:Title “Linked Data”
:Author “Lara T.”
:PubYear 2008
:Publisher “Springer”
:Title “Data on the Web”
:Author “Abiteboul S.”

http://www.site2.com/rdf
www.site2.com/rdf

:A1
:A1
:A1
:A1
:A1
:A2
:A2
:A2
:A2

Query
Everything
Everything
Article
A1
A2
B1
Types Individuals

rdf:Type bibo:Article
:Title “Data Web”
:Author “Tom Lara”
:Author “Bob Hacker”
:Year
2007
rdf:Type bibo:Article
:Title “Semantic Web”
:Author “Tom Lara”
:Year
2005

Background queries
SELECT X WHERE {?X ?P ?O}
Union
SELECT X WHERE {?S ?P ?X}
SELECT X WHERE {?S rdf:Type ?X}

Jarrar © 2013

72
Example 1
“Lara’s articles after 2007?”
RDF Input
From:
http://www.site1.com/rdf

www.site1.com/rdf

:B1
:B1
:B1
:B1
:B2
:B2

:Title “Linked Data”
:Author “Lara T.”
:PubYear 2008
:Publisher “Springer”
:Title “Data on the Web”
:Author “Abiteboul S.”

http://www.site2.com/rdf
www.site2.com/rdf

:A1
:A1
:A1
:A1
:A1
:A2
:A2
:A2
:A2

Query
Everything
Author
Author
Title
PubYear
Type
Year

Contains Lara
Equals
Equals
Contains
Contains
OneOf
Not
Between
LessThan
MoreThan

rdf:Type bibo:Article
:Title “Data Web”
:Author “Tom Lara”
:Author “Bob Hacker”
:Year
2007
rdf:Type bibo:Article
:Title “Semantic Web”
:Author “Tom Lara”
:Year
2005

Background query
SELECT P WHERE {?Everything ?P ?O}

Jarrar © 2013

73
Example 1
“Lara’s articles after 2007?”
RDF Input
From:
http://www.site1.com/rdf

www.site1.com/rdf

:B1
:B1
:B1
:B1
:B2
:B2

:Title “Linked Data”
:Author “Lara T.”
:PubYear 2008
:Publisher “Springer”
:Title “Data on the Web”
:Author “Abiteboul S.”

http://www.site2.com/rdf
www.site2.com/rdf

:A1
:A1
:A1
:A1
:A1
:A2
:A2
:A2
:A2

Query
Everything
Author ―^Lara
Year PubYear
Author
Title
PubYear
Type
Year

MoreTh

2007

Equals
Equals
Contains
OneOf
Not
Between
LessThan
MoreThan
MoreThan

rdf:Type bibo:Article
:Title “Data Web”
:Author “Tom Lara”
:Author “Bob Hacker”
:Year
2007
rdf:Type bibo:Article
:Title “Semantic Web”
:Author “Tom Lara”
:Year
2005

Background query
SELECT P WHERE {?Everything ?P ?O}

Jarrar © 2013

74
Example 1
“Lara’s articles after 2007?”
RDF Input
From:
http://www.site1.com/rdf

www.site1.com/rdf

:B1
:B1
:B1
:B1
:B2
:B2

:Title “Linked Data”
:Author “Lara T.”
:PubYear 2008
:Publisher “Springer”
:Title “Data on the Web”
:Author “Abiteboul S.”

http://www.site2.com/rdf
www.site2.com/rdf

:A1
:A1
:A1
:A1
:A1
:A2
:A2
:A2
:A2

Query
Everything
Author ―^Lara
YearPubYear > 2007
Title
Author
Author
Title
Title
PubYear
Type
Year

ArticleTitle

rdf:Type bibo:Article
:Title “Data Web”
:Author “Tom Lara”
:Author “Bob Hacker”
:Year
2007
rdf:Type bibo:Article
:Title “Semantic Web”
:Author “Tom Lara”
:Year
2005

Background query
SELECT P WHERE {?Everything ?P ?O}

Jarrar © 2013

75
Example 1
“Lara’s articles after 2007?”
RDF Input
From:
http://www.site1.com/rdf

www.site1.com/rdf

:B1
:B1
:B1
:B1
:B2
:B2

:Title “Linked Data”
:Author “Lara T.”
:PubYear 2008
:Publisher “Springer”
:Title “Data on the Web”
:Author “Abiteboul S.”

http://www.site2.com/rdf
www.site2.com/rdf

:A1
:A1
:A1
:A1
:A1
:A2
:A2
:A2
:A2

Query
Everything
Author ―^Lara
YearPubYear > 2007
Title

ArticleTitle

rdf:Type bibo:Article
:Title “Data Web”
:Author “Tom Lara”
:Author “Bob Hacker”
:Year
2007
rdf:Type bibo:Article
:Title “Semantic Web”
:Author “Tom Lara”
:Year
2005

PREFIX S1: <http://site1.com/rdf>
PREFIX S2: <http://site1.com/rdf>
SELECT ?ArticleTitle
FROM <http://site1.com/rdf>
FROM <http://site2.com/rdf>
WHERE {
{?X S1:Author ?X1} UNION {?X S2:Author ?X1}
{?X S1:PubYear ?X2} UNION {?X S2:Year ?X2}
{{?X S1:Title ?ArticleTitle} UNION {?X S2:Title
?ArticleTitle}}
FILTER regex(?X1, “^Hacker”)

JarrarFILTER (?X2
© 2013

> 2000)}

76
Example 2
“Recent articles from Cyprus?”

Query
Article
Title ArticleTitle
Author
Address
Country ―Cyprus‖
Year > 2008

 Retrieve every Article that: has a title, written by author, who has
address, this address has a country called Cyprus, and the article is
published after 2008.
Jarrar © 2013

77
MashQL Editor








Alpha version (Not public YET!)
Web Ajax-based.
Open sources Java Script libraries (from Yahoo)
Oracle 11g as RDF store.
Graphs Signature Index for fast user-interaction.
URI Normalization based on heuristics.
(but some URIs are too cryptic)

Jarrar © 2013

78
MashQL Firefox Add-On (Light-mashups @ your browser)
The browser becomes a web composer (not only a navigator )

Jarrar © 2013

79
Evaluation (DBLP, Experiment 1)
(User Interaction Response Time)
How long it takes to generate the next list?
Query
Any Article

 O:(?S Type ?O)




Title

―^World-Wide Web‖


Creator

Type
Name
Year

Query
Q1
Q2
Q3
Q4



Person





―^Berners-Lee‖



 P:(?S Type Article)(?S ?P ?O1)

 P:(?S Type Article)
(?S Creator ?O1) (?O1 ?P ?O2)

 O:(?S Type Article)
(?S Creator ?O1)(?O1 Type ?O)

> 2007

DBLP (9M triples)
GS
Oracle

0.003
0.001
0.001
0.001

0.005
0.136
0.187
1.208

DBLP (4M triples)
GS
Oracle

0.003
0.001
0.001
0.001
Jarrar © 2013

0.004
0.148
0.846
0.835

DBLP (2M triples)
GS
Oracle

0.003
0.001
0.001
0.001

0.003
0.108
0.671
0.650
80
Evaluation (DBPedia, Experiment 2)

 P:(?S :Type :Album)

(?S :PreviousAlbum ?O1)
(?O1 ?P ? O2)

Query
Q1
Q2
Q3
Q4
Q5
Q6
Q7
Q8
Q9

DBPedia (32 M)
0.003
0.002
0.005
0.005
0.005
0.005
0.007
0.005
0.007

DBPedia (16 M)
DBPedia (8 M)
0.003
0.003
0.002
0.002
0.004
0.003
0.004
0.004
0.004
0.004
0.005
0.005
0.007
0.007
0.005
0.005
0.007 © 2013
0.007
Jarrar

DBPedia (4 M)
0.003
0.002
0.003
0.004
0.004
0.005
0.007
0.005
0.006
81
Evaluation (DBPedia, Experiment 3)
 P3:(?S Type ?Album)
(?S ?RelatedTo1 ?O1)
(?O1 ?RelatedT02 ?O2)
(?O2 ?P3 ?O4)

Query
Q1
Q2
Q3
Q4
Q5
Q6
Q7
Q8
Q9

(B32) 32 M
GS
Oracle
0.001
0.027
0.026
17.450
0.048
49.656
0.087 5348.774
0.135
0.185
0.234
0.265
0.280
-

DBPedia (16 M )
0.001
0.010
0.010
0.022
0.036
0.055
0.076
0.098
Jarrar0.110
© 2013

DBPedia (8 M )
0.001
0.006
0.011
0.017
0.032
0.047
0.061
0.077
0.092

DBPedia (4 M )
0.001
0.005
0.010
0.011
0.011
0.016
0.023
0.027
0.034
82
Graph Signature (a native RDF Index)

• Summary of all paths.
• We query the Graph Signature instead of the Data Graph.

Jarrar © 2013

83
Conclusions
 ―Query and mash up the Data Web as simple as filtering up
Web Feeds‖ is a query formulation problem.
 End-users can navigate, query, and mash up unknown graphs.
without knowing the schema. Data is schema-free. Multiple sources.

 MashQL is expressive as SPARQL.
Except NAMED GRAPH.

 MashQL is not merely a SPARQL interface, or limited RDF.
It has its own path-pattern intuition (can be similarly used for XML and DB).

Jarrar © 2013

84
Thank You
Download the slides from www.jarrar.info
Reading:
Mustafa Jarrar and Marios D. Dikaiakos: A Data Mashup Language for the Data Web.
Proceedings of LDOW, WWW'09. ACM. ISSN 1613-0073. (2009).
http://www.jarrar.info/publications/JD09.pdf.htm
Mustafa Jarrar and Marios D. Dikaiakos: MashQL: A Query-by-Diagram Language Towards Semantic Data Mashups. Proceedings of ONISW'08, part of the ACM CiKM
conference. ACM. pages (89-96) ISBN 9781605582559. (2008).
http://www.jarrar.info/publications/onisw10-jarrar.pdf.htm
Jarrar © 2013

85

More Related Content

What's hot (20)

PPTX
Introduction to the Semantic Web
Tomek Pluskiewicz
 
PDF
Semantic web technology
Stanley Wang
 
PPTX
Social Semantic Web on Facebook Open Graph protocol and Twitter Annotations
Myungjin Lee
 
PDF
Semantic web
Myungjin Lee
 
PPT
Explaining The Semantic Web
Sourav Sharma
 
PDF
Chapter 1 semantic web
R A Akerkar
 
PPTX
Taking Advantage of Semantic Web
Sankaranand Balaradjou
 
PDF
Semantic Web: an Introduction
Luigi De Russis
 
DOCX
Semantic web Document
ap
 
PPT
Semantic Web 2.0: Creating Social Semantic Information Spaces
John Breslin
 
PDF
The Semantic Web: An Introduction
Elena Simperl
 
PPT
Web 3.0 explained with a stamp (pt II: techniques)
Freek Bijl
 
PDF
Introduction to the Semantic Web
Marin Dimitrov
 
PPTX
semantic web-unique presentation
ramesh kumar
 
PPTX
The semantic web
ap
 
PPTX
Semantic web Santhosh N Basavarajappa
Santhosh Basavarajappa
 
PPTX
Semantic web
Tanvi Vahora
 
PPTX
Semantic web
RehithaP
 
PDF
Web evolution,Walfram Aplha
Islem Betta
 
ODP
Quick Introduction to the Semantic Web, RDFa & Microformats
University of California, San Diego
 
Introduction to the Semantic Web
Tomek Pluskiewicz
 
Semantic web technology
Stanley Wang
 
Social Semantic Web on Facebook Open Graph protocol and Twitter Annotations
Myungjin Lee
 
Semantic web
Myungjin Lee
 
Explaining The Semantic Web
Sourav Sharma
 
Chapter 1 semantic web
R A Akerkar
 
Taking Advantage of Semantic Web
Sankaranand Balaradjou
 
Semantic Web: an Introduction
Luigi De Russis
 
Semantic web Document
ap
 
Semantic Web 2.0: Creating Social Semantic Information Spaces
John Breslin
 
The Semantic Web: An Introduction
Elena Simperl
 
Web 3.0 explained with a stamp (pt II: techniques)
Freek Bijl
 
Introduction to the Semantic Web
Marin Dimitrov
 
semantic web-unique presentation
ramesh kumar
 
The semantic web
ap
 
Semantic web Santhosh N Basavarajappa
Santhosh Basavarajappa
 
Semantic web
Tanvi Vahora
 
Semantic web
RehithaP
 
Web evolution,Walfram Aplha
Islem Betta
 
Quick Introduction to the Semantic Web, RDFa & Microformats
University of California, San Diego
 

Viewers also liked (20)

PPT
A Semantic Data Model for Web Applications
Armin Haller
 
PPT
Linked Data Tutorial
Sören Auer
 
PDF
Jarrar: Architectural Solutions in Data Integration
Mustafa Jarrar
 
PPTX
Jarrar: Subtype Relations and Constraints
Mustafa Jarrar
 
PPTX
Jarrar: SPARQL - RDF Query Language
Mustafa Jarrar
 
PDF
Jarrar: Web 2 Data Mashups
Mustafa Jarrar
 
PDF
Jarrar: Zinnar
Mustafa Jarrar
 
PDF
Jarrar: Data Integration and Fusion using RDF
Mustafa Jarrar
 
PDF
Jarrar: Linked Data
Mustafa Jarrar
 
PPTX
Jarrar: Sparql Project
Mustafa Jarrar
 
PPTX
Jarrar: Knowledge Engineering- Course Outline
Mustafa Jarrar
 
PDF
Jarrar: Introduction to Data Integration
Mustafa Jarrar
 
PDF
Jarrar: RDF Stores: Challenges and Solutions
Mustafa Jarrar
 
PPTX
Jarrar: RDFs -RDF Schema
Mustafa Jarrar
 
PPTX
Jarrar: Data Fusion using RDF
Mustafa Jarrar
 
PDF
Jarrar: RDFa
Mustafa Jarrar
 
PDF
Jarrar: The Next Generation of the Web 3.0: The Semantic Web Vesion
Mustafa Jarrar
 
PPTX
Jarrar: OWL -Web Ontology Language
Mustafa Jarrar
 
PPTX
Jarrar: RDF Stores -Challenges and Solutions
Mustafa Jarrar
 
PDF
Jarrar: OWL (Web Ontology Language)
Mustafa Jarrar
 
A Semantic Data Model for Web Applications
Armin Haller
 
Linked Data Tutorial
Sören Auer
 
Jarrar: Architectural Solutions in Data Integration
Mustafa Jarrar
 
Jarrar: Subtype Relations and Constraints
Mustafa Jarrar
 
Jarrar: SPARQL - RDF Query Language
Mustafa Jarrar
 
Jarrar: Web 2 Data Mashups
Mustafa Jarrar
 
Jarrar: Zinnar
Mustafa Jarrar
 
Jarrar: Data Integration and Fusion using RDF
Mustafa Jarrar
 
Jarrar: Linked Data
Mustafa Jarrar
 
Jarrar: Sparql Project
Mustafa Jarrar
 
Jarrar: Knowledge Engineering- Course Outline
Mustafa Jarrar
 
Jarrar: Introduction to Data Integration
Mustafa Jarrar
 
Jarrar: RDF Stores: Challenges and Solutions
Mustafa Jarrar
 
Jarrar: RDFs -RDF Schema
Mustafa Jarrar
 
Jarrar: Data Fusion using RDF
Mustafa Jarrar
 
Jarrar: RDFa
Mustafa Jarrar
 
Jarrar: The Next Generation of the Web 3.0: The Semantic Web Vesion
Mustafa Jarrar
 
Jarrar: OWL -Web Ontology Language
Mustafa Jarrar
 
Jarrar: RDF Stores -Challenges and Solutions
Mustafa Jarrar
 
Jarrar: OWL (Web Ontology Language)
Mustafa Jarrar
 
Ad

Similar to Jarrar: The Next Generation of the Web 3.0: The Semantic Web (20)

PPTX
Jarrar: Introduction to Linked Data
Mustafa Jarrar
 
ODP
Linked Data
Danny Ayers
 
PPTX
RDFa: an introduction
Kai Li
 
PPSX
The Web of data and web data commons
Jesse Wang
 
ZIP
SemWeb Fundamentals - Info Linking & Layering in Practice
Dan Brickley
 
PPTX
Linked Data and Locah, UKSG2011
Jane Stevenson
 
PPTX
Jarrar: Web 2.0 Data Mashups
Mustafa Jarrar
 
KEY
RDFa Introductory Course Session 3/4 Why RDFa
Platypus
 
KEY
Why rdfa
JISC Netskills
 
PPTX
Search Engines After The Semanatic Web
samar_slideshare
 
PDF
Danbri Drupalcon Export
Drupalcon Paris
 
PDF
Semantic web and Linked Data
Hyun Namgoong
 
PPTX
20100614 ISWSA Keynote
Axel Polleres
 
PPT
Sears web30e connectionartificialintelligence
hrpiza
 
PPT
Sears web30e connectionartificialintelligence
hrpiza
 
PPTX
Semantic Web, e-commerce
Semantic Web San Diego
 
PDF
Web3.0 or The semantic web
Darren Wood
 
KEY
When RDFa?
JISC Netskills
 
KEY
RDFa Introductory Course Session 4/4 When RDFa
Platypus
 
PDF
Introduction to the Social Semantic Web
mdabrowski
 
Jarrar: Introduction to Linked Data
Mustafa Jarrar
 
Linked Data
Danny Ayers
 
RDFa: an introduction
Kai Li
 
The Web of data and web data commons
Jesse Wang
 
SemWeb Fundamentals - Info Linking & Layering in Practice
Dan Brickley
 
Linked Data and Locah, UKSG2011
Jane Stevenson
 
Jarrar: Web 2.0 Data Mashups
Mustafa Jarrar
 
RDFa Introductory Course Session 3/4 Why RDFa
Platypus
 
Why rdfa
JISC Netskills
 
Search Engines After The Semanatic Web
samar_slideshare
 
Danbri Drupalcon Export
Drupalcon Paris
 
Semantic web and Linked Data
Hyun Namgoong
 
20100614 ISWSA Keynote
Axel Polleres
 
Sears web30e connectionartificialintelligence
hrpiza
 
Sears web30e connectionartificialintelligence
hrpiza
 
Semantic Web, e-commerce
Semantic Web San Diego
 
Web3.0 or The semantic web
Darren Wood
 
When RDFa?
JISC Netskills
 
RDFa Introductory Course Session 4/4 When RDFa
Platypus
 
Introduction to the Social Semantic Web
mdabrowski
 
Ad

Recently uploaded (20)

PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
PDF
🚀 Let’s Build Our First Slack Workflow! 🔧.pdf
SanjeetMishra29
 
PDF
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
PPTX
Manual Testing for Accessibility Enhancement
Julia Undeutsch
 
PDF
Home Cleaning App Development Services.pdf
V3cube
 
PDF
NASA A Researcher’s Guide to International Space Station : Earth Observations
Dr. PANKAJ DHUSSA
 
PDF
Modern Decentralized Application Architectures.pdf
Kalema Edgar
 
PPTX
Securing Model Context Protocol with Keycloak: AuthN/AuthZ for MCP Servers
Hitachi, Ltd. OSS Solution Center.
 
PDF
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PDF
99 Bottles of Trust on the Wall — Operational Principles for Trust in Cyber C...
treyka
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PDF
Bharatiya Antariksh Hackathon 2025 Idea Submission PPT.pdf
ghjghvhjgc
 
PPTX
Wondershare Filmora Crack Free Download 2025
josanj305
 
PDF
Survival Models: Proper Scoring Rule and Stochastic Optimization with Competi...
Paris Women in Machine Learning and Data Science
 
PPTX
CapCut Pro PC Crack Latest Version Free Free
josanj305
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
🚀 Let’s Build Our First Slack Workflow! 🔧.pdf
SanjeetMishra29
 
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
Manual Testing for Accessibility Enhancement
Julia Undeutsch
 
Home Cleaning App Development Services.pdf
V3cube
 
NASA A Researcher’s Guide to International Space Station : Earth Observations
Dr. PANKAJ DHUSSA
 
Modern Decentralized Application Architectures.pdf
Kalema Edgar
 
Securing Model Context Protocol with Keycloak: AuthN/AuthZ for MCP Servers
Hitachi, Ltd. OSS Solution Center.
 
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
99 Bottles of Trust on the Wall — Operational Principles for Trust in Cyber C...
treyka
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
Bharatiya Antariksh Hackathon 2025 Idea Submission PPT.pdf
ghjghvhjgc
 
Wondershare Filmora Crack Free Download 2025
josanj305
 
Survival Models: Proper Scoring Rule and Stochastic Optimization with Competi...
Paris Women in Machine Learning and Data Science
 
CapCut Pro PC Crack Latest Version Free Free
josanj305
 

Jarrar: The Next Generation of the Web 3.0: The Semantic Web

  • 1. TechCon#2 – Developer Day Ankars Suites, Ramallah, Palestine October 12, 2032 The Next Generation of the Web 3.0 The Semantic Web Dr. Mustafa Jarrar Sina Institute, University of Birzeit [email protected] www.jarrar.info Jarrar © 2013 1
  • 2. What/why The Semantic Web, in short The RDFa scenario find a developer position, max 10 minutes from Ramallah Jarrar © 2013 2
  • 3. What/why The Semantic Web, in short The RDFa scenario Bad results, as it is string-matching search, i.e., not meaningful search find a developer position, max 10 minutes from Ramallah Jarrar © 2013 3
  • 4. What/why The Semantic Web, in short The RDFa scenario Shared meanings of things, This meaning is embedded inside web pages.  1 Ontology 2 ―The semantic web‖ mission: syntax to semantic based search  The next generation of the web. 3 4 find a developer position, max 10 minutes from Ramallah 3 billion pages Jarrar © 2013 4
  • 6. From Web 1.0 to Web 2.0 Social Community, Collaboration, Sharing Jarrar © 2013 6
  • 7. Where Web 2.0 is going? most Web 2.0 sites provide APIs Jarrar © 2013 7
  • 8. Wikipedia edited in real-time by anyone (in 252 languages, millions of articles) written collaboratively by volunteers around the world. API Jarrar © 2013 8
  • 9. A social network for sharing photos •3,464 uploads in the last minute · •160,129 things tagged with morning · •2.3 million things geotagged this month In 2008 API Jarrar © 2013 9
  • 10. Upload, View, and Share Videos (and tags...) API Jarrar © 2013 10
  • 11. e-Buy and e-Sell Millions of items are listed, bought, sold, and discussed daily. API Jarrar © 2013 11
  • 12. We know this! What is social? API Jarrar © 2013 12
  • 13. Upcoimg.org A social event calendar website, uses iCalender, supports an open API for the submission of event descriptions. API Jarrar © 2013 13
  • 14. Blog (Your Own Journal) Commentary, news, personal diaries... + comments/discussions (+106 million blogs, as of 2007) API Jarrar © 2013 14
  • 15. Business/Professional Networking 16 million registered users (2007) 60 million registered users (2007) Social employability API Jarrar © 2013 15
  • 16. Social Networking Find your friends, socialize, group, share/organize events, and more…(55 million active members) API Jarrar © 2013 16
  • 17. Web 2.0 Technologies Companies are competing in gathering content from people and offering this content back through APIs (i.e. structured data) Content syndication How can you deliver recent news to your users without forcing them to visit your website?  RSS, Atom Mashups How can you remix free content and make a new website? Web APIs (programmable web) How can make use of the free content inside my website? Jarrar © 2013 17
  • 18. Content Syndication Millions of online publishers including newspapers, commercial web sites and blogs now publish their latest news headlines, product offers or blog postings in standard format news feed. A typical web feed logo Jarrar © 2013 18
  • 19. Content Syndication The two main families of web syndication formats are RSS and Atom. Jarrar © 2013 19
  • 20. Mashups / Programmable Web (The Puzzle of APIs) Jarrar © 2013 20
  • 21. Mashups • A new type of web applications. • Combines data from more than one source into a single integrated tool. • Creating a new and distinct web service that was not originally provided by either source. • Content is typically sourced via an API* or a RSS Feed Let’s see some examples.. Jarrar © 2013 21
  • 22. Mashups (Example) Ask500People.com Real-time mashup of votes from around the world Jarrar © 2013 22
  • 23. Mashups (Example) ePartyGuide.com Yahoo! MapsYahoo! LocalFlickr- Jarrar © 2013 23
  • 24. Mashups (Example) Combines Google maps with real-estate databases Google MapsReal-estate- Jarrar © 2013 24
  • 25. Mashups (Example) A unified and comprehensive view of the current global state of infectious diseases and their effect on human and animal health Google NewsProMEDWorld Health OrganizationJarrar © 2013 25
  • 26. Mashups (Example) A visually rich application that combines the Amazon API to show the relationship between movies, bands, actors, etc. Amazon APIYou TubeOthersJarrar © 2013 26
  • 27. Be Innovative… (The Puzzle of APIs) Jarrar © 2013 27
  • 29. Find popular APIs here Also, How-To start a mashup Jarrar © 2013 29
  • 30. (APIX + APIY = Money) … Be innovative to know x and y ;-) See the ―Mashup Market‖ Jarrar © 2013 30
  • 31. The Mashup Phenomena  From Web of Documents (Hypertext) into Web of Data In other words, The Web is becoming a Database, where a data source is seen as a table, and a mashup is seen a query over multiple tables/sources.  Data Web
  • 32. Web 2.0 challenges Suppose you want to build a mashup: Build up your publications “publications webpage”, combining all data from all sources/APIs? • How to link data items cross sources? • How to answer structured queries (over different APIs) such as ―Give me all people who works-at Birzeit and previously lived in Belgium‖? • How to know the meaning/type of data Items? Bessan is a person name, or a city name?  Linking data items cross sources, such that it becomes easy to integrate search, and retrieve (use RDF). Jarrar © 2013 32
  • 33. From Web 2.0 to Web 3.0 The four principles of Linked Data -Tim Berners-Lee 1. Use URIs to denote things. 2. Use HTTP URIs so that these things can be referred to and looked up ("dereferenced") by people and user agents. 3. Provide useful information about the thing when its URI is dereferenced, leveraging standards such as RDF, SPARQL. 4. Include links to other related things (using their URIs) when publishing data on the Web. Jarrar © 2013 33
  • 34. Linked Data • A community project to publish various open datasets as RDF on the Web and by setting RDF links between data items from different data sources. • Data items are linked across datasets (Palestine in DBPedia is the same Palestine in Yago, in Fliker, YouTube, ….) • By Sep 2011 this had grown to 39 billion RDF triples. Jarrar © 2013 34
  • 35. Linking Data • • • How are same entities described in different datasets linked? AGAIN: By linking the Global Identifier, that is, the URI! Let’s have a look at real examples from real datasets: <http://dbpedia.org/resource/Bethlehem> owl:sameAs <http://sws.geonames.org/284315/> • Linking the entity ―Bethlehem‖ between the DBPedia dataset and the Geonames dataset in the Linking Open Data cloud. • This is done by linking the URIs of ―Bethlehem‖ in both datasets using owl:sameAs. <http://dbpedia.org/resource/Tim_Berners-Lee> owl:sameAs <http://www4.wiwiss.fu-berlin.de/dblp/resource/person/100007> • Linking the entity ―Tim Berners-Lee‖ between the DBPedia dataset and the DBLP dataset . • This is done by linking the URIs of ―Tim Berners-Lee‖ in both datasets using owl:sameAs. Jarrar © 2013 35
  • 36. Resources  http://dbpedia.org/resource/Bethlehem (Bethlehem URI in DBPedia) http://sws.geonames.org/284315/  (Bethlehem URI in Geonames) Jarrar © 2013 36
  • 37. There are many ways to consume such data Among them is RDFa (Resource Description Framework in Attributes) W3C Recommendation, in 2008 Jarrar © 2013 37
  • 38. RDFa • Bridges the gap between the Web of Documents and the Web of Data (Web 3.0). • Makes XHTML web pages structured data (by embedding RDF triples inside XHTML). • i.e., using RDFa we build small RDF graphs and embed them inside XHTML pages. Jarrar © 2013 38
  • 39. RDFa • As stated by Google Webmasters guide, RDFa can be roughly viewed as a way to label content to describe a specific type of information, such as a restaurant review, an event, a person, or a product listing. • These information types are called entities or items. Each entity has a number of properties. For example, a Person has the properties name, address, job title, company, and email address. • In general, RDFa uses simple attributes in XHTML tags (often <span> or <div>) to assign brief and descriptive names to entities and properties. Jarrar © 2013 39
  • 42. Example 2 Consider this HTML block: <div> My name is George Mousa. My friends call me Geno. I live in Nablus, Palestine. I work as an engineer at Birzeit University. </div> Annotate the HTML block above with RDFa: <div xmlns:v="http://rdf.data-vocabulary.org/#" typeof="v:Person"> My name is <span property="v:name"> George Mousa </span>. My friends call me <span property="v:nickname"> Geno </span>. I live in Nablus, Palestine. I work as an engineer at <span property="v:affiliation"> Birzeit University </span>. </div> Jarrar © 2013 42
  • 43. Example 2 <div xmlns:v="http://rdf.data-vocabulary.org/#" typeof="v:Person"> My name is <span property="v:name"> George Mousa </span>. My friends call me <span property="v:nickname"> Geno </span>. I live in Nablus, Palestine. I work as an engineer at <span property="v:affiliation"> Birzeit University </span>. </div> • The example begins with a namespace declaration using xmlns. This indicates the namespace where the vocabulary is specified. • Also on the first line, typeof="v:Person" indicates that the markedup content represents a Person. • Each property of the person (such as the name and nickname) is labeled using property. • To indicate a URL, use rel instead of property. Consider adding the following to our example inside the Person DIV My home page is: <a href="http://www.example.com" rel="v:url">www.example.com</a>. • "rel" is used to convey the relationship between two entities—in this case, a Person entity and a webpage entity. Jarrar © 2013 43
  • 44. Example 2 • In our example, we have addressing information about George Mousa. <div> • • • ... I live in Nablus, Palestine. I work as an engineer ... </div> We use nesting. Nesting is when one information type includes the other. In this case, we want to include George’s Address information (typeof="v:Address") in the typeof="v:Person“ entity. Here, we use rel to indicate a relationship between George (the entity v:Person) and his address (the entity v:Address). <div xmlns:v="http://rdf.data-vocabulary.org/#" typeof="v:Person"> My name is <span property="v:name"> George Mousa </span>. My friends call me <span property="v:nickname"> Geno </span>. I live in <span rel="v:Address"> <span typeof="v:Address"> <span property="v:city">Nablus</span>, <span property="v:country">Palestine</span> </span> </span>. I work as an engineer at <span property="v:affiliation"> Birzeit University </span>. Jarrar © 2013 44 </div>
  • 45. Let’s draw a graph of our example! v:Person “George Mousa” v:nickname “Geno” v:Address v:city “Nablus” “Palestine” “Birzeit University” Jarrar © 2013 45
  • 46. Jobs.ps Use Case Page 1 Page n Jarrar © 2013 46
  • 47. RDF (short tutorial) Let’s go a little deeper to know how RDF represents data. Jarrar © 2013 47
  • 48. Recall XML <address> <name>Universsity of Birzeit</name> <street>Almarj 435</street> <town>Birzeit</town> </address> Jarrar © 2013 48
  • 49. Recall XML XML Markup 1: <address> <name>University of Birzeit</name> <street>Almarj 435</street> <town>Birzeit</town> </address> XML stylesheets are also usable to transform XML representations XML Markup 2: <address> <name>University of Birzeit</name> <place> <street>Almarj 435</street> <town>Birzeit</town> </place> </address> Jarrar © 2013 49
  • 50. Why XML is Not Enough • It provides syntax, but not semantics, which is important when exchanging/representing data over the Web. <aaaa> <bbbb>Universsity of Birzeit</aaaa> <cccc>Almarj 435</cccc> <dddd>Birzeit</dddd> </aaaa> • Not primitive. Same data can be represented in many ways, which is a problem when exchanging/representing data over the Web. <address> <name>University of Birzeit</name> <street>Almarj 435</street> <town>Birzeit</town> </address> <address name=―University of Birzeit‖> <street>Almarj 435</street> <town>Birzeit</town> </address> Jarrar © 2013 50
  • 51. What is RDF? • It is used for describing resources on the web. • Makes use of URIs to identify web resources and is written in XML. • It is not a language but a framework • You see it as a way of writing XML  making it meaningful and more primitive. • You may see it independent, RDF data might never occur in XML form • W3C standard Jarrar © 2013 51
  • 52. What is RDF? Data is represented in RDF as a directed labeled graph. An RDF graph is a set of triples, of the form <Subject, Predicate, Object> Each Subject and each Predicate must be a URI; that is, it has to be a unique identifier, not a literal. An Object can be either a URI or a literal. Jarrar © 2013 52
  • 53. Example http://www.amazon.com/Orientalism-Edward-W-Said/dp/039474067Xc 11$ :WrittenBy Edward Said Orientalism <?xml version="1.0"?> <rdf:RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns# xmlns:a="http://www.example.com" xmlns:w="http://en.wikipedia.org/wiki/"> <rdf:Description rdf:about="http://www.amazon.com/Orientalism-Edward-W-Said/dp/039474067X"> <a:Title>Orientalism</a:Title> <a:Price>11$</a:Price> <a:Author>Edward_Said</a:Author> </rdf:Description> </rdf:RDF> Jarrar © 2013 53
  • 54. Example a:Author http://en.wikipedia.org/wiki/Edward_Said 25/9/2003 11$ Orientalism 1/11/1935 a:BirthCity http://www.amazon.com/Orientalism-Edward-W-Said/dp/039474067Xc Edward Saïd <?xml version="1.0"?> <rdf:RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns# Jerusalem xmlns:a="http://www.example.com/" xmlns:w="http://en.wikipedia.org/wiki/"> <rdf:Description rdf:about="http://www.amazon.com/Orientalism-Edward-W-Said/dp/039474067X"> <a:Title>Orientalism</a:Title> <a:Price>11$</a:Price> <a:Author> <rdf:Description rdf:about="w:Edward_Said"> <a:BirthCity>Jerusalem</a:BirthCity> <a:BornAt>1/11/1935</a:BornAt> <a:DiedA>25/9/2003</a:DiedA> </rdf:Description> </a:Author> </rdf:Description> </rdf:RDF> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> Jarrar © 2013 54
  • 55. Example :Author 25/9/2003 http://en.wikipedia.org/wiki/Edward_Said :BirthCity http://www.amazon.com/Orientalism-Edward-W-Said/dp/039474067Xc <?xml version="1.0"?> Orientalism Edward <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 11$ 1/11/1935 xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:a="http://www.example.com#" xmlns:w="http://en.wikipedia.org/wiki/"> http://en.wikipedia.org/wiki/Jerusalem <rdf:Description rdf:about="http://www.amazon.com/Orientalism-Edward-W-Said/dp/039474067X"> <a:Title>Orientalism</a:Title> <a:Price>11$</a:Price> <a:Author> <rdf:Description rdf:about="w:Edward_Said"> <a:BornAt>1/11/1935</a:BornAt> <a:DiedA>25/9/2003</a:DiedA> 760800 Palestine <a:BirthCity> <rdf:Description rdf:about="http://en.wikipedia.org/wiki/Jerusalem"> <a:Population>760800</a:Population> <a:CapitalOf>Palestine</a:CapitalOf> </rdf:Description> </a:BirthCity> </rdf:Description> </a:Author> </rdf:Description> </rdf:RDF> Jarrar © 2013 Saïd 55
  • 56. Some slides borrowed from Mohammad A. ZeinEddin Facebook Open Graph Jarrar © 2013 56
  • 57. Definitions • Social Web: relations between people and people… people and objects. • Social graph: a graph that represents the social web… • Open Graph protocol: a way to transform any regular webpage to a rich object in a social graph. • Facebook open graph: a way to integrate a transformed (an object) webpage into facebook. Jarrar © 2013 57
  • 58. How to transform a webpage to be a part of the Open Graph • Add the Open Graph schema (http://ogp.me/ns#) to the webpage html tag. • Add some meta data properties to your webpage. The minimum needed are: – – type – url – • title Image Now the webpage is an Open Graph object. Jarrar © 2013 58
  • 59. How to transform a webpage to an object A regular employee webpage: <html> <head> <title>Mohammad ZeinEddin</title> </head> <body> The employee webpage </body> </html> A “minimal” facebook open graph object for the previous webpage: <html xmlns:og="http://ogp.me/ns#"> <head> <title>Mohammad ZeinEddin </title> <meta property="og:title" content=“Mohammad ZeinEddin"/> <meta property="og:type" content=" public_figure"/> <meta property="og:url" content="http://www.birzeit.edu/employees/mohammad.zeineddin"/> <meta property="og:image" content="https://ritaj.birzeit.edu/profile/photo?person_id_v=45761&attche_type=PIC"/> </head> <body> The employee webpage </body> </html> Jarrar © 2013 59
  • 60. One page  One object • Note that the webpage can represent only one object. • The Object can be anything. • Facebook has some predefined object types like activity, sport, company, restaurant, cause, university, city, game and many others… (Facebook Open Graph) • You can define any object type within your own schema. Jarrar © 2013 60
  • 61. Our Employee webpage is now an object OBJECT EMPLOYEE Jarrar © 2013 61
  • 62. Make a relation between a fecebook user and the object When a User RECOMMEND an Employee… a relation is constructed… User Action OBJECT RECOMMEND EMPLOYEE Jarrar © 2013 62
  • 63. Now it can be integrated into facebook open graph New Relation https://developers.facebook.com/docs/concepts/opengraph/ Jarrar © 2013 63
  • 64. Users are connected through social objects Are connected through https://developers.facebook.com/docs/concepts/opengraph/ Modified Jarrar © 2013 64
  • 65. Why Facebook choose Open Graph • It is a minimal RDFa. • Facebook needs one namespace and one prefix! They didn’t like the following: <html xmlns="http://www.w3.org/1999/xhtml" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:dc="http://purl.org/dc/elements/1.1/"> <meta property="dc:creator" content=―Mohammad ZeinEddin" /> <link rel="foaf:primaryTopic" href="http://example.org/john-d/#me" /> • Facebook reuse one html tag attribute: <meta property="og:title" content=―Mohammad ZeinEddin"/> Jarrar © 2013 65
  • 66. Facebook Graph Search FB? Oracle? When can we Google the web in this way Jarrar © 2013 66
  • 67. Conclusion (Informally Speaking) From Web of documents to Web of Objects Jarrar © 2013 67
  • 68. Related Research @Birzeit Arabic Ontology MashQL for (Query/mashing up web data) Jarrar © 2013 68
  • 69. MashQL This research was initiated at the University of Cyprus A language for querying and Mashing up the Web 3.0 With the following assumptions in mind:  The user does not know the schema.  There is no offline or inline schemaontology.  The query may involve multiple sources.  an expressive language. (not a single-purpose interface) Jarrar © 2013 69
  • 70. Example 1 “Lara’s articles after 2007?” RDF Input From: http://www.site1.com/rdf www.site1.com/rdf :B1 :B1 :B1 :B1 :B2 :B2 :Title “Linked Data” :Author “Lara T.” :PubYear 2008 :Publisher “Springer” :Title “Data on the Web” :Author “Abiteboul S.” http://www.site2.com/rdf www.site2.com/rdf :A1 :A1 :A1 :A1 :A1 :A2 :A2 :A2 :A2 Query Everything Author ―^Lara‖ YearPubYear > 2007 Title ArticleTitle rdf:Type bibo:Article :Title “Data Web” :Author “Tom Lara” :Author “Bob Hacker” :Year 2007 rdf:Type bibo:Article :Title “Semantic Web” :Author “Tom Lara” :Year 2005  Interactive Query Formulation.  MashQL queries are translated into and executed as SPARQL. Jarrar © 2013 70
  • 71. Example 1 “Lara’s articles after 2007?” RDF Input From: http://www.site1.com/rdf www.site1.com/rdf :B1 :B1 :B1 :B1 :B2 :B2 :Title “Linked Data” :Author “Lara T.” :PubYear 2008 :Publisher “Springer” :Title “Data on the Web” :Author “Abiteboul S.” http://www.site2.com/rdf www.site2.com/rdf :A1 :A1 :A1 :A1 :A1 :A2 :A2 :A2 :A2 Query Everything Jarrar © 2013 rdf:Type bibo:Article :Title “Data Web” :Author “Tom Lara” :Author “Bob Hacker” :Year 2007 rdf:Type bibo:Article :Title “Semantic Web” :Author “Tom Lara” :Year 2005 71
  • 72. Example 1 “Lara’s articles after 2007?” RDF Input From: http://www.site1.com/rdf www.site1.com/rdf :B1 :B1 :B1 :B1 :B2 :B2 :Title “Linked Data” :Author “Lara T.” :PubYear 2008 :Publisher “Springer” :Title “Data on the Web” :Author “Abiteboul S.” http://www.site2.com/rdf www.site2.com/rdf :A1 :A1 :A1 :A1 :A1 :A2 :A2 :A2 :A2 Query Everything Everything Article A1 A2 B1 Types Individuals rdf:Type bibo:Article :Title “Data Web” :Author “Tom Lara” :Author “Bob Hacker” :Year 2007 rdf:Type bibo:Article :Title “Semantic Web” :Author “Tom Lara” :Year 2005 Background queries SELECT X WHERE {?X ?P ?O} Union SELECT X WHERE {?S ?P ?X} SELECT X WHERE {?S rdf:Type ?X} Jarrar © 2013 72
  • 73. Example 1 “Lara’s articles after 2007?” RDF Input From: http://www.site1.com/rdf www.site1.com/rdf :B1 :B1 :B1 :B1 :B2 :B2 :Title “Linked Data” :Author “Lara T.” :PubYear 2008 :Publisher “Springer” :Title “Data on the Web” :Author “Abiteboul S.” http://www.site2.com/rdf www.site2.com/rdf :A1 :A1 :A1 :A1 :A1 :A2 :A2 :A2 :A2 Query Everything Author Author Title PubYear Type Year Contains Lara Equals Equals Contains Contains OneOf Not Between LessThan MoreThan rdf:Type bibo:Article :Title “Data Web” :Author “Tom Lara” :Author “Bob Hacker” :Year 2007 rdf:Type bibo:Article :Title “Semantic Web” :Author “Tom Lara” :Year 2005 Background query SELECT P WHERE {?Everything ?P ?O} Jarrar © 2013 73
  • 74. Example 1 “Lara’s articles after 2007?” RDF Input From: http://www.site1.com/rdf www.site1.com/rdf :B1 :B1 :B1 :B1 :B2 :B2 :Title “Linked Data” :Author “Lara T.” :PubYear 2008 :Publisher “Springer” :Title “Data on the Web” :Author “Abiteboul S.” http://www.site2.com/rdf www.site2.com/rdf :A1 :A1 :A1 :A1 :A1 :A2 :A2 :A2 :A2 Query Everything Author ―^Lara Year PubYear Author Title PubYear Type Year MoreTh 2007 Equals Equals Contains OneOf Not Between LessThan MoreThan MoreThan rdf:Type bibo:Article :Title “Data Web” :Author “Tom Lara” :Author “Bob Hacker” :Year 2007 rdf:Type bibo:Article :Title “Semantic Web” :Author “Tom Lara” :Year 2005 Background query SELECT P WHERE {?Everything ?P ?O} Jarrar © 2013 74
  • 75. Example 1 “Lara’s articles after 2007?” RDF Input From: http://www.site1.com/rdf www.site1.com/rdf :B1 :B1 :B1 :B1 :B2 :B2 :Title “Linked Data” :Author “Lara T.” :PubYear 2008 :Publisher “Springer” :Title “Data on the Web” :Author “Abiteboul S.” http://www.site2.com/rdf www.site2.com/rdf :A1 :A1 :A1 :A1 :A1 :A2 :A2 :A2 :A2 Query Everything Author ―^Lara YearPubYear > 2007 Title Author Author Title Title PubYear Type Year ArticleTitle rdf:Type bibo:Article :Title “Data Web” :Author “Tom Lara” :Author “Bob Hacker” :Year 2007 rdf:Type bibo:Article :Title “Semantic Web” :Author “Tom Lara” :Year 2005 Background query SELECT P WHERE {?Everything ?P ?O} Jarrar © 2013 75
  • 76. Example 1 “Lara’s articles after 2007?” RDF Input From: http://www.site1.com/rdf www.site1.com/rdf :B1 :B1 :B1 :B1 :B2 :B2 :Title “Linked Data” :Author “Lara T.” :PubYear 2008 :Publisher “Springer” :Title “Data on the Web” :Author “Abiteboul S.” http://www.site2.com/rdf www.site2.com/rdf :A1 :A1 :A1 :A1 :A1 :A2 :A2 :A2 :A2 Query Everything Author ―^Lara YearPubYear > 2007 Title ArticleTitle rdf:Type bibo:Article :Title “Data Web” :Author “Tom Lara” :Author “Bob Hacker” :Year 2007 rdf:Type bibo:Article :Title “Semantic Web” :Author “Tom Lara” :Year 2005 PREFIX S1: <http://site1.com/rdf> PREFIX S2: <http://site1.com/rdf> SELECT ?ArticleTitle FROM <http://site1.com/rdf> FROM <http://site2.com/rdf> WHERE { {?X S1:Author ?X1} UNION {?X S2:Author ?X1} {?X S1:PubYear ?X2} UNION {?X S2:Year ?X2} {{?X S1:Title ?ArticleTitle} UNION {?X S2:Title ?ArticleTitle}} FILTER regex(?X1, “^Hacker”) JarrarFILTER (?X2 © 2013 > 2000)} 76
  • 77. Example 2 “Recent articles from Cyprus?” Query Article Title ArticleTitle Author Address Country ―Cyprus‖ Year > 2008  Retrieve every Article that: has a title, written by author, who has address, this address has a country called Cyprus, and the article is published after 2008. Jarrar © 2013 77
  • 78. MashQL Editor       Alpha version (Not public YET!) Web Ajax-based. Open sources Java Script libraries (from Yahoo) Oracle 11g as RDF store. Graphs Signature Index for fast user-interaction. URI Normalization based on heuristics. (but some URIs are too cryptic) Jarrar © 2013 78
  • 79. MashQL Firefox Add-On (Light-mashups @ your browser) The browser becomes a web composer (not only a navigator ) Jarrar © 2013 79
  • 80. Evaluation (DBLP, Experiment 1) (User Interaction Response Time) How long it takes to generate the next list? Query Any Article  O:(?S Type ?O)   Title ―^World-Wide Web‖  Creator Type Name Year Query Q1 Q2 Q3 Q4  Person   ―^Berners-Lee‖   P:(?S Type Article)(?S ?P ?O1)  P:(?S Type Article) (?S Creator ?O1) (?O1 ?P ?O2)  O:(?S Type Article) (?S Creator ?O1)(?O1 Type ?O) > 2007 DBLP (9M triples) GS Oracle 0.003 0.001 0.001 0.001 0.005 0.136 0.187 1.208 DBLP (4M triples) GS Oracle 0.003 0.001 0.001 0.001 Jarrar © 2013 0.004 0.148 0.846 0.835 DBLP (2M triples) GS Oracle 0.003 0.001 0.001 0.001 0.003 0.108 0.671 0.650 80
  • 81. Evaluation (DBPedia, Experiment 2)  P:(?S :Type :Album) (?S :PreviousAlbum ?O1) (?O1 ?P ? O2) Query Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 DBPedia (32 M) 0.003 0.002 0.005 0.005 0.005 0.005 0.007 0.005 0.007 DBPedia (16 M) DBPedia (8 M) 0.003 0.003 0.002 0.002 0.004 0.003 0.004 0.004 0.004 0.004 0.005 0.005 0.007 0.007 0.005 0.005 0.007 © 2013 0.007 Jarrar DBPedia (4 M) 0.003 0.002 0.003 0.004 0.004 0.005 0.007 0.005 0.006 81
  • 82. Evaluation (DBPedia, Experiment 3)  P3:(?S Type ?Album) (?S ?RelatedTo1 ?O1) (?O1 ?RelatedT02 ?O2) (?O2 ?P3 ?O4) Query Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 (B32) 32 M GS Oracle 0.001 0.027 0.026 17.450 0.048 49.656 0.087 5348.774 0.135 0.185 0.234 0.265 0.280 - DBPedia (16 M ) 0.001 0.010 0.010 0.022 0.036 0.055 0.076 0.098 Jarrar0.110 © 2013 DBPedia (8 M ) 0.001 0.006 0.011 0.017 0.032 0.047 0.061 0.077 0.092 DBPedia (4 M ) 0.001 0.005 0.010 0.011 0.011 0.016 0.023 0.027 0.034 82
  • 83. Graph Signature (a native RDF Index) • Summary of all paths. • We query the Graph Signature instead of the Data Graph. Jarrar © 2013 83
  • 84. Conclusions  ―Query and mash up the Data Web as simple as filtering up Web Feeds‖ is a query formulation problem.  End-users can navigate, query, and mash up unknown graphs. without knowing the schema. Data is schema-free. Multiple sources.  MashQL is expressive as SPARQL. Except NAMED GRAPH.  MashQL is not merely a SPARQL interface, or limited RDF. It has its own path-pattern intuition (can be similarly used for XML and DB). Jarrar © 2013 84
  • 85. Thank You Download the slides from www.jarrar.info Reading: Mustafa Jarrar and Marios D. Dikaiakos: A Data Mashup Language for the Data Web. Proceedings of LDOW, WWW'09. ACM. ISSN 1613-0073. (2009). http://www.jarrar.info/publications/JD09.pdf.htm Mustafa Jarrar and Marios D. Dikaiakos: MashQL: A Query-by-Diagram Language Towards Semantic Data Mashups. Proceedings of ONISW'08, part of the ACM CiKM conference. ACM. pages (89-96) ISBN 9781605582559. (2008). http://www.jarrar.info/publications/onisw10-jarrar.pdf.htm Jarrar © 2013 85