+ All Categories
Home > Documents > 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases...

1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases...

Date post: 15-Dec-2015
Category:
Upload: kelly-cozens
View: 214 times
Download: 1 times
Share this document with a friend
Popular Tags:
79
Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/a 1 Advanced databases – Defining and combining heterogeneous databases: The Semantic Web Bettina Berendt Katholieke Universiteit Leuven, Department of Computer Science http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/ ast update: 1 November 2007
Transcript
Page 1: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

1Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

1

Advanced databases –

Defining and combining heterogeneous databases:

The Semantic Web

Bettina Berendt

Katholieke Universiteit Leuven, Department of Computer Science

http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

Last update: 1 November 2007

Page 2: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

2Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

2

Agenda

The Semantic Web: Motivation and overview

Very brief recap of XML (& why it’s not semantic)

RDF and RDFS

OWL

Ex.s of standardization: E-commerce, social networks

Page 3: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

3Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

3

Problems with current search engines

Current search engines = (mostly) keywords:

low precision (… and recall?)

sensitive to vocabulary

insensitive to implicit content

Page 4: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

4Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

4

Search engines on the Semantic Web

concept search instead of keyword search

semantic narrowing/widening of queries

query-answering over >1 document

document transformation operators

Two classes of approaches

Page 5: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

5Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

5

Resolving content problems: Example homonymy

<html>

<head>

<title>A page about jaguars</title>

<meta name=„description“ content=„animals, cats“>

</head>

(Solution approach I)

OR ...

Page 6: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

6Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

6

Homonymy: Solution approach II

Page 7: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

7Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

7

Homonymy: Solution approach III

Page 8: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

8Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

8

Resolving quality problems

How to find out whether a page is good, important, etc.?

<meta name=„isEndorsedBy“ content=„anImportantPerson“>

OR

(PageRank)

Page 9: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

9Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

9

Semantic non-interoperability has real consequences ...

Page 10: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

10Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

10

The Semantic Web: overview

The semantic web is an evolving extension of the World Wide Web in which web content can be expressed not only in natural language, but also in a format that can be read and used by software agents, thus permitting them to find, share and integrate information more easily.

It derives from W3C director Sir Tim Berners-Lee's vision of the Web as a universal medium for data, information, and knowledge exchange.

At its core, the semantic web comprises a philosophy, a set of design principles, collaborative working groups, and a variety of enabling technologies.

Some elements of the semantic web are expressed as prospective future possibilities that have yet to be implemented or realized.

Other elements of the semantic web are expressed in formal specifications.

Some of these include Resource Description Framework (RDF), a variety of data interchange formats (e.g. RDF/XML, N3, Turtle, N-Triples), and notations such as RDF Schema (RDFS) and the Web Ontology Language (OWL), all of which are intended to provide a formal description of concepts, terms, and relationships within a given knowledge domain.

Page 11: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

11Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

11

The Semantic Web layer cake (T. Berners-Lee talk at XML 2000)

RDF: W3C Rec. 2004

OWL: W3C Rec. 2004

Page 12: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

12Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

12

The original vision (or: semantics for interoperability)

The entertainment system was belting out the Beatles' "We Can Work It Out" when the phone rang. When Pete answered, his phone turned the sound down by sending a message to all the other local devices that had a volume control. His sister, Lucy, was on the line from the doctor's office: "Mom needs to see a specialist and then has to have a series of physical therapy sessions. Biweekly or something. I'm going to have my agent set up the appointments." Pete immediately agreed to share the chauffeuring.

At the doctor's office, Lucy instructed her Semantic Web agent through her handheld Web browser. The agent promptly retrieved information about Mom's prescribed treatment from the doctor's agent, looked up several lists of providers, and checked for the ones in-plan for Mom's insurance within a 20-mile radius of her home and with a rating of excellent or very good on trusted rating services. It then began trying to find a match between available appointment times (supplied by the agents of individual providers through their Web sites) and Pete's and Lucy's busy schedules. (The emphasized keywords indicate terms whose semantics, or meaning, were defined for the agent through the Semantic Web.)

Tim Berners-Lee, James Hendler and Ora Lassila (2001). The Semantic Web. A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities. Scientific American. http://www.sciam.com/article.cfm?articleID=00048144-10D2-1C70-84A9809EC588EF21

Page 13: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

13Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

13

Update 2006: decentralization, bottom-up engineering

Q: Project failure is a big subject in the UK and you've been involved in a massive ongoing IT project - what have you learned from it that could benefit our members?

A: [...] But I think IT projects are about supporting social systems - about communications between people and machines. They tend to fail due to cultural issues. [...]

The view we are taking with the Semantic Web is interesting here. In the past scientists have been trained to do things top down. In the business world projects are often the boss's vision made flesh.

Even software engineering is about taking an idea and breaking it into smaller pieces to work on - but the software project is itself part of something larger. To make this better we need Web-like approaches - I'm not talking about HTML here but, rather, an interconnected approach.

The Semantic Web approach can be visualized as rigid platelets of information loosely sewn together at the edges - rich in local knowledge, but capable of linking to things in the outside world. That approach would benefit the social aspects of projects.

Page 14: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

14Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

14

Update 2006: The Semantic Web and databases

Q; [...] the application of [ontologies] would clearly see a true Semantic Web, but how can we apply these principles to the billions of existing Web pages?

Don't. Web pages are designed for people. For the Semantic Web we need to look at existing databases and the data in them.

To make this information useful semantically requires a sequence of events:

1. Do a model of what's in the database - which would give you an ontology you could work out on the back of an envelope. Write it in RDF Schema or OWL (the Web Ontology Language). 2. Find out who else has already got equivalent terms in an ontology. For those things use their terms instead. 3. Write down how your database connects to those things.

Using this information you can set up a Web server that runs resource description framework (RDF). A larger database could support queries.

Page 15: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

15Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

15

Update 2006: Identifiers, human-machine collaboration

To make all this really useful it's important that all important things - such as customers and products - have  URIs (Uniform Resource Identifiers) - for example, http:// example.com/products.rdf#hairdryers - so invoices, shipping notes, product specifications and so on can refer to them.

These would all be virtual RDF files - the server would generate them on the fly and it would all be available on the Semantic Web. Then an individual could compare products directly by their specifications, weight and delivery charges, price and so on, in a way that HTML won't allow.

(last 3 slides from:

Isn't it semantic? Interview with Tim Berners-Lee on BCS. 2006. http://www.bcs.org/server.php?show=ConWebDoc.3337)

Page 16: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

16Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

16What does this “buy us”?A motivating example: Bridging the Terminology Gap using OWL

A key problem in achieving interoperability is to be able to recognize that two pieces of data are talking about the same thing, even though different terminology is being used.

The following slides presents an example to show how OWL may be used to bridge the "terminology gap".

Page 17: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

17Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

17

Interested in Purchasing a Camera

Scenario:

I am interested in purchasing a camera with a 75-300mm zoom lens size, that has an aperture of 4.5-5.6, and a shutter speed that ranges from 1/500 sec. to 1.0 sec.

I launch my personal "Web Bot" which crawls the Web looking for Web sites that can fulfill my request.

Assume that there exists an OWL Camera Ontology, which the Web Bot can "consult" upon its travels across the Web.

Page 18: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

18Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

18

Is this document relevant?

<PhotographyStore rdf:ID="Hunts" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <store-location>Malden, MA</store-location> <phone>617-555-1234</phone> <catalog rdf:parseType="Collection"> <SLR rdf:ID="Olympus-OM-10" xmlns="http://www.camera.org#"> <lens> <Lens> <focal-length>75-300mm zoom</focal-length> <f-stop>4.5-5.6</f-stop> </Lens> </lens> <body> <Body> <shutter-speed rdf:parseType="Resource"> <min>0.002</min> <max>1.0</max> <units>seconds</units> </shutter-speed> </Body> </body> <cost rdf:parseType="Resource"> <rdf:value>325</rdf:value> <currency>USD</currency> </cost> </SLR> </catalog></PhotographyStore>

The Web Bot finds this document at a Web site:

Is it relevant? (Note: SLR = Single Lens Reflex)

Page 19: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

19Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

19A Match?

Match?

To determine if there is a match, these questions must be answered: 1. What's the relationship between "SLR" and "Camera"? 2. What's the relationship between "focal-length" and "size"? 3. What's the relationship between "f-stop" and "aperture"?

<PhotographyStore rdf:ID="Hunts" xmlns:rdf="&rdf;#"> <store-location>Malden, MA</store-location> <phone>617-555-1234</phone> <catalog rdf:parseType="Collection"> <SLR rdf:ID="Olympus-OM-10" xmlns="http://www.camera.org#"> <lens> <Lens> <focal-length>75-300mm zoom</focal-length> <f-stop>4.5-5.6</f-stop> </Lens> </lens> <body> <Body> <shutter-speed rdf:parseType="Resource"> <min>0.002</min> <max>1.0</max> <units>seconds</units> </shutter-speed> </Body> </body> <cost rdf:parseType="Resource"> <rdf:value>325</rdf:value> <currency>USD</currency> </cost> </SLR> </catalog></PhotographyStore>

I am interested in purchasing a camera with a 75-300mm zoom lens size, that has an aperture of 4.5-5.6, and a shutter speed that ranges from 1/500 sec. to 1.0 sec.

Page 20: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

20Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

20

Relationship between SLR and Camera?

The Web Bot "consults" the OWL Camera Ontology. This OWL statement tells the Web Bot that a SLR is a type of Camera:

<owl:Class rdf:ID="SLR"> <rdfs:subClassOf rdf:resource="#Camera"/></owl:Class>

<PhotographyStore rdf:ID="Hunts" <SLR> … </SLR></PhotographyStore>

Hunts.xml

Web Bot

<owl:Class rdf:ID="SLR"> <rdfs:subClassOf rdf:resource="#Camera"/></owl:Class>

Camera.owl

"Relationship betweenCamera and SLR?"

"SLR is a type ofCamera."

Page 21: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

21Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

21

Relationship between focal-length and lens size?

This OWL statement tells the Web Bot that focal-length is equivalent to lens size:

<owl:DatatypeProperty rdf:ID="focal-length"> <owl:equivalentProperty rdf:resource="#size"/> <rdfs:domain rdf:resource="#Lens"/> <rdfs:range rdf:resource="&xsd;#string"/></owl:DatatypeProperty>

"focal-length is synonymous with (lens) size. focal-length is to be used within a Lens. focal-length has a value that is a string."

Page 22: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

22Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

22

Relationship between f-stop and aperture?

This OWL statement tells the Web Bot that f-stop is equivalent to aperture:

<owl:DatatypeProperty rdf:ID="f-stop"> <owl:equivalentProperty rdf:resource="#aperture"/> <rdfs:domain rdf:resource="#Lens"/> <rdfs:range rdf:resource="&xsd;#string"/></owl:DatatypeProperty>

The Web Bot now recognizes that the XML document it found at the Web site - is talking about Cameras, and it - does show the lens size, and it - does show the aperture for the camera, and - the values for lens size, aperture, and shutter speed are met.

Thus, the Web Bot recognizes that the XML document is a match!

Page 23: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

23Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

23

Semantic Definitions Separate from Application!

<SLR rdf:ID="Olympus-OM-10" xmlns="http://www.camera.org#"> <lens> <Lens> <focal-length>75-300mm zoom</focal-length> <f-stop>4.5-5.6</f-stop> </Lens> </lens> <body> <Body> <shutter-speed rdf:parseType="Resource"> <min>0.002</min> <max>1.0</max> <units>seconds</units> </shutter-speed> </Body> </body> <cost rdf:parseType="Resource"> <rdf:value>325</rdf:value> <currency>USD</currency> </cost></SLR>

Hunts.xml

Web Bot(application)

<owl:Class rdf:ID="SLR"> <rdfs:subClassOf rdf:resource="#Camera"/></owl:Class>

<owl:DatatypeProperty rdf:ID="focal-length"> <owl:equivalentProperty rdf:resource="#size"/> <rdfs:domain rdf:resource="#Lens"/> <rdfs:range rdf:resource="&xsd;#string"/></owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="f-stop"> <owl:equivalentProperty rdf:resource="#aperture"/> <rdfs:domain rdf:resource="#Lens"/> <rdfs:range rdf:resource="&xsd;#string"/></owl:DatatypeProperty>

"Relationship betweenCamera and SLR?"

"SLR is a type ofCamera."

"Relationship betweenaperture and f-stop?"

"f-stop is synonymouswith aperture."

"Relationship betweensize and focal-length?"

"focal-length is synonymous with size." Camera.owl

Semantic Definitions

Page 24: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

24Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

24

Summary: Interoperability despite terminology differences!

The example demonstrated how a Web Bot application was able to dynamically process an XML document from a Web site, despite the fact that the XML document used terminology different than was used to express the request. This interoperability was achieved by using the OWL Camera Ontology!

This example also demonstrated the architectural design principle of cleanly separating the application code (e.g., Web Bot) from the semantic definitions (e.g., Camera.owl).

Page 25: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

25Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

25

Agenda

The Semantic Web: Motivation and overview

Very brief recap of XML (& why it’s not semantic)

RDF and RDFS

OWL

Ex.s of standardization: E-commerce, social networks

Page 26: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

26Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

26

You have data … How should you structure it?

medium-altitude, long-endurance unmanned aerial vehicle

14.7 meters

512 kilograms70 knots

Here's some data about an aircraft:

400 nautical miles

Page 27: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

27Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

27The XML approach is to "wrap" each data item in start/end tags

<Aircraft> <wingspan>14.8 meters</wingspan> <weight>512 kilograms</weight> <cruise-speed>70 knots</cruise-speed> <range>400 nautical miles</range> <description> medium-altitude, long-endurance unmanned aerial vehicle </description></Aircraft>

RQ-1.xml

Page 28: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

28Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

28

XML Terminology

<wingspan>14.8 meters</wingspan>

Start tag End tag

Data

Element

Page 29: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

29Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

29

Why use XML?

It is a universally accepted standard way of structuring data (syntax).

It is a W3C recommendation (W3C = World Wide Web Consortium)

The marketplace supports it with a lot of free/inexpensive tools.

The alternative to using XML is to define your own proprietary data syntax, and then build your own proprietary tools to support the proprietary syntax (Not a very appealing idea).

Page 30: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

30Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

30

BUT … XML: limitations for semantic markup

XML makes no commitment on:

Domain-specific ontological vocabulary

Ontological modeling primitives

Requires pre-arranged agreement on &

Only feasible for closed collaboration

agents in a small & stable community

pages on a small & stable intranet

Not suited for sharing Web-resources

Page 31: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

31Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

31

Syntax versus Semantics

Syntax: the structure of your data

e.g., XML mandates that you structure your data by "wrapping" each data item within a start tag and an end tag pair, with the end tag being preceded by / and both tags in <…> brackets.

That is, XML specifies the syntax of your data. Semantics: the meaning of your data

Two conditions necessary for interoperability:

1. Adopt a common syntax:this enables applications to parse the data. XML provides a common syntax, and thus is a critical first step. 2. Adopt a means for understanding the semantics: this enables applications to use the data. OWL provides a standard way of expressing the semantics.

Page 32: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

32Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

32

What is this XML snippet talking about, i.e., what are the semantics?

<Predator> …</Predator>

What is a Predator?

Page 33: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

33Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

33

Predator - which one?

Predator: a medium-altitude, long-endurance unmanned aerial vehicle system.

Predator : one that victimizes, plunders, or destroys, especially for one's own gain.

Predator : an organism that lives by preying on other organisms.

Predator: a company which specializes in camouflage attire.

Predator: a video game.

Predator: software for machine networking.

Predator: a chain of paintball stores.

Page 34: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

34Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

34

Resolving Semantics

The next few slides presents an approach that applications can take for understanding the meaning of data. This approach is often taken today.

We will then examine the disadvantages of the approach, and then offer a better approach.

Page 35: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

35Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

35

Meaning (semantics) applied on a per-application basis

<Predator> …</Predator>

application

Semantics: A Predator is type ofAircraft.Actions: These actions must be performed on the Predator data: - identify ground control station. - determine onboard sensors. - determine ordnance.

Page 36: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

36Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

36

Meaning (semantics) applied on a per-application basis

XML

app#1Semantics: Code to interpret the dataAction: Code to process the data

app#2Semantics: Code to interpret the dataAction: Code to process the data

Page 37: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

37Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

37

Problem with attaching semantics on a per-application basis

applicationSemantics: Code to interpret the dataAction: Code to process the data

Problems with burying semantic definitionswithin each application:- Duplicate effort - Each application must express the semantics- Variability of interpretation - Each application can take its own interpretation - Example: Mars probe disaster - one application interpreted the data in inches, another application interpreted the data in centimeters.- No ad-hoc discovery and exploitation - Applications have the semantics pre-wired. Thus, when new data (e.g., new type of aircraft) is encountered an application may not be able to effectively process it. This makes for brittle applications.

What's a better approach?

Page 38: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

38Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

38

Better approach:

(1) Extricate semantic definitions from applications (2) Express semantic definitions in a standard vocabulary

XML

app#1Action: Code to process the data

app#2Action: Code to process the data

OWL DocumentSemantic Definitions

Page 39: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

39Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

39

OWL provides an agreed-upon vocabulary for expressing semantics

A Sampling of the OWL Vocabulary:

subClassOf: this OWL element is used to assert that one class of items is a subset of another class of items. Example: Predator is a subClassOf Aircraft.

FunctionalProperty: this OWL element is used to assert that a property has a unique value. Example: sensorID is a FunctionalProperty, i.e., sensorID has a unique value.

equivalentClass: this OWL element is used to assert that one Class is equivalent to another Class. Example: Platform is an equivalentClass to Aircraft.

Page 40: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

40Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

40

Why use OWL? Why use RDF?

Benefits to application developers:

Less code to write (save $$$).

Less chance of misinterpretation (save $$$).

Benefits to community at large:

Everyone can understand each other's data's semantics, since they are in a common language.

OWL uses the XML syntax to express semantics, i.e., it builds on an existing technology.

Don't have to learn new syntax.

Common XML tools (e.g., parsers) can work on OWL.

OWL is a W3C recommendation.

OWL builds on RDF (also a W3C recommendation) Expressive enough for many applications

Simpler

need to understand this first

Page 41: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

41Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

41

Ontologies and concepts

An ontology is a conceptual model.

An Ontology is the collection of semantic definitions for a domain.

Example: an Aircraft Ontology is the set of semantic definitions for the Aircraft domain, e.g.,

Predator is a subClassOf Aircraft.

sensorID is a FunctionalProperty.

Platform is an equivalentClass to Aircraft.

Predator, Aircraft etc. are concepts.

Page 42: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

42Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

42Basic idea of conceptual modelling (not only in SW): The semiotic triangle

Page 43: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

43Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

43What is an ontology?(A commonly accepted informal definition and one formal definition)

An ontology is „an explicit specification of a shared conceptualisation.“ (Gruber, 1993)

Page 44: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

44Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

44

Ontologies, decentralization, and bottom-up engineering

Communities of users (application builders, ...) can

Re-use existing ontologies

Established domain-specific ontologies (e.g., real-estate, medicine, bioinformatics)

All kinds: see the Semantic Web search engine http://swoogle.umbc.edu/

„The big one“: Cyc, see www.cyc.com

Link to existing ontologies ( Ontology matching / alignment)

Extend existing ontologies

Page 45: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

45Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

45

Ontologies as conceptual models / schemas; or:Database (knowledge base) = Ontology + Instances

My Life and Times

Illusions

First and Last Freedom

Paul McCartney

Richard Bach

J. Krishnamurti

June, 1998

1972

1974

title author date

BookCatalogue

<owl:Class rdf:ID="BookCatalogue"/>

<owl:DatatypeProperty rdf:ID="title"> <rdfs:domain rdf:resource="#BookCatalogue"/> <rdfs:range rdf:resource="&xsd;#string"/></owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="author"> <rdfs:domain rdf:resource="#BookCatalogue"/> <rdfs:range rdf:resource="&xsd;#string"/></owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="date"> <rdfs:domain rdf:resource="#BookCatalogue"/> <rdfs:range rdf:resource="&xsd;#date"/></owl:DatatypeProperty>

<?xml version=“1.0”?><BookCatalogue> <title>My Life and Times</title> <author>Paul McCartney</author> <date>June, 1998</date></BookCatalogue>

Page 46: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

46Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

46

OWL vs. Database

Advantages of using OWL to define an Ontology:

Extensible: much easier to add new properties. Contrast with a database - adding a new column may break a lot of applications

Portable: much easier to move an OWL document than to move a database.

Advantages of using a Database to define an Ontology:

Mature: the database technology has been around a long time and is very mature.

Page 47: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

47Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

47

Agenda

The Semantic Web: Motivation and overview

Very brief recap of XML (& why it’s not semantic)

RDF and RDFS

OWL

Ex.s of standardization: E-commerce, social networks

Page 48: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

48Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

48

What is RDF ?

RDF is a data model

the model is domain-neutral, application-neutral

the model can be viewed as directed, labeled graphs or as an object-oriented model (object/attribute/value)

RDF data model is an abstract, conceptual layer independent of XML

consequently, XML is a transfer syntax for RDF, not a component of RDF

RDF data might never occur in XML form

Page 49: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

49Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

49

RDF model

RDF “statements” consist of

resources (= nodes)which have propertieswhich have values (= nodes,strings)

http://www.w3.org/TR/REC-rdf-syntax/

“Ora Lassila”

author

= subject= predicate= object

“http://www.w3.org/TR/REC-rdf-syntax/ has the author Ora Lassila”

resource valueproperty

Page 50: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

50Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

50

RDF Model Example

http://www.w3.org/TR/REC-rdf-syntax/

“Ora Lassila”

dc:Creator

“1999-02-22”

dc:Date

“W3C”

dc:Publisher

Page 51: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

51Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

51

Complex values

So far, values of properties have been strings

A graph node (corresponding to a resource) also can be the value of a property

arbitrarily complex tree and graph structures are possible

syntactically, values can be embedded (i.e. lexically in-line) or referenced (linked)

Example:

http://www.w3.org/TR/REC-rdf-syntax/

“Ora Lassila”

dc:Creator

[email protected]

p:EMail

p:Name

Page 52: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

52Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

52

Complex values (continued)

Corresponding triples

{ “http://www.w3.org/TR/PR-rdf-syntax/”, dc:Creator, x }

{ x, p:Name, “Ora Lassila” }

{ x, p:EMail, “[email protected]” }

http://www.w3.org/TR/REC-rdf-syntax/

“Ora Lassila”

dc:Creator

[email protected]

p:EMail

p:Name

Page 53: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

53Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

53

Containers

Containers are collections

they allow grouping of resources (or literal values)

It is possible to make statements about the container (as a whole) or about its members individually

Different types of containers exist

bag - unordered collection

seq - ordered collection (= “sequence”)

alt - represents alternatives

It is also possible to create collections based on URI patterns

for example, all files in a particular web site

Duplicate values are permitted

there is no mechanism to enforce unique value constraints

Page 54: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

54Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

54

Containers (continued)

http://www.w3.org/TR/REC-rdf-syntax

“Ora Lassila”

rdf:_1

rdf:Seq

dc:Creator

rdf:Type

“Ralph Swick”

rdf:_2

Page 55: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

55Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

55

Higher-order statements

One can make RDF statements about other RDF statements

example: “Ralph believes that the web contains one billion documents”

Higher-order statements

allow us to express beliefs (and other modalities)

are important for trust models, digital signatures,etc.

also: metadata about metadata

are represented by modeling RDF in RDF itself

Page 56: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

56Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

56

Reification

RDF is not really second-order

But it does provide a built-in predicate vocabulary for reification

http://www.w3.org/TR/REC-rdf-syntax “Ora Lassila”dc:Creator

“Library of Congress”

dc:Creator

• The dotted box corresponds to the following statements

• { x, rdf:predicate, “dc:creator” }• { x, rdf:subject, “http://www.w3.org/TR/RED-rdf-syntax }• { x, rdf:object, “Ora Lassila” }• { x, rdf:type, “rdf:statement” }

Page 57: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

57Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

57

Reification

pers05 ISBN...Author-of

NYT claims

<rdf:Description rdf:about=“#NYT”> <claims> <rdf:Description rdf:about=“#pers05”> <authorOf>ISBN...</authorOf> </rdf:Description> </claims></rdf:Description>

Any statement can be an objectgraphs can be nested - reification

Page 58: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

58Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

58

RDF Schema

• Defines small vocabulary for RDF: • Class, subClassOf, type• Property, subPropertyOf• domain, range

• Vocabulary can be used to define other vocabularies for your application domain

Person

Student Researcher

subClassOfsubClassOf

Jeentype

hasSuperVisordomain range

Frank

type

hasSuperVisor

Page 59: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

59Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

59

<rdf:Description ID="MotorVehicle"> <rdf:type resource="http://www.w3.org/...#Class"/> <rdfs:subClassOf rdf:resource="http://www.w3.org/...#Resource"/></rdf:Description>

<rdf:Description ID="Truck"> <rdf:type resource="http://www.w3.org/...#Class"/> <rdfs:subClassOf rdf:resource="#MotorVehicle"/></rdf:Description>

<rdf:Description ID="registeredTo"> <rdf:type resource="http://www.w3.org/...#Property"/> <rdfs:domain rdf:resource="#MotorVehicle"/> <rdfs:range rdf:resource="#Person"/></rdf:Description>

<rdf:Description ID=”ownedBy"> <rdf:type resource="http://www.w3.org/...#Property"/> <rdfs:subPropertyOf rdf:resource="#registeredTo"/></rdf:Description>

RDF Schema syntax in XML

Page 60: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

60Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

60

Agenda

The Semantic Web: Motivation and overview

Very brief recap of XML (& why it’s not semantic)

RDF and RDFS

OWL

Ex.s of standardization: E-commerce, social networks

Page 61: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

61Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

61

I will use parts of this excellent tutorial:

Roger L. Costello & David B. Jacobs (2003). OWL Web Ontology Language.

http://www.racai.ro/EUROLAN-2003/html/presentations/JamesHendler/owl/OWL.ppt

(please note: the other tutorials referenced on slide 3 of that slide set are not available)

Page 62: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

62Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

62

Agenda

The Semantic Web: Motivation and overview

Very brief recap of XML (& why it’s not semantic)

RDF and RDFS

OWL

Ex.s of standardization: E-commerce, social networks

Page 63: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

63Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

63

EDI (Electronic Data Interchange)

A set of standards for structuring information that is to be electronically exchanged between businesses, organizations, ...

The structures emulate documents, e.g., purchase orders

Standards independent of communication and software technologies

EDI messages can be transmitted using any methodology agreed to by sender and recipient: Value Added Networks (bisync modem), FTP, email, HTTP, AS2 (MIME-based HTTP EDIINT), ...

Mappings to XML exist; RosettaNet sometimes regarded as EDI standard

Data format used by the vast majority of E-commerce transactions worldwide

Since the 1960s; first UN/EDIFACT standard 1988

Different sets of standards for different subdomains UN/EDIFACT: the only international standard, predominant outside North America

US standard ANSI ASC X12 (X12)

TRADACOMS: UK retail industry

ODETTE: Europan automotive industry

Page 64: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

64Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

64

EDI: Components needed for an information transfer

The standard used

Message Implementation Guidelines (human-readable, agreed-upon between the trading partners of a transaction)

EDI Implementation Guidelines

Data transformation from/to the company‘s back-end business systems, e.g. ERP

Transmission protocols

Audit: ensures that any transaction can be tracked to ensure that it is not lost

Page 65: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

65Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

65EDI example: A purchase order message according to UN/EDIFACT version spring 1996

UNA:+.? '

UNB+UNOC:3+SenderID+RecipientID+060620:0931+1++1234567'

UNH+1+ORDERS:D:96A:UN'

BGM+220+B10001'

DTM+4:20060620:102'

NAD+BY+++CustomerID+Street+City++23436+xx'

LIN+1++Product Screws:SA'

QTY+1:1000'

UNS+S'

CNT+2:1'

UNT+9+1'

UNZ+1+1234567'

Page 66: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

66Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

66

EDI: Lessons learned

Economics Only worthwhile if lots of similar transactions (economies of scale) Processes with intangibles (e.g. tenders, auctions with unknown

partners) can usually not be represented in EDI alone significant barrier: the accompanying business process change

Semantics (and economics) Semantics are dynamic (new EDIFACT versions, often > once a year!) Often forgotten but essential: background knowledge (e.g., master data

EANCOM) Information often incomplete and not contained in EDI Implementation

Guidelines

– e.g.: how much are „10 boxes of candy“ (assume packaged in big boxes: 5 display boxes; each 24 consumer-packaged boxes)?

– ? Shows need for comprehensive ontology language ? Two-way negotiation of trading partners remain essential

– Market power decides (e.g., whose IDs?; WalMart requires ist trading partners to use AS2 transmission protocol)

Page 67: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

67Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

67

FOAF (Friend of a Friend)

a machine-readable ontology describing persons, their activities and their relations to other people and objects.

Anyone can use FOAF to describe him or herself. FOAF is an extension to RDF and is defined using OWL. Computers may use these FOAF profiles to find, for example, all

people living in Europe, or to list all people both you and a friend of you know.

This is accomplished by defining relationships between people. Each profile has a unique identifier (such as the person's e-mail

addresses, a Jabber ID, or a URI of the homepage or weblog of the person), which is used when defining these relationships.

The FOAF project, which defines and extends the vocabulary of a FOAF profile, was started in 2000 by Libby Miller and Dan Brickley.

http://www.foaf-project.org

„possibly the single most prevalent use of Semantic Web technologies so far“ – blog software exporting FOAF + RSS (Paolillo et al., 2005)

Page 68: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

68Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

68

FOAF example (1)

<rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:foaf="http://xmlns.com/foaf/0.1/"

xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">

<foaf:Person rdf:about="#JW">

<foaf:name>Jimmy Wales</foaf:name>

<foaf:mbox rdf:resource="mailto:[email protected]" />

<foaf:homepage rdf:resource="http://www.jimmywales.com/" />

<foaf:nick>Jimbo</foaf:nick>

<foaf:depiction rdf:resource="http://www.jimmywales.com/aus_img_small.jpg" />

<foaf:interest>

<rdf:Description rdf:about="http://www.wikimedia.org" rdfs:label="Wikipedia" />

</foaf:interest>

Page 69: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

69Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

69

FOAF example (2)

<foaf:knows>

<foaf:Person>

<foaf:name>Angela Beesley</foaf:name> <!-- Wikimedia Board of Trustees -->

</foaf:Person>

</foaf:knows>

</foaf:Person>

</rdf:RDF>

Social-web inferences

Page 70: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

70Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

70

FOAF extensions (1)

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:foaf="http://xmlns.com/foaf/0.1/"

xmlns:rel="http://www.perceive.net/schemas/relationship/">

<foaf:Person rdf:ID="spiderman">

<foaf:name>Spiderman</foaf:name>

<rel:enemyOf rdf:resource="#green-goblin"/>

</foaf:Person>

<foaf:Person rdf:ID="green-goblin">

<foaf:name>Green Goblin</foaf:name>

<rel:enemyOf rdf:resource="#spiderman"/>

</foaf:Person>

Page 71: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

71Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

71

FOAF extensions (2)

<foaf:Person rdf:ID="peter">

<foaf:name>Peter Parker</foaf:name>

<rel:friendOf rdf:resource="#harry"/>

</foaf:Person>

<foaf:Person rdf:ID="harry">

<foaf:name>Harry Osborn</foaf:name>

<rel:friendOf rdf:resource="#peter"/>

<rel:childOf rdf:resource="#norman"/>

</foaf:Person>

<foaf:Person rdf:ID="norman">

<foaf:name>Norman Osborn</foaf:name>

<rel:parentOf rdf:resource="#harry"/>

</foaf:Person>

</rdf:RDF>

Page 72: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

72Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

72

FOAF multimedia (1)

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:foaf="http://xmlns.com/foaf/0.1/"

xmlns:dc="http://purl.org/dc/elements/1.1/">

<foaf:Person rdf:ID="peter">

<foaf:name>Peter Parker</foaf:name>

<foaf:depicts rdf:resource="http://www.peterparker.com/peter.jpg"/>

</foaf:Person>

<foaf:Person rdf:ID="spiderman">

<foaf:name>Spiderman</foaf:name>

</foaf:Person>

Page 73: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

73Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

73

FOAF multimedia (2)

<foaf:Person rdf:ID="green-goblin">

<foaf:name>Green Goblin</foaf:name>

</foaf:Person>

<!-- codepiction -->

<foaf:Image rdf:about="http://www.peterparker.com/photos/spiderman/statue.jpg">

<dc:title>Battle on the Statue Of Liberty</dc:title>

<foaf:depicts rdf:resource="#spiderman"/>

<foaf:depicts rdf:resource="#green-goblin"/>

<foaf:maker rdf:resource="#peter"/>

</foaf:Image>

</rdf:RDF>

Page 74: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

74Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

74What inferences? Ex.: A social-network analysis of LiveJournal FOAF entries(Paolillo et al., 2005)

Interests over time remain similar

Friends over time remain similar

But: the manner in which people elect friends and interests in their LiveJournal profiles is sharply different. ... [These differences] represent fundamentally different social behaviors.

What does this mean for recommender systems?

Page 75: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

75Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

75

Cf.: Data about individuals available to Google

Google operates the largest Internet search engine in the United States. In March 2007 alone, approximately 3.5 billion search queries were performed on Google websites.25 Google’s services include:

a. Google search: any search term a user enters into Google;

b. Google Desktop: an index of the user’s computer files, e-mails, music, photos, and chat and web browser history;

c. Google Talk: instant-message chats between users;

d. Google Maps: address information requested, often including the user’s home address for use in obtaining directions;

e. Google Mail (Gmail): a user’s e-mail history, with default settings set to retain emails “forever”;

f. Google Calendar: a user’s schedule as inputted by the user;

g. Google Orkut: social networking tool storing personal information such as name, location, relationship status, etc.;

h. Google Reader: which ATOM/RSS feeds a user reads;

i. Google Video/YouTube: videos watched by user;

from: EPIC (2007). Complaint and Request for Injunction, Request for Investigation and for Other Relief In the Matter of Google, Inc. and DoubleClick, Inc. Before the Federal Trade Commission Washington, DC 20580 http://news.findlaw.com/hdocs/docs/google/googdoubleclick42007cmp.pdf

Page 76: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

76Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

76

?

Page 77: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

77Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

77

Next lecture

The Semantic Web: Motivation and overview

Very brief recap of XML (& why it’s not semantic)

RDF and RDFS

OWL

Ex.s of standardization: E-commerce, social networks

Ontology matching

Page 78: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

78Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

78

References

p. 10: http://en.wikipedia.org/wiki/Semantic_Web

p. 16-24: Costello, R.L. (2003). A Five Minute Intro to XML. http://www.daml.org/meetings/2003/05/SWMU/briefings/08_Tutorial_D.ppt

pp. 26-29, pp. 31-39: Costello, R.L. & Jacobs, D.B. (2003). A Two Minute Intro to XML. www.daml.org/meetings/2003/05/SWMU/briefings/07_1045_Essential_Building_Blocks.ppt

p. 30, pp. 48-59: Unnamed (no date). RDF and XML tutorial. http://lsdis.cs.uga.edu/SemWebCourse/RDF.ppt

pp. 40,41: based on Costello, R.L. & Jacobs, D.B. (2003). A Two Minute Intro to XML. www.daml.org/meetings/2003/05/SWMU/briefings/07_1045_Essential_Building_Blocks.ppt

p. 45, 46: based on Costello, R.L. & Jacobs, D.B. (2003). OWL Web Ontology Language. http://www.racai.ro/EUROLAN-2003/html/presentations/JamesHendler/owl/OWL.ppt

p. 65: based on http://de.wikipedia.org/wiki/EDIFACT

pp. 67-69: based on http://en.wikipedia.org/wiki/FOAF_(software)

pp. 70-73: Dodds, L. (2004). An Introduction to FOAF. http://www.foaf-project.org/2004/us/about.html

Page 79: 1 Berendt: Advanced databases, winter term 2007/08, berendt/teaching/2007w/adb/ 1 Advanced databases – Defining and combining.

79Berendt: Advanced databases, winter term 2007/08, http://www.cs.kuleuven.be/~berendt/teaching/2007w/adb/

79

Further references, background reading; acknowledgements

http://de.wikipedia.org/wiki/Electronic_Data_Interchange

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

J. C. Paolillo, S. Mercure, and E. Wright. (2005). The social semantics of Livejournal FOAF: Structure and change from 2004 to 2005. In G. Stumme, B. Hoser, C. Schmitz, and H. Alani, editors, Proceedings of the 1st Workshop on Semantic Network Analysis at the ISWC 2005 Conference, pages 69 – 80. http://www.blogninja.com/paolillo-mercure-wright.final.pdf

Specifications:

RDF: http://www.w3.org/TR/rdf-primer

OWL: http://www.w3.org/TR/owl-features

FOAF: http://xmlns.com/foaf/spec


Recommended