SlideShare une entreprise Scribd logo
1  sur  85
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

Contenu connexe

Tendances

Introduction to the Semantic Web
Introduction to the Semantic WebIntroduction to the Semantic Web
Introduction to the Semantic WebTomek Pluskiewicz
 
Semantic web technology
Semantic web technologySemantic web technology
Semantic web technologyStanley Wang
 
Social Semantic Web on Facebook Open Graph protocol and Twitter Annotations
Social Semantic Web on Facebook Open Graph protocol and Twitter AnnotationsSocial Semantic Web on Facebook Open Graph protocol and Twitter Annotations
Social Semantic Web on Facebook Open Graph protocol and Twitter AnnotationsMyungjin Lee
 
Explaining The Semantic Web
Explaining The Semantic WebExplaining The Semantic Web
Explaining The Semantic WebSourav Sharma
 
Chapter 1 semantic web
Chapter 1 semantic webChapter 1 semantic web
Chapter 1 semantic webR A Akerkar
 
Semantic Web: an Introduction
Semantic Web: an IntroductionSemantic Web: an Introduction
Semantic Web: an IntroductionLuigi De Russis
 
Semantic web Document
Semantic web DocumentSemantic web Document
Semantic web Documentap
 
Semantic Web 2.0: Creating Social Semantic Information Spaces
Semantic Web 2.0: Creating Social Semantic Information SpacesSemantic Web 2.0: Creating Social Semantic Information Spaces
Semantic Web 2.0: Creating Social Semantic Information SpacesJohn Breslin
 
The Semantic Web: An Introduction
The Semantic Web: An IntroductionThe Semantic Web: An Introduction
The Semantic Web: An IntroductionElena Simperl
 
Web 3.0 explained with a stamp (pt II: techniques)
Web 3.0 explained with a stamp (pt II: techniques)Web 3.0 explained with a stamp (pt II: techniques)
Web 3.0 explained with a stamp (pt II: techniques)Freek Bijl
 
Introduction to the Semantic Web
Introduction to the Semantic WebIntroduction to the Semantic Web
Introduction to the Semantic WebMarin Dimitrov
 
semantic web-unique presentation
semantic web-unique presentationsemantic web-unique presentation
semantic web-unique presentationramesh kumar
 
The semantic web
The semantic web The semantic web
The semantic web ap
 
Semantic web
Semantic webSemantic web
Semantic webRehithaP
 
Web evolution,Walfram Aplha
Web evolution,Walfram AplhaWeb evolution,Walfram Aplha
Web evolution,Walfram AplhaIslem Betta
 

Tendances (20)

Introduction to the Semantic Web
Introduction to the Semantic WebIntroduction to the Semantic Web
Introduction to the Semantic Web
 
Semantic web technology
Semantic web technologySemantic web technology
Semantic web technology
 
Social Semantic Web on Facebook Open Graph protocol and Twitter Annotations
Social Semantic Web on Facebook Open Graph protocol and Twitter AnnotationsSocial Semantic Web on Facebook Open Graph protocol and Twitter Annotations
Social Semantic Web on Facebook Open Graph protocol and Twitter Annotations
 
Semantic web
Semantic webSemantic web
Semantic web
 
Explaining The Semantic Web
Explaining The Semantic WebExplaining The Semantic Web
Explaining The Semantic Web
 
Chapter 1 semantic web
Chapter 1 semantic webChapter 1 semantic web
Chapter 1 semantic web
 
Taking Advantage of Semantic Web
Taking Advantage of Semantic WebTaking Advantage of Semantic Web
Taking Advantage of Semantic Web
 
Semantic Web: an Introduction
Semantic Web: an IntroductionSemantic Web: an Introduction
Semantic Web: an Introduction
 
Semantic web Document
Semantic web DocumentSemantic web Document
Semantic web Document
 
Semantic Web 2.0: Creating Social Semantic Information Spaces
Semantic Web 2.0: Creating Social Semantic Information SpacesSemantic Web 2.0: Creating Social Semantic Information Spaces
Semantic Web 2.0: Creating Social Semantic Information Spaces
 
The Semantic Web: An Introduction
The Semantic Web: An IntroductionThe Semantic Web: An Introduction
The Semantic Web: An Introduction
 
Web 3.0 explained with a stamp (pt II: techniques)
Web 3.0 explained with a stamp (pt II: techniques)Web 3.0 explained with a stamp (pt II: techniques)
Web 3.0 explained with a stamp (pt II: techniques)
 
Introduction to the Semantic Web
Introduction to the Semantic WebIntroduction to the Semantic Web
Introduction to the Semantic Web
 
semantic web-unique presentation
semantic web-unique presentationsemantic web-unique presentation
semantic web-unique presentation
 
The semantic web
The semantic web The semantic web
The semantic web
 
Semantic web Santhosh N Basavarajappa
Semantic web   Santhosh N BasavarajappaSemantic web   Santhosh N Basavarajappa
Semantic web Santhosh N Basavarajappa
 
Semantic web
Semantic webSemantic web
Semantic web
 
Semantic web
Semantic webSemantic web
Semantic web
 
Web evolution,Walfram Aplha
Web evolution,Walfram AplhaWeb evolution,Walfram Aplha
Web evolution,Walfram Aplha
 
Quick Introduction to the Semantic Web, RDFa & Microformats
Quick Introduction to the Semantic Web, RDFa & MicroformatsQuick Introduction to the Semantic Web, RDFa & Microformats
Quick Introduction to the Semantic Web, RDFa & Microformats
 

En vedette

A Semantic Data Model for Web Applications
A Semantic Data Model for Web ApplicationsA Semantic Data Model for Web Applications
A Semantic Data Model for Web ApplicationsArmin Haller
 
Linked Data Tutorial
Linked Data TutorialLinked Data Tutorial
Linked Data TutorialSören Auer
 
Jarrar: Architectural Solutions in Data Integration
Jarrar: Architectural Solutions in Data IntegrationJarrar: Architectural Solutions in Data Integration
Jarrar: Architectural Solutions in Data IntegrationMustafa Jarrar
 
Jarrar: Subtype Relations and Constraints
Jarrar: Subtype Relations and ConstraintsJarrar: Subtype Relations and Constraints
Jarrar: Subtype Relations and ConstraintsMustafa Jarrar
 
Jarrar: SPARQL - RDF Query Language
Jarrar: SPARQL - RDF Query LanguageJarrar: SPARQL - RDF Query Language
Jarrar: SPARQL - RDF Query LanguageMustafa Jarrar
 
Jarrar: Web 2 Data Mashups
Jarrar: Web 2 Data MashupsJarrar: Web 2 Data Mashups
Jarrar: Web 2 Data MashupsMustafa Jarrar
 
Jarrar: Data Integration and Fusion using RDF
Jarrar: Data Integration and Fusion using RDFJarrar: Data Integration and Fusion using RDF
Jarrar: Data Integration and Fusion using RDFMustafa Jarrar
 
Jarrar: Sparql Project
Jarrar: Sparql ProjectJarrar: Sparql Project
Jarrar: Sparql ProjectMustafa Jarrar
 
Jarrar: Knowledge Engineering- Course Outline
Jarrar: Knowledge Engineering- Course OutlineJarrar: Knowledge Engineering- Course Outline
Jarrar: Knowledge Engineering- Course OutlineMustafa Jarrar
 
Jarrar: Introduction to Data Integration
Jarrar: Introduction to Data IntegrationJarrar: Introduction to Data Integration
Jarrar: Introduction to Data IntegrationMustafa Jarrar
 
Jarrar: RDF Stores: Challenges and Solutions
Jarrar: RDF Stores: Challenges and SolutionsJarrar: RDF Stores: Challenges and Solutions
Jarrar: RDF Stores: Challenges and SolutionsMustafa Jarrar
 
Jarrar: RDFs -RDF Schema
Jarrar: RDFs -RDF SchemaJarrar: RDFs -RDF Schema
Jarrar: RDFs -RDF SchemaMustafa Jarrar
 
Jarrar: Data Fusion using RDF
Jarrar: Data Fusion using RDFJarrar: Data Fusion using RDF
Jarrar: Data Fusion using RDFMustafa Jarrar
 
Jarrar: The Next Generation of the Web 3.0: The Semantic Web Vesion
Jarrar: The Next Generation of the Web 3.0: The Semantic Web VesionJarrar: The Next Generation of the Web 3.0: The Semantic Web Vesion
Jarrar: The Next Generation of the Web 3.0: The Semantic Web VesionMustafa Jarrar
 
Jarrar: OWL -Web Ontology Language
Jarrar: OWL -Web Ontology LanguageJarrar: OWL -Web Ontology Language
Jarrar: OWL -Web Ontology LanguageMustafa Jarrar
 
Jarrar: RDF Stores -Challenges and Solutions
Jarrar: RDF Stores -Challenges and SolutionsJarrar: RDF Stores -Challenges and Solutions
Jarrar: RDF Stores -Challenges and SolutionsMustafa Jarrar
 
Jarrar: OWL (Web Ontology Language)
Jarrar: OWL (Web Ontology Language)Jarrar: OWL (Web Ontology Language)
Jarrar: OWL (Web Ontology Language)Mustafa Jarrar
 

En vedette (20)

A Semantic Data Model for Web Applications
A Semantic Data Model for Web ApplicationsA Semantic Data Model for Web Applications
A Semantic Data Model for Web Applications
 
Linked Data Tutorial
Linked Data TutorialLinked Data Tutorial
Linked Data Tutorial
 
Jarrar: Architectural Solutions in Data Integration
Jarrar: Architectural Solutions in Data IntegrationJarrar: Architectural Solutions in Data Integration
Jarrar: Architectural Solutions in Data Integration
 
Jarrar: Subtype Relations and Constraints
Jarrar: Subtype Relations and ConstraintsJarrar: Subtype Relations and Constraints
Jarrar: Subtype Relations and Constraints
 
Jarrar: SPARQL - RDF Query Language
Jarrar: SPARQL - RDF Query LanguageJarrar: SPARQL - RDF Query Language
Jarrar: SPARQL - RDF Query Language
 
Jarrar: Web 2 Data Mashups
Jarrar: Web 2 Data MashupsJarrar: Web 2 Data Mashups
Jarrar: Web 2 Data Mashups
 
Jarrar: Zinnar
Jarrar: ZinnarJarrar: Zinnar
Jarrar: Zinnar
 
Jarrar: Data Integration and Fusion using RDF
Jarrar: Data Integration and Fusion using RDFJarrar: Data Integration and Fusion using RDF
Jarrar: Data Integration and Fusion using RDF
 
Jarrar: Linked Data
Jarrar: Linked DataJarrar: Linked Data
Jarrar: Linked Data
 
Jarrar: Sparql Project
Jarrar: Sparql ProjectJarrar: Sparql Project
Jarrar: Sparql Project
 
Jarrar: Knowledge Engineering- Course Outline
Jarrar: Knowledge Engineering- Course OutlineJarrar: Knowledge Engineering- Course Outline
Jarrar: Knowledge Engineering- Course Outline
 
Jarrar: Introduction to Data Integration
Jarrar: Introduction to Data IntegrationJarrar: Introduction to Data Integration
Jarrar: Introduction to Data Integration
 
Jarrar: RDF Stores: Challenges and Solutions
Jarrar: RDF Stores: Challenges and SolutionsJarrar: RDF Stores: Challenges and Solutions
Jarrar: RDF Stores: Challenges and Solutions
 
Jarrar: RDFs -RDF Schema
Jarrar: RDFs -RDF SchemaJarrar: RDFs -RDF Schema
Jarrar: RDFs -RDF Schema
 
Jarrar: Data Fusion using RDF
Jarrar: Data Fusion using RDFJarrar: Data Fusion using RDF
Jarrar: Data Fusion using RDF
 
Jarrar: RDFa
Jarrar: RDFaJarrar: RDFa
Jarrar: RDFa
 
Jarrar: The Next Generation of the Web 3.0: The Semantic Web Vesion
Jarrar: The Next Generation of the Web 3.0: The Semantic Web VesionJarrar: The Next Generation of the Web 3.0: The Semantic Web Vesion
Jarrar: The Next Generation of the Web 3.0: The Semantic Web Vesion
 
Jarrar: OWL -Web Ontology Language
Jarrar: OWL -Web Ontology LanguageJarrar: OWL -Web Ontology Language
Jarrar: OWL -Web Ontology Language
 
Jarrar: RDF Stores -Challenges and Solutions
Jarrar: RDF Stores -Challenges and SolutionsJarrar: RDF Stores -Challenges and Solutions
Jarrar: RDF Stores -Challenges and Solutions
 
Jarrar: OWL (Web Ontology Language)
Jarrar: OWL (Web Ontology Language)Jarrar: OWL (Web Ontology Language)
Jarrar: OWL (Web Ontology Language)
 

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

Jarrar: Introduction to Linked Data
Jarrar: Introduction to Linked DataJarrar: Introduction to Linked Data
Jarrar: Introduction to Linked DataMustafa Jarrar
 
RDFa: an introduction
RDFa: an introductionRDFa: an introduction
RDFa: an introductionKai Li
 
The Web of data and web data commons
The Web of data and web data commonsThe Web of data and web data commons
The Web of data and web data commonsJesse Wang
 
SemWeb Fundamentals - Info Linking & Layering in Practice
SemWeb Fundamentals - Info Linking & Layering in PracticeSemWeb Fundamentals - Info Linking & Layering in Practice
SemWeb Fundamentals - Info Linking & Layering in PracticeDan Brickley
 
Linked Data and Locah, UKSG2011
Linked Data and Locah, UKSG2011 Linked Data and Locah, UKSG2011
Linked Data and Locah, UKSG2011 Jane Stevenson
 
Jarrar: Web 2.0 Data Mashups
Jarrar: Web 2.0 Data Mashups Jarrar: Web 2.0 Data Mashups
Jarrar: Web 2.0 Data Mashups Mustafa Jarrar
 
RDFa Introductory Course Session 3/4 Why RDFa
RDFa Introductory Course Session 3/4 Why RDFaRDFa Introductory Course Session 3/4 Why RDFa
RDFa Introductory Course Session 3/4 Why RDFaPlatypus
 
Search Engines After The Semanatic Web
Search Engines After The Semanatic WebSearch Engines After The Semanatic Web
Search Engines After The Semanatic Websamar_slideshare
 
Semantic web and Linked Data
Semantic web and Linked DataSemantic web and Linked Data
Semantic web and Linked DataHyun Namgoong
 
20100614 ISWSA Keynote
20100614 ISWSA Keynote20100614 ISWSA Keynote
20100614 ISWSA KeynoteAxel Polleres
 
Sears web30e connectionartificialintelligence
Sears web30e connectionartificialintelligenceSears web30e connectionartificialintelligence
Sears web30e connectionartificialintelligencehrpiza
 
Sears web30e connectionartificialintelligence
Sears web30e connectionartificialintelligenceSears web30e connectionartificialintelligence
Sears web30e connectionartificialintelligencehrpiza
 
Web3.0 or The semantic web
Web3.0 or The semantic webWeb3.0 or The semantic web
Web3.0 or The semantic webDarren Wood
 
RDFa Introductory Course Session 4/4 When RDFa
RDFa Introductory Course Session 4/4 When RDFaRDFa Introductory Course Session 4/4 When RDFa
RDFa Introductory Course Session 4/4 When RDFaPlatypus
 
Introduction to the Social Semantic Web
Introduction to the Social Semantic WebIntroduction to the Social Semantic Web
Introduction to the Social Semantic Webmdabrowski
 

Similaire à Jarrar: The Next Generation of the Web 3.0: The Semantic Web (20)

Jarrar: Introduction to Linked Data
Jarrar: Introduction to Linked DataJarrar: Introduction to Linked Data
Jarrar: Introduction to Linked Data
 
Linked Data
Linked DataLinked Data
Linked Data
 
RDFa: an introduction
RDFa: an introductionRDFa: an introduction
RDFa: an introduction
 
The Web of data and web data commons
The Web of data and web data commonsThe Web of data and web data commons
The Web of data and web data commons
 
SemWeb Fundamentals - Info Linking & Layering in Practice
SemWeb Fundamentals - Info Linking & Layering in PracticeSemWeb Fundamentals - Info Linking & Layering in Practice
SemWeb Fundamentals - Info Linking & Layering in Practice
 
Linked Data and Locah, UKSG2011
Linked Data and Locah, UKSG2011 Linked Data and Locah, UKSG2011
Linked Data and Locah, UKSG2011
 
Jarrar: Web 2.0 Data Mashups
Jarrar: Web 2.0 Data Mashups Jarrar: Web 2.0 Data Mashups
Jarrar: Web 2.0 Data Mashups
 
Why rdfa
Why rdfaWhy rdfa
Why rdfa
 
RDFa Introductory Course Session 3/4 Why RDFa
RDFa Introductory Course Session 3/4 Why RDFaRDFa Introductory Course Session 3/4 Why RDFa
RDFa Introductory Course Session 3/4 Why RDFa
 
Search Engines After The Semanatic Web
Search Engines After The Semanatic WebSearch Engines After The Semanatic Web
Search Engines After The Semanatic Web
 
Danbri Drupalcon Export
Danbri Drupalcon ExportDanbri Drupalcon Export
Danbri Drupalcon Export
 
Semantic web and Linked Data
Semantic web and Linked DataSemantic web and Linked Data
Semantic web and Linked Data
 
20100614 ISWSA Keynote
20100614 ISWSA Keynote20100614 ISWSA Keynote
20100614 ISWSA Keynote
 
Sears web30e connectionartificialintelligence
Sears web30e connectionartificialintelligenceSears web30e connectionartificialintelligence
Sears web30e connectionartificialintelligence
 
Sears web30e connectionartificialintelligence
Sears web30e connectionartificialintelligenceSears web30e connectionartificialintelligence
Sears web30e connectionartificialintelligence
 
Semantic Web, e-commerce
Semantic Web, e-commerceSemantic Web, e-commerce
Semantic Web, e-commerce
 
Web3.0 or The semantic web
Web3.0 or The semantic webWeb3.0 or The semantic web
Web3.0 or The semantic web
 
RDFa Introductory Course Session 4/4 When RDFa
RDFa Introductory Course Session 4/4 When RDFaRDFa Introductory Course Session 4/4 When RDFa
RDFa Introductory Course Session 4/4 When RDFa
 
When RDFa?
When RDFa?When RDFa?
When RDFa?
 
Introduction to the Social Semantic Web
Introduction to the Social Semantic WebIntroduction to the Social Semantic Web
Introduction to the Social Semantic Web
 

Dernier

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 

Dernier (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 

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 mjarrar@birzeit.edu 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