a44c7f23ab9153f0f30b4f2317d24023.ppt
- Количество слайдов: 114
Artificial Intelligence SS 2017 Semantic Web and Services Anna Fensel 12. 06. 2017 & 19. 06. 2017 © Copyright 2017 Ioan Toma, Dieter Fensel, Mick Kerrigan, and Anna Fensel 1
Where are we? # Title 0. 1 Propositional Logic 0. 2 Predicate Logic 1 Introduction 2 Reasoning 3 Search Methods 4 Common. KADS 5 Problem-Solving Methods 6 Planning 7 Software Agents 8 Rule Learning 9 Inductive Logic Programming 10 Formal Concept Analysis; Semantic Web (1 st part of this slideset) 11 Neural Networks; Semantic Web Services (2 nd part of this slideset) 12 Exam 2
Agenda • Semantic Web - Data • Motivation • Development of the Web • • Web 1. 0 • • Internet Web 2. 0 Limitations of the current Web • • Illustration by Larger Examples: KIM Browser Plugin, Disco Hyperdata Browser • • Technical Solution: URI, RDFS, OWL, SPARQL 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, WSMX at work • Extensions: Mobile Services, Intelligent Cars, Intelligent Electricity Meters • Summary • References 3 3
SEMANTIC WEB - DATA 4 4
MOTIVATION 5 5
DEVELOPMENT OF THE WEB 6
Development of the Web 1. Internet 2. Web 1. 0 3. Web 2. 0 7
INTERNET 8
Internet • “The Internet is a global system of interconnected computer networks that use the standard Internet Protocol Suite (TCP/IP) to serve billions of users worldwide. It is a network of networks that consists of millions of private and public, academic, business, and government networks of local to global scope that are linked by a broad array of electronic and optical networking technologies. ” http: //en. wikipedia. org/wiki/Internet 9
A brief summary of Internet evolution WWW Packet Switching First Vast Invented 1964 Computer Network Silicon Envisioned A Chip 1962 Mathematical 1958 Theory of Memex Communication 1948 Conceived 1945 Hypertext Invented 1965 ARPANET 1969 Internet Created Named 1989 and Goes TCP/IP 1984 Created Age of e. Commerce Mosaic Begins 1995 Created 1993 1972 1995 Source: http: //www. isoc. org/internet/history 2002_0918_Internet_History_and_Growth. ppt 10
WEB 1. 0 11
Web 1. 0 • “The World Wide Web ("WWW" or simply the "Web") is a system of interlinked, hypertext documents that runs over the Internet. With a Web browser, a user views Web pages that may contain text, images, and other multimedia and navigates between them using hyperlinks”. http: //en. wikipedia. org/wiki/World_Wide_Web 12
Web 1. 0 • Netscape – Netscape is associated with the breakthrough of the Web. – Netscape had rapidly a large user community making attractive for others to present their information on the Web. • Google – Google is the incarnation of Web 1. 0 mega grows – Google indexed already in 2008 more than 1 trillion pages [*] – Google and other similar search engines turned out that a piece of information can be faster found again on the Web than in the own bookmark list [*] http: //googleblogspot. com/2008/07/we-knew-web-was-big. html 13
Web 1. 0 principles • The success of Web 1. 0 is based on three simple principles: 1. A simple and uniform addressing schema to indentify information chunks i. e. Uniform Resource Identifiers (URIs) 2. A simple and uniform representation formalism to structure information chunks allowing browsers to render them i. e. Hyper Text Markup Language (HTML) 3. A simple and uniform protocol to access information chunks i. e. Hyper Text Transfer Protocol (HTTP) 14
1. Uniform Resource Identifiers (URIs) • Uniform Resource Identifiers (URIs) are used to name/identify resources on the Web • URIs are pointers to resources to which request methods can be applied to generate potentially different responses • Resource can reside anywhere on the Internet • Most popular form of a URI is the Uniform Resource Locator (URL) 15
2. Hyper-Text Markup Language (HTML) • Hyper-Text Markup Language: – A subset of Standardized General Markup Language (SGML) – Facilitates a hyper-media environment • Documents use elements to “mark up” or identify sections of text for different purposes or display characteristics • HTML markup consists of several types of entities, including: elements, attributes, data types and character references • Markup elements are not seen by the user when page is displayed • Documents are rendered by browsers 16
3. Hyper-Text Transfer Protocol (HTTP) • Protocol for client/server communication – The heart of the Web – Very simple request/response protocol • Client sends request message, server replies with response message – Provide a way to publish and retrieve HTML pages – Stateless – Relies on URI naming mechanism 17
WEB 2. 0 18
Web 2. 0 • “The term "Web 2. 0" (2004–present) is commonly associated with web applications that facilitate interactive information sharing, interoperability, user-centered design, and collaboration on the World Wide Web” http: //en. wikipedia. org/wiki/Web_2. 0 19
Web 2. 0 • Web 2. 0 is a vaguely defined phrase referring to various topics such as social networking sites, wikis, communication tools, and folksonomies. • Tim Berners-Lee is right that all these ideas are already underlying his original web ideas, however, there are differences in emphasis that may cause a qualitative change. • With Web 1. 0 technology a significant amount of software skills and investment in software was necessary to publish information. • Web 2. 0 technology changed this dramatically. 20
Web 2. 0 major breakthroughs • The four major breakthroughs of Web 2. 0 are: 1. Blurring the distinction between content consumers and content providers. 2. Moving from media for individuals towards media for communities. 3. Blurring the distinction between service consumers and service providers 4. Integrating human and machine computing in a new and innovative way 21
1. Blurring the distinction between content consumers and content providers Wiki, Blogs, and Twiter turned the publication of text in mass phenomena, as flickr and youtube did for multimedia 22
2. Moving from a media for individuals towards a media for communities Social web sites such as del. icio. us, facebook, FOAF, linkedin, myspace and Xing allow communities of users to smoothly interweave their information and activities 23
3. Blurring the distinction between service consumers and service providers Mashups allow web users to easy integrate services in their web site that were implemented by third parties 24
4. Integrating human and machine computing in a new way Amazon Mechanical Turk - allows to access human services through a web service interface blurring the distinction between manually and automatically provided services 25
LIMITATIONS OF THE CURRENT WEB 26
Limitations of the current Web • The current Web has its limitations when it comes to: 1. finding relevant information 2. extracting relevant information 3. combining and reusing information 27
Limitations of the current Web Finding relevant information • Finding information on the current Web is based on keyword search • Keyword search has a limited recall and precision due to: – Synonyms: • e. g. Searching information about “Cars” will ignore Web pages that contain the word “Automobiles” even though the information on these pages could be relevant – Homonyms: • e. g. Searching information about “Jaguar” will bring up pages containing information about both “Jaguar” (the car brand) and “Jaguar” (the animal) even though the user is interested only in one of them 28
Limitations of the current Web Finding relevant information • Keyword search has a limited recall and precision due also to: – Spelling variants: • e. g. “organize” in American English vs. “organise” in British English – Spelling mistakes – Multiple languages • i. e. information about same topics in published on the Web on different languages (English, German, Italian, …) • Current search engines provide no means to specify the relation between a resource and a term – e. g. sell / buy 29
Limitations of the current Web Extracting relevant information • • One-fit-all automatic solution for extracting information from Web pages is not possible due to different formats, different syntaxes Even from a single Web page is difficult to extract the relevant information Which book is about the Web? What is the price of the book? 30
Limitations of the current Web Extracting relevant information • Extracting information from current web sites can be done using wrappers WEB HTML pages Layout Wrapper extract annotate structure Structured Data, Databases, XML Structure 31
Limitations of the current Web Extracting relevant information • The actual extraction of information from web sites is specified using standards such as XSL Transformation (XSLT) [1] • Extracted information can be stored as structured data in XML format or databases. • However, using wrappers do not really scale because the actual extraction of information depends again on the web site format and layout [1] http: //www. w 3. org/TR/xslt 32
Limitations of the current Web Combining and reusing information • Tasks often require to combine data on the Web 1. Searching for the same information in different digital libraries 2. Information may come from different web sites and needs to be combined 33
Limitations of the current Web Combining and reusing information 1. Searches for the same information in different digital libraries Example: I want travel from Innsbruck to Rome. 34
Limitations of the current Web Combining and reusing information 2. Information may come from different web sites and needs to be combined Example: I want to travel from Innsbruck to Rome where I want to stay in a hotel and visit the city 35
How to improve the current Web? • • Increasing automatic linking among data Increasing recall and precision in search Increasing automation in data integration Increasing automation in the service life cycle • Adding semantics to data and services is the solution! 36
TECHNICAL SOLUTIONS 37 37
Uniform Resource Identifier • Uniform Resource Identifiers (URIs) are used to identify resources, not just things that exists on the Web, e. g. Dieter Fensel, University of Innsbruck Taken from http: //www. w 3. org/TR/webarch/ 38
Resource Description Framework (RDF) • The Resource Description Framework (RDF) provides a domain independent data model • Resource (identified by URIs) – Correspond to nodes in a graph – E. g. : • • http: //www. w 3. org/ http: //example. org/#john http: //www. w 3. org/1999/02/22 -rdf-syntax-ns#Property Properties (identified by URIs) – Correspond to labels of edges in a graph – Binary relation between two resources – E. g. : http: //www. example. org/#has. Name http: //www. w 3. org/1999/02/22 -rdf-syntax-ns#type Literals – Concrete data values – E. g. : "John Smith", "1", "2006 -03 -07" 39 39
Resource Description Framework (RDF) – Triple Data Model • Triple data model: <subject, predicate, object> – Subject: Resource or blank node – Predicate: Property – Object: Resource, literal or blank node • Example: <ex: john, ex: father-of, ex: bill> • Statement (or triple) as a logical formula P(x, y), where the binary predicate P relates the object x to the object y. • RDF offers only binary predicates (properties) 40 40
Resource Description Framework (RDF) – Graph Model • The triple data model can be represented as a graph • Such graph is called in the Artificial Intelligence community a semantic net • Labeled, directed graphs – Nodes: resources, literals – Labels: properties – Edges: statements ex: john ex: father-of ex: bill ex: father-of ex: tom 41 41
RDF Schema (RDFS) • RDF Schema (RDFS) is a language for capturing the semantics of a domain, for example: – In RDF: <#john, rdf: type, #Student> – What is a “#Student”? • 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 has. Name” 42
RDF Schema (RDFS) • Classes: <#Student, rdf: type, #rdfs: Class> • Class hierarchies: <#Student, rdfs: sub. Class. Of, #Person> • Properties: <#has. Name, rdf: type, rdf: Property> • Property hierarchies: <#has. Mother, rdfs: sub. Property. Of, #has. Parent> • Associating properties with classes (a): – “The property #has. Name only applies to #Person” <#has. Name, rdfs: domain, #Person> • Associating properties with classes (b): – “The type of the property #has. Name is #xsd: string” <#has. Name, rdfs: range, xsd: string> 43 43
RDF Schema (RDFS) - Example 44 44
Web Ontology Language (OWL) • RDFS has a number of Limitations: – Only binary relations – Characteristics of Properties, e. g. inverse, transitive, symmetric – Local range restrictions, e. g. for class Person, the property has. Name has range xsd: string – Complex concept descriptions, e. g. Person is defined by Man and Woman – Cardinality restrictions, e. g. a Person may have at most 1 name – Disjointness axioms, e. g. nobody can be both a Man and a Woman • The Web Ontology Language (OWL) provides an ontology language, that is a more expressive Vocabulary Definition Language for use with RDF – – Class membership Equivalance of classes Consistency Classification 45
OWL • 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 • Different Syntaxes: – RDF/XML (Recommended for Serialization) – N 3 (Recommended for Human readable Fragments) – Abstract Syntax (Clear Human Readable Syntax) lite DL Full 46 46
OWL – Example: The Wine Ontology • • • An Ontology describing wine domain One of the most widely used examples for OWL and referenced by W 3 C. There is also a wine agent associated to this ontology that performs OWL queries using a web-based ontological mark-up language. That is, by combining a logical reasoner with an OWL ontology. The agent's operation can be described in three parts: consulting the ontology, performing queries and outputting results. Available here: http: //www. w 3. org/TR/owl-guide/ 47
OWL – Example: The Wine Ontology Schema [http: //mysite. verizon. net/jflynn 12/Visio. OWL. htm] 48
SPARQL – Querying RDF • SPARQL – RDF Query language – Based on RDQL – Uses SQL-like syntax • Example: PREFIX uni: <http: //example. org/uni/> SELECT ? name FROM <http: //example. org/personal> WHERE { ? s uni: name ? name. ? s rdf: type uni: lecturer } 49
SPARQL Queries PREFIX uni: <http: //example. org/uni/> SELECT ? name FROM <http: //example. org/personal> WHERE { ? s uni: name ? name. ? s rdf: type uni: lecturer } • • PREFIX – Prefix mechanism for abbreviating URIs SELECT – Identifies the variables to be returned in the query answer – SELECT DISTINCT – SELECT REDUCED FROM – Name of the graph to be queried – FROM NAMED WHERE – Query pattern as a list of triple patterns LIMIT OFFSET ORDER BY 50
SPARQL Example Query 1 “Return the full names of all people in the graph” PREFIX v. Card: <http: //www. w 3. org/2001/vcard-rdf/3. 0#> SELECT ? full. Name WHERE {? x v. Card: FN ? full. Name} result: full. Name ========= "John Smith" "Mary Smith" @prefix ex: <http: //example. org/#>. @prefix vcard: <http: //www. w 3. org/2001/vcard-rdf/3. 0#>. ex: john vcard: FN "John Smith" ; vcard: N [ vcard: Given "John" ; vcard: Family "Smith" ] ; ex: has. Age 32 ; ex: married. To : mary. ex: mary vcard: FN "Mary Smith" ; vcard: N [ vcard: Given "Mary" ; vcard: Family "Smith" ] ; ex: has. Age 29. 51
SPARQL Example Query 2 “Return the relation between John and Mary” PREFIX ex: <http: //example. org/#> SELECT ? p WHERE {ex: john ? p ex: mary} result: p ========= <http: //example. org/#married. To> @prefix ex: <http: //example. org/#>. @prefix vcard: <http: //www. w 3. org/2001/vcard-rdf/3. 0#>. ex: john vcard: FN "John Smith" ; vcard: N [ vcard: Given "John" ; vcard: Family "Smith" ] ; ex: has. Age 32 ; ex: married. To : mary. ex: mary vcard: FN "Mary Smith" ; vcard: N [ vcard: Given "Mary" ; vcard: Family "Smith" ] ; ex: has. Age 29. 52
SPARQL Example Query 3 “Return the spouse of a person by the name of John Smith” PREFIX v. Card: <http: //www. w 3. org/2001/vcard-rdf/3. 0#> PREFIX ex: <http: //example. org/#> SELECT ? y WHERE {? x v. Card: FN "John Smith". ? x ex: married. To ? y} result: y ========= <http: //example. org/#mary> @prefix ex: <http: //example. org/#>. @prefix vcard: <http: //www. w 3. org/2001/vcard-rdf/3. 0#>. ex: john vcard: FN "John Smith" ; vcard: N [ vcard: Given "John" ; vcard: Family "Smith" ] ; ex: has. Age 32 ; ex: married. To : mary. ex: mary vcard: FN "Mary Smith" ; vcard: N [ vcard: Given "Mary" ; vcard: Family "Smith" ] ; ex: has. Age 29. 53
ILLUSTRATION BY LARGER EXAMPLES 54 54
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 55 55
Illustration 2 – Disco Hyperdata Browser Dereferencable URI Disco Hyperdata Browser navigating the Semantic Web as an unbound set of data sources 56 56
EXTENSIONS 57 57
Extensions: Linked Open Data • Linked 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 58 58
Extensions: Linked Open Data 59 59
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 <foaf: Person> <foaf: name>Dieter Fensel</foaf: name> <foaf: homepage rdf: resource="http: //www. fensel. com"/> </foaf: Person> • FOAF is connected to many other data sets, including – Data sets describing music and musicians (Audio Scrobbler, Music. Brainz) – Data sets describing photographs and who took them (Flickr) – Data sets describing places and their relationship (Geo. Names) 60 60
Extensions: Linked Open Data - Geo. Names • The Geo. Names Ontology makes it possible to add geospatial semantic information to the Web of Data • We can utilize Geo. Names location within the FOAF profile <foaf: Person> <foaf: name>Dieter Fensel</foaf: name> <foaf: homepage rdf: resource="http: //www. fensel. com"/> <foaf: based_near ” http: //ws. geonames. org/rdf? geoname. Id=2775220"/> </foaf: Person> • Geo. Names is also linked to more datasets – US Census Data – Movie Database (Linked MDB) – Extracted data from Wikipedia (DBpedia) 61 61
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 Geo. Names, and Geo. Names 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? => 574 m – Who is the mayor of the city in which Dieter Fensel lives => Mag. ª Christine Oppitz-Plörer 62 62
schema. org “schema. org is a collaborative, community activity with a mission to create, maintain, and promote schemas for structured data on the Internet, on web pages, in email messages, and beyond. ” schema. org is sponsored by http: //schema. org/ 63
schema. org – motivation • Having structured data on the Web helps search engines to understand the information and provide richer search results • The problem is that there are too many standards and schemas for marking up different types of information on web pages • This makes is difficult for webmaster to decide on the most relevant and supported markup standards to use. • schema. org is the defacto standard supported by the major search engines providing a common support for webmasters, search engines and users: – Webmasters use one single markup for structured data supported by the major search engines – Search engines get the structured information they need to improve search results – Users get better search results and better experience on the Web 64
schema. org – schemas • • schema. org schemas include a set of Types each associated with a set of Properties Types are arrange in a hierarchy The core vocabulary consists of 642 Types, 992 Properties and 219 Enumeration values Most commonly used types are: 65
schema. org – syntax • schema. org can embedded into HTML the various formats: • RDFa • Microdata • JSON-LD 66
schema. org – simple example Example*: Imagine you have a page about the movie Avatar—a page with a link to a movie trailer, information about the director, and so on. Your HTML code might look something like this: <div> <h 1>Avatar</h 1> <span>Director: James Cameron (born August 16, 1954)</span> <span>Science fiction</span> <a href=". . /movies/avatar-theatrical-trailer. html">Trailer</a> </div> * http: //schema. org/docs/gs. html 67
schema. org – simple example Annotating the previous html code with schema. org in microdata*: <div itemscope itemtype ="http: //schema. org/Movie"> <h 1 itemprop="name"&g; Avatar</h 1> <div itemprop="director" itemscope itemtype="http: //schema. org/Person"> Director: <span itemprop="name">James Cameron</span> (born <span itemprop="birth. Date">August 16, 1954)</span> </div> <span itemprop="genre">Science fiction</span> <a href=". . /movies/avatar-theatrical-trailer. html" itemprop="trailer">Trailer</a> </div> * http: //schema. org/docs/gs. html 68
schema. org – extension mechanism • • Since May 2015 schema. org offers a new extension mechanism that facilitates the creation of specialized and/or deeper vocabularies based on the core vocabulary of schema. org There are two types of extenssions: • Review/hosted extenssions • Gets its own chunk of schema. org namespace e. g. auto. schema. org • Is maintained by the creator of the extenssion • External extenssions • Extenssions specific to third parties applications e. g. schema. pinterest. com 69
schema. org hotels extension • • Based on STI Accommodation Ontology http: //ontologies. sti-innsbruck. at/acco/ns. html Developed by Martin Hepp and Ioan Toma Submitted to schema. org on 03. 12. 2015 Approved as the official schema. org extension, by now 70
schema. org hotels extension • When modeling accommodation related-information the following types are usually used: • schema: Lodging. Business i. e. the place and local business, including subtypes schema: Hotel, schema: Hostel, schema: Resort, etc. • schema: Accomodation i. e. the relevant unit of establishment e. g. schema: Hotel. Room, schema: Suite, schema: Apartment, etc. • schema: Offer to let an accommodation for a particular amount of money and for a given type of usage. 71
schema. org hotels extension Model offe es. Offe r a: offe red. By schem d ffer ed. O rs item schema: Suite ma: schema: Hotel. Room schema: Meeting. Room ma: schema: Room schema: Camping. Pitch schema: House schema: contains. Place schema: Apartment schema: contained. In. Place a: mak schema: Accommodation schema: Organization schema: Place schema: Product schema: Offer schema: Lodging. Business schema: Price Specification schema: Camping. Site schema: Hostel schema: Hotel schema: Motel schema: Resort schema: price. Specification schema: Property. Value schema: Thing schema: Qualitative. Value schema: Accomodation Feature schema: Bed. Details schema: Rate schema: Bed. Type Existing types and properties in schema. org New types and properties sub. Type relationship 72
schema. org hotels extension Model • • • All actual accommodations are subtypes of schema: Place and of schema: Product All types of lodging businesses are subtypes of schema: Place and of schema: Local. Business schema: contains. Place and schema: contained. In. Place to link between an accommodation and the lodging business schema: makes. Offer and schema: offered. By to link between the lodging business and its offer schema: offers and schema: item. Offered to link between an accommodation and the offer 73
schema. org hotels extension New Types • Includes 13 new types: • Accommodation. Feature • Apartment • Bed. Details • Bed. Type • Camping. Site • Camping. Pitch • House • Hotel. Room • Meeting. Room • Resort • Room • Suite 74
schema. org hotels extension New Properties • Includes 18 new properties: • accommodation. Size • availability. Times • bed • feature • gated • included. Feature • number. Of. Beds • number. Of. Rooms • occupancy. Adults • occupancy. Minors • optional. Feature • pets. Allowed • permitted. Usage • room. Number • smoking. Allowed • star. Rating • type. Of. Bed 75
schema. org hotels extension Minimal Example <div itemscope itemtype="http: //schema. org/Hotel"> <h 1><span itemprop="name">Hotel Rotes Wildschwein</span></h 1> <span itemprop="description">A beautifully located family hotel right in the heart of the alps. Watch the sun rise over the scenic Inn valley while enjoying your morning coffee. </span> <div itemprop="address" itemscope itemtype="http: //schema. org/Postal. Address"> <span itemprop="street. Address">Tiergartenstrasse 200</span> <span itemprop="postal. Code">6020</span> <span itemprop="address. Locality">Innsbruck</span> <span itemprop="address. Region">Tyrol</span>, <span itemprop="address. Country">Austria</span> </div> Phone: <span itemprop="telephone">+43 512 8000 -0</span> <img itemprop="photo" src=". . /media/hotel_front. png" alt="Front view of the hotel" /> Star rating: <meta itemprop="star. Rating" content=“ 5">***** Room rates: <span itemprop="price. Range">€ 65 - € 155</span> </div> 76
SEMANTIC WEB - PROCESSES 77 77
MOTIVATION 78 78
Motivation http: //www. sti-innsbruck. at/results/movies/dip-promotion-video 79
Motivation • The Web is moving from static data to dynamic functionality – Web services: a piece of software available over the Internet, using standardized XML messaging systems – Mashups: The compounding of two or more pieces of web functionality to create powerful web applications 80
Motivation 81
Limitations of the current Web Processes • 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 82
What is needed? • Formal, machine processable descriptions of processes on the Web that allows easy integration, configuration and reuse • Semantic support for finding, composing and executing these processes and all the other related tasks Solution: Combine Semantics and Web processes/services that enables the automation of many of the currently human intensive tasks around Web processes/services 83
TECHNICAL SOLUTIONS 84 84
Semantic Web Services • Brings the benefits of Semantics 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 85 85
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 86 86
Technical Overview Conceptual Model for SWS Formal Language for WSMO Execution Environment Ontology & Rule Language for the Semantic Web For SWS 87 87
WSMO – Design Principles Web Service versus Service Strict Decoupling of Modeling Elements Centrality of Mediation Ontology-Based WSMO Ontological Role Separation Description versus Implementation 88 88
WSMO – Conceptual Model Objectives that a client wants to achieve by using Web Services Formally specified terminology used by all other components Semantic description of Web Services • Capability (functional) • Interfaces (usage) Connectors between components with mediation facilities for handling heterogeneities 89 89
WSML – Language Family Expressivity WSML - Full WSML - Rule with WSML - DL f WSML - Flight without WSML - Core 90 90
Semantic Execution Environment vertical broker Ranking Selection Composition Data Mediation Process Mediation Monitoring Discovery Process Execution Lifting & Lowering Reasoning Storage base 91 91
Semantic Execution Environment - WSMX 92 92
ILLUSTRATION BY LARGER EXAMPLES 93 93
Illustration 1: SWS Challenge Receives a customer id and returns a full customer description id Purchase Order cid Purchase Order Confirmation open. Order add. Item* close. Order • • • Blue Company can only send POs and receive PO Blue company has discovered Moon company on the Web Confirmations Allows the opening of a PO, Blue company wishes to communicate with Moon company the specification of the items to be purchased and the Broker required to resolve data and process interoperability issues closing of the PO 94 94
Illustration 2: Virtual Travel Agency Rail Services Flight Services Hotel Services Car Hire Services 95 95
Illustration 3: WSMX At Work 96 96
EXTENSIONS 97 97
Extensions: Mobile Services 98
Extensions: Mobile Services • Extending the mobile and sensors networks with Semantic technologies, Semantic Web will enable: – Interoperability at the level of sensors data and protocols – More precise search for mobile capabilities and sensors with desired capability From: http: //www. opengeospatial. org/projects/groups/sensorweb 99
SCHEMA. ORG ACTIONS 100
What is schema. org actions? • schema. org is about providing vocabularies for describing entities such as people, places, restaurants, hotels, etc. • The Web is not just about static descriptions of entities, but also about taking actions on these entities. • schema. org actions is a vocabulary that enable websites to describe actions they enable and how these actions can be invoked. • Some example of actions that can be described using schema. org actions vocabulary: • Make a reservation • Watch a movie • Comment on a post 101
schema: Action overview • • • Main type of schema. org actions is schema: Action Before the introduction of schema. org actions, this type was used to describe past actions With the introduction of schema. org schema: Action is used to features the capability to perform an action in the future, as well as the definition of how that capability can be exercised. An action is performed by a direct agent and indirect participants upon a direct object. An action optionally happens at a location with the help of an inanimate instrument. The execution of the action may produce a result. 102
schema: Action example in JSON-LD <!-- John listened to Pink with Steve at Anna's apartment on his i. Pod. --> <script type="application/ld+json"> { "@context": "http: //schema. org", "@type": "Listen. Action", "agent": { "@type": "Person", "name": "John" }, "object": { "@type": "Music. Group", "name": "Pink!" }, "participant": { "@type": "Person", "name": "Steve" }, "location": { "@type": "Residence", "name": "Ann's apartment" }, "instrument": { "@type": "Product", "name": "i. Pod" } } </script> 103
schema. org actions vocabulary (cont’d) • schema: action. Status • • • Indicates the current disposition of the schema: Action. Enumeration members include: potential, active, and completed schema: potential. Action • Indicates a potential Action, which describes an idealized action in which this thing would play an 'object' role. • Describes the "prototype" of an action that can be taken on that Thing. <!-- describing that this Thing can be watched --> { "@context": "http: //schema. org", "@type": "Movie", "name": "Footloose", "potential. Action": { "@type": "Watch. Action" } } 104
schema. org actions vocabulary (cont’d) • schema: target • • Potential actions are materialized via execution against the target schema: Entry. Point of an schema: Action I/O constaints • Additional information is often required from a user or client in order to formulate a complete request. To facilitate this process we need the ability to describe within a potential action how to construct these inputs { "@context": "http: //schema. org", "@type": "Web. Site", "name": "Example. com", "potential. Action": { "@type": "Search. Action", "target": "http: //example. com/search? q={q}", "query-input": "required maxlength=100 name=q" } } 105
SUMMARY 106
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 107
REFERENCES 108
References • Mandatory reading: – T. Berners-Lee, J. Hendler, O. Lassila. The Semantic Web, Scientific American, 2001. – Dieter Fensel, Holger Lausen, Axel Polleres, Jos de Bruijn, Michael Stollberg, Dumitru Roman, John Domingue, Enabling Semantic Web Services: The Web Service Modeling Ontology, Springer-Verlag, 2007 • Further reading: – Dieter Fensel, Mick Kerrigan, Michal Zaremba (Eds. ), Implementing Semantic Web Services: The SESA Framework. Springer-Verlag, 2008. – Jos de Bruijn, Dieter Fensel, Mick Kerrigan, Uwe Keller, Holger Lausen, and James Scicluna: Modeling Semantic Web Services, Springer-Verlag, 2008 – D. Fensel. Ontologies: A Silver Bullet for Knowledge Management and Electronic Commerce, 2 nd Edition, Springer 2003. – G. Antoniou and F. van Harmelen. A Semantic Web Primer, (2 nd edition), The MIT Press 2008. – H. Stuckenschmidt and F. van Harmelen. Information Sharing on the Semantic Web, Springer 2004. – T. Berners-Lee. Weaving the Web, Harper. Collins 2000 – T. R. Gruber, Toward principles for the design of ontologies used or knowledge sharing? , Int. J. Hum. -Comput. Stud. , vol. 43, no. 5 -6, 1995 109
References – David Martin, et al. , OWL-S: Semantic Markup for Web Services, W 3 C Member Submission 22 November 2004, http: //www. w 3. org/Submission/OWL-S. – Joel Farrell and Holger Lausen, Semantic Annotations for WSDL and XML Schema, W 3 C Recommendation 28 August 2007, http: //www. w 3. org/TR/sawsdl – Rama Akkiraju et al. , Web Service Semantics - WSDL-S, W 3 C Member Submission 7 November 2005, http: //www. w 3. org/Submission/WSDL-S – Steve Battle et al. , Semantic Web Services Framework (SWSF), W 3 C Member Submission 9 September 2005, http: //www. w 3. org/Submission/SWSF – Semantic Web Primer: http: //www. ics. forth. gr/isl/swprimer/ – RDF Primer: http: //www. w 3. org/TR/REC-rdf-syntax/ – RDF Schema: http: //www. w 3. org/TR/rdf-schema/ – OWL Guide: http: //www. w 3. org/TR/owl-guide/ – RDF SPARQL Protocol: http: //www. w 3. org/TR/rdf-sparql-protocol/ – Linked Open Data: http: //linkeddata. org/ – Linked Open Data Tutorial: http: //www 4. wiwiss. fu-berlin. de/bizer/pub/Linked. Data. Tutorial/ – WSMO: http: //www. wsmo. org/TR/d 2/ – WSML: http: //www. wsmo. org/TR/d 16. 1/ – WSMO/WSML Tutorials: http: //wiki. sti 2. at/index. php? title=WSMT_Tutorials 110
References • Wikipedia links: – – – 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 111
http: //www. sti-innsbruck. at/results/movies/serviceweb-30 -future-internet 112
Next Lecture # Title 0. 1 Propositional Logic 0. 2 Predicate Logic 1 Introduction 2 Reasoning 3 Search Methods 4 Common. KADS 5 Problem-Solving Methods 6 Planning 7 Software Agents 8 Rule Learning 9 Inductive Logic Programming 10 Formal Concept Analysis; Semantic Web (1 st part of this slideset) 11 Neural Networks; Semantic Web Services (2 nd part of this slideset) 12 Exam 113
Questions? Email: anna. fensel@uibk. ac. at Web: http: //bit. ly/2 mwtf 1 h Twitter: @alphaverda Facebook: https: //www. facebook. com/STIInnsbruck/ 114
a44c7f23ab9153f0f30b4f2317d24023.ppt