Semantic Web services Chankyu Park 08/04/2005. Agenda Next Generation Web Tutorial of Ontology for...
Transcript of Semantic Web services Chankyu Park 08/04/2005. Agenda Next Generation Web Tutorial of Ontology for...
Semantic Web services
Chankyu Park08/04/2005
Agenda
• Next Generation Web• Tutorial of Ontology for SWS• Concept of SWS• OWL-S ontology• OWL-S Development Tools• Other efforts to SWS
Next Generation Web
Semantic Web Services
Semantic Web Techniques Web Services Techniques
XML
AutomatedKnowledge BasesRules (RuleML)Ontologies (OWL)Databases (SQL,XQuery, RDF)
Two interwoven aspects:Program: Web ServicesData: Semantic Web
API’s on Web(WSDL, SOAP)
First Generation
Web
SWSI Language effort,on top of Current WS Standards
StackWire Protocol Service Description
, BPML
The Semantic Web Services Initiative (SWSI) is an ad hoc initiative of academic and industrial researchers, many of which are involved in DARPA and EU funded research projects.
Tutorial of Ontology for SWS
• “An ontology is a specification of a conceptualization.”
• Ontologies consists of:- Concepts- Relations (between concepts)- Instances (specific, non generic concepts)- Axioms (knowledge using logics)
• Used for:- Defining knowledge- Communication- Knowledge reuse
- A reasoner can be used to make inferences about concepts in ontologies
Ontology Example
Shape
Circle Square
radius
conceptrelationship
subClassOf subClassOf
property
OWL
• Web Ontology Language• XML-based language for representing ontol
ogies• W3C recommendation• Build on RDF and RDFS
XML representation of OWL<!–- concept --><owl:Class rdf:ID="Shape"/><owl:Class rdf:ID="Square">
<rdfs:subClassOf rdf:resource="#Shape"/></owl:Class>
<owl:Class rdf:ID="Circle"> <rdfs:subClassOf rdf:resource="#Shape"/></owl:Class>
<!–- property --><owl:DatatypeProperty rdf:ID="radius"> <rdfs:domain rdf:resource="#Circle"/> <rdfs:range rdf:resource="&xsd;positiveInteger"/></owl:DatatypeProperty>
Semantic Web Services
• Web services were designed to be loosely coupled and inter-operable
• Traditional Web services require a huge amount of human interaction for integration of multiple applications– Because it requires an understanding of data and func
tions of the involved entities
• Semantic Web technologies add annotations to data and functions using ontologies
Semantic Web Services
• This helps create a machine processable information which can be used for automated service publication, service discovery, service composition, negotiation and execution as primary goals
• In other words:Semantic Web Services = Web Services + Semantic Web Technol
ogy
Traditional Web Service
Traditional
Web Service
Input ( name=isbn, type=int)
Input ( name=title, type=String)
Input ( name=year, type=int)
Output ( name=price, type=float)
getP
rice
Semantic Web Service
Semantic
Web Service
getP
rice
Domain Ontology
Functional Ontology
Operation = Ont#getPrice
Output (name=price, typ
e=Ont#BookPrice)
Input(name=year, type=Ont#PrintYear)
Input (name=isbn, type=Ont#ISBN)Input ( name=title, type=Ont#BookTitle)
Location=Georgia Category=Book Stores
Supply Time=2 days QoS OntologyAvailability =
0.9
OWL-S Ontology
• OWL-S is an OWL ontology to describe Web services
• Formerly called DAML_S by DAML Group• W3C Note• OWL-S leverages on OWL to
– Support capability based discovery of Web services
– Support automatic composition of Web Services– Support automatic invocation of Web services– OWL-S provides a semantic layer over Web
services standards• OWL-S relies on WSDL for Web service invocation (see
Grounding)• OWL-s Expands UDDI for Web service discovery (OWL-
S/UDDI mapping)
OWL-S Upper Ontology
• Mapping to WSDL• communication protocol (RPC, HTTP, …)• marshalling/serialization• transformation to and from XSD to OWL
• Control flow of the service•Black/Grey/Glass Box view
• Protocol Specification• Abstract Messages
•Capability specification•General features of the Service
• Quality of Service• Classification in Service
taxonomies
Service Profile (What does it do?)
• High-level characterization/summary of a service– “Black box” view: Information needed to find
and select a service– IOPE: Inputs, outputs, preconditions, effects– “Binding rules” for inputs, outputs– “Roles” involved
• Can employ logical rules• Analogous to procedure header, DB
schema
OWL-S IOPEs Example
• Input: – ItemDescription (several forms), PriceRange, AcctNam
e, Passwd, CreditCard#, Shipping-address, • Input usage rule:
– Exists(Acct) => Defined (CreditCard#, Shipping-Address)
• Precondition: – Exists(Acct) | CanCreate(Acct)
• Output: – ‘Succeed’ + Receipt | ‘Cancel’ | ‘Fail’
• Effect: – ‘Succeed’ ShippingOrderPlaced
OWL-S Upper Ontology
• Mapping to WSDL• communication protocol (RPC, HTTP, …)• marshalling/serialization• transformation to and from XSD to OWL
• Control flow of the service• Protocol Specification• Abstract Messages
•Capability specification•General features of the Service
• Quality of Service• Classification in Service
taxonomies
Service Model (How does it work?)
• Interpretable description of service provider’s behavior
• Tells service user how and when to interact (read/write messages)
• “Glass box” view• Detailed characterization of what it does• Can employ logical rules• Analogous to procedure body (but
abstract)• Used for:
– Service invocation, planning/composition, interoperation, monitoring
OWL-S Service Model
Composite Process Example
www.acmeair.com
book flight service
• customer name• flight numbers• dates• credit card no.• ... • confirmation no.
• ...
• failure notification• errror information• …
?www.acmehotel.com
book hotel service
• confirmation no.• dates• room type• credit card no.• ... • confirmation no.
• ...
• failure notification• …
?
www.acmecar.com
book car service
• customer name• location• car type• dates• credit card no.• ...
• confirmation no.• ...
• failure notification• …
?
• • • •
• • • • • • • • • •
• • • •
?
• • • • • • • • • • •
Input &Preconditions
Output &Effects
• • • •
• • • •
OWL-S Upper Ontology
• Mapping to WSDL• communication protocol (RPC, HTTP, …)• marshalling/serialization• transformation to and from XSD to OWL
• Control flow of the service•Black/Grey/Glass Box view
• Protocol Specification• Abstract Messages
•Capability specification•General features of the Service
• Quality of Service• Classification in Service
taxonomies
OWL-S/WSDL Grounding
Service Grounding (How is it used?)
• Implementation-specific • Message formatting, transport
mechanisms, protocols, serializations of types
• Service Model + Grounding give everything needed for using the service
• Examples: HTTP forms, SOAP, KQML, CORBA IDL, OAA ICL, Java RMI
Grounding Example
• Transport: Secure HTTP• Protocol: HTTP Forms• Address: https://buybot.congo.com:4040/initsu
b.htm• Type Serializations
– ItemDescription (keywords): Set of DAML literals– PriceRange: pair of monetary units, ISO 5678– CreditCard:
https://transcredit.com/S1.daml#SecureTransferFormat
OWL-S Development Tools
• WSDL2OWLS. Available at http://www.daml.ri.cmu.edu/wsdl2owls
• OWL-S/UDDI matchmaker Available at• http://www.daml.ri.cmu.edu/matchmaker.• Complete implementation of OWL-S 1.1 AP
I
Other efforts to SWS
• Web Service Modeling Framework (WSML)- Web Service Modeling Ontology (WSMO)
• Internet Reasoning Service (IRS-II) and (IRS-III) are Semantic Web Services Framework, developed by KMI,
• …
References OWL-S
• The main repository of papers on OWL-S is at http://www.daml.org/services/owl-s/pub-archive.html
• The main source of information on OWL-S is the Web site http://www.daml.org/services/owl-s
• W3C reference http://www.w3.org/Submission/OWL-S/