Intelligent Systems

Semantic Web and Exam Preparation

© Copyright @2009 Dieter Fensel and Mick Kerrigan 1 Where are we?

# Title 1 Introduction 2 Propositional Logic 3 Predicate Logic 4 Theorem Proving, Description Logics and Logic Programming 5 Search Methods 6 CommonKADS 7 Problem Solving Methods 8 Planning 9 Agents 10 Rule Learning 11 Inductive Logic Programming 12 Formal Concept Analysis

13 Neural Networks 14 and Exam Preparation

2 Agenda

• Semantic Web - Data • Motivation • Technical Solution: URI, RDF, RDFS, OWL, SPARQL • Illustration by Larger Examples: KIM Browser Plugin, Disco Hyperdata Browser • Extensions: Linked Open Data • Semantic Web – Processes • Motivation • Technical Solution: Semantic Web Services, WSMO, WSML, SEE, WSMX • Illustration by Larger Examples: SWS Challenge, Virtual Travel Agency • Extensions: WSMX at work • Conclusions

3 3 SEMANTIC WEB - DATA

4 4 MOTIVATION

5 5 Motivation

• If the Web is about the global networking of data through URL, HTML, and HTTP…

• … the Semantic Web is about the global networking of knowledge through URI, RDF, and SPARQL

• This knowledge can be an annotation of Web data (this picture depicts Innsbruck) or just for knowledge‘s sake (Innsbruck is a city in Austria)

• Structured data: – is a key towards Artificial Intelligence – is background knowledge – enables formal reasoning

6 6 TECHNICAL SOLUTIONS

7 7 Uniform Resource Identifier

Taken from http://www.w3.org/TR/webarch/

8 RDF

• URIs are used to identify resources, not just things that exists on the Web, e.g. Dieter Fensel, University of Innsbruck

• RDF is used to make statements about resources in the form of triples

ex:father-of ex:john ex:bill

ex:father-of ex:bill ex:tom

• Results in the creation of a labeled directed graph

9 9 RDFS

• RDFS is a language for defining RDF types • Define Classes – #Student is a class • Relationships between classes – #Student is a sub-class of #Person • Properties of classes – #Person has a property hasName – hasName has a domain of Person and a range of a string literal – Can define relationship between properties with rdfs:subPropertyOf

rdf:type ex:john ex:student

ex:hasName

“John Smith”

10 10 RDFS Example

11 11 OWL

• The limitation of RDFS is that it only allows binary relations

• OWL provides an ontology language, that is a more expressive Vocabulary Definition Language for use with RDF – Class membership – Equivalance of classes – Consistency – Classification

• OWL is layered into languages of different expressiveness – OWL Lite: Classification Hierarchies, Simple Constraints – OWL DL: Maximal expressiveness while maintaining tractability – OWL Full: Very high expressiveness, loses tractability, all syntactic freedom of RDF

• More expressive means harder to reason with

12 12 SPARQL

• SPARQL is an RDF Query Language • Uses a SQL-like syntax

• Example: Find the names of all the Students

PREFIX ex PREFIX rdfs

SELECT ?name ?name FROM WHERE{ ?x rdfs:type ex:student. John Smith ?x ex:hasName ?name. } Tom Johnson

Bill Thompson

13 13 ILLUSTRATION BY LARGER EXAMPLES

14 14 Illustration 1 – KIM Browser Plugin • KIM Browser Plugin Web content is annotated using ontologies Content can be searched and browsed intelligently

Select one or more concepts from the ontology… … send the currently loaded web page to the Annotation Server

Annotated Content

15 15 Illustration 2 – Disco Hyperdata Browser

Dereferencable Disco Hyperdata Browser URI navigating the Semantic Web as an unbound set of data sources

16 16 EXTENSIONS

17 17 Extensions: Linked Open Data

is a method for exposing and sharing connected data via dereferenceable URI’s on the Web – Use URIs to identify things that you expose to the Web as resources – Use HTTP URIs so that people can locate and look up (dereference) these things – Provide useful information about the resource when its URI is dereferenced – Include links to other, related URIs in the exposed data as a means of improving information discovery on the Web

• Linked Open Data is an initiative to interlink open data sources – Open: Publicly available data sets that are accessible to everyone – Interlinked: Datasets have references to one another allowing them to be used together

18 18 Extensions: Linked Open Data

19 19 Extensions: Linked Open Data - FOAF

• Friend Of A Friend (FOAF) provides a way to create machine-readable pages about: – People – The links between them – The things they do and create • Anyone can publish a FOAF file on the web about themselves and this data becomes part of the Web of Data

Dieter Fensel

• FOAF is connected to many other data sets, including – Data sets describing music and musicians (Audio Scrobbler, MusicBrainz) – Data sets describing photographs and who took them (Flickr) – Data sets describing places and their relationship (GeoNames)

20 20 Extensions: Linked Open Data - GeoNames

• The GeoNames Ontology makes it possible to add geospatial semantic information to the Web of Data

• We can utilize GeoNames location within the FOAF profile

Dieter Fensel

• GeoNames is also linked to more datasets – US Census Data – Movie (Linked MDB) – Extracted data from Wikipedia (DBpedia)

21 21 Extensions: Linked Open Data - DBpedia

• DBpedia is a community effort to extract structured information from Wikipedia and to make this information available on the Web

• As our FOAF profile has been linked to GeoNames, and GeoNames is linked to DBpedia, we can ask some interesting queries over the Web of Data – What is the population of the city in which Dieter Fensel lives? => 117916 people – At which elevation does Dieter Fensel live? => 574m – Who is the mayor of the city in which Dieter Fensel lives => Hilde Zach

22 22 SEMANTIC WEB - PROCESSES

23 23 MOTIVATION

24 24 Motivation

• The Web is moving from static data to dynamic functionality – Web services: a piece of software available over the , using standardized XML messaging systems over the SOAP protocol – Mashups: The compounding of two or more pieces of web functionality to create powerful web applications – Significant growth of Web APIs • 1.100 Web APIs on ProgrammableWeb.com (including SOAP and REST APIs) • 3.700 Mashups on ProgrammableWeb.com (combining Web APIs from one or more sources • Examples: – Amazon Web Services – iGoogle – Yahoo Pipes – RSS Feeds 25

25 25 Motivation

26 26 Motivation

• Web services and mashups are limited by their syntactic nature

• As the amount of services on the Web increases it will be harder to find Web services in order to use them in mashups

• The current amount of human effort required to build applications is not sustainable at a Web scale

27 27 TECHNICAL SOLUTIONS

28 28 Semantic Web Services

• Brings the benefits of to the executable part of the Web – Ontologies as data model – Unambiguous definition of service functionality and external interface

• Reduce human effort in integrating services in SOA – Many tasks in the process of using Web services can be automated

• Improve dynamism – New services available for use as they appear – Service Producers and Consumers don’t need to know of each others existence

• Improve stability – Service interfaces are not tightly integrated so even less impact from changes – Services can be easily replaced if they are no longer available – Failover possibilities are limited only by the number of available services

29 29 Semantic Web Services

• Semantic Web Services are a layer on top of existing Web service technologies and do not aim to replace them

• Provide a formal description of services, while still being compliant with existing and emerging technologies

• Distinguish between a Web service (computational entity) and a service (value provided by invocation)

• Make Web services easier to: – Find – Compare – Compose – Invoke

30 30 Technical Overview

Conceptual Model for SWS

Formal Language for WSMO

Execution Environment Ontology & Rule Language For SWS for the Semantic Web

31 31 WSMO – Design Principles

Web Service versus Service

Strict Decoupling Ontology-Based of Modeling Elements WSMO Centrality of Ontological Role Mediation Separation

Description versus Implementation

32 32 WSMO – Conceptual Model

Objectives that a client wants to achieve by using Web Services

Formally specified Semantic description terminology used of Web Services by all other • Capability (functional)‏ components • Interfaces (usage)

Connectors between components with mediation facilities for handling heterogeneities

33 33 WSML – Language Family

WSML - Full

WSML - Rule with WSML - DL f without

Expressivity WSML - Flight

WSML - Core

34 34 Semantic Execution Environment

Semanc Execuon Environment

vercal broker

Discovery Ranking Selecon

Composion Data Mediaon Process Mediaon

Process Liing &

Monitoring Execuon Lowering

base

Reasoning Storage

35 35 Semantic Execution Environment - WSMX

36 36 ILLUSTRATION BY LARGER EXAMPLES

37 37 Receives a customer id Illustration 1: SWS Challenge and returns a full customer description

id Purchase Order

cid

openOrder Purchase Order Confirmation addItem*

closeOrder

Blue Company can only send POs and • Blue companyreceive has PO discovered Moon company on the Web Confirmations • Blue company wishes to communicate with MoonAllows the company opening of a PO, the specification of the items to be purchased and the • Broker required to resolve data and process interoperabilityclosing of the POissues

38 38 Illustration 2: Virtual Travel Agency

Rail Services

Flight Services

Hotel Services

Car Hire Services

39 39 EXTENSIONS

40 40 Extensions: WSMX At Work

41 41 Extensions: WSMX At Work

Request to discover Web services.

42 42 Extensions: WSMX At Work

Goal expressed in WSML is sent to WSMX System Interface

43 43 Extensions: WSMX At Work

Com. M. implements the interface to receive WSML goals

44 44 Extensions: WSMX At Work

Com. M. informs Core that Goal has been received

45 45 Extensions: WSMX At Work

Chor. wrapper picks up event for Chor. component

46 46 Extensions: WSMX At Work

New choreography Instance is created

47 47 Extensions: WSMX At Work

Core is notified that choreography instance has been created.

48 48 Extensions: WSMX At Work

WSML goal is parsed to internal format.

49 49 Extensions: WSMX At Work

Discovery is invoked for parsed goal.

50 50 Extensions: WSMX At Work

Discovery may requires ontology mediation.

51 51 Extensions: WSMX At Work

After data mediation, Discovery iterates, if needed through last steps until result set is finished.

52 52 Extensions: WSMX At Work

Selection is invoked to relax result set to finally one service.

53 53 Extensions: WSMX At Work

Choreography instance for goal requester is checked for next steps.

54 54 Extensions: WSMX At Work

Result is returned to Com. Man. to be forwarded to the service requester.

55 55 Extensions: WSMX At Work

Set of Web Service descriptions expressed in WSML sent to adapter.

56 56 Extensions: WSMX At Work

Set of Web Service descriptions expressed in requester’s own format returned to goal requester.

57 57 SUMMARY

58 58 Summary

• The Semantic Web provides a mechanism for – Representing knowledge on the Web – Annotating data on the Web – Annotating services on the Web

• Everything is identified by a URI • RDF to assert relations between resources • RDFS and OWL to make statements about types • SPARQL to query RDF data • WSMO as a conceptual model • WSML for describing services at different levels of expressivity • WSMX as a Semantic Execution Environment for bringing requesters and providers together

59 59 REFERENCES

60 60 References

• Semantic Web Primer: http://www.ics.forth.gr/isl/swprimer/ • Linked Open Data: http://linkeddata.org/ • Linked Open Data Tutorial: http://www4.wiwiss.fu-berlin.de/bizer/pub/LinkedDataTutorial/ • WSMO: http://www.wsmo.org/TR/d2/ • WSML: http://www.wsmo.org/TR/d16/d16.1/ • WSMO/WSML Tutorials: http://wiki.sti2.at/index.php?title=WSMT_Tutorials

• Wikipedia: – URI: http://en.wikipedia.org/wiki/URI – RDF; http://en.wikipedia.org/wiki/Resource_Description_Framework – RDFS: http://en.wikipedia.org/wiki/RDFS – SPARQL: http://en.wikipedia.org/wiki/SPARQL – WSMO: http://en.wikipedia.org/wiki/WSMO – WSML: http://en.wikipedia.org/wiki/Web_Services_Modeling_Language

61 61 Exam Preparation

• Exam will take place on the 1st of February 2010, 14:15 in room HG. • Exam time is 90 minutes • The material for exam are the slide sets:

Title Introduction Propositional Logic Predicate Logic Theorem Proving, Description Logics and Logic Programming Search Methods CommonKADS Problem Solving Methods Planning Agents Rule Learning Inductive Logic Programming Semantic Web and Exam Preparation 62 62 Questions?

63 63