700 likes | 720 Views
This lecture covers topics such as model-driven interoperability, semantic web, ontologies, RDF, OWL, semantic SOA, semantic annotation and reconciliation. It discusses the use of semantics in navigating errors and the formalization of definitions with the Semantic Web. The lecture also introduces the concept of ontologies and various ontology languages such as RDF, RDF(S), and OWL. It explores the vision and evolution of the Semantic Web and its potential for data and semantic interoperability.
E N D
INF5120Modellbasert Systemutvikling F13: Model Driven Semantic interoperability – with Semantic web, Ontologies and Semantic SOA Forelesning 28.04.2008 Arne-Jørgen Berre
Agenda • Lecture plan and pensum INF5120 • Model Driven Interoperability (ref. F11) • Semantic Web • Ontologies and RDF, OWL • Semantic Web services and SOA • Semantic Annotation and reconciliation • Semantic SOA
Lectures • 1: 21/1: Introduction to MBSU, MDA, OO and Service/SOA modeling (AJB) • 2: 28/1: Business Process Modeling (CIM) - with BPMN (AJB) • 3: 4/2: Metamodeling and UML profiles, MDA technologies (EMF/GMF) – BPMN example (BRE) • 4: 11/2: Language Engineering and DSL – SOA Example (BRE) • 5: 18/2: Model transformations with ATL and QVT – and JEE (GO) • 6: 25/2: SOA Architectures and UPMS (PIM) (AJB) • 7: 3/3: Method Engineering and Service Modeling/SEMET (BRE) • 8: 10/3: Code generation with MOFScript and other technologies (GO) • EASTER • 9 :31/3:: Service Design and Patterns (AJB) • 10: 7/4: PIM and Web Services technology (PSM) with WSDL/XML/BPEL (PSM) (BRE) • 11: 14/4: Web services and Model Driven Interoperability (BRE) • 12: 21/4: Architecture work at Telenor and Agent technologies (JOEA, Ismar) • 13: 28/4: Model Driven Semantic interoperability–with Ontologies, Semantic web and SOA (AJB) • 14: 5/5: Course summary, Course Handbooks/Material and updated Buyer/Seller Example (AJB) • 15: 26/5 Preparation for exam, Course summary – QA and previous exams (AJB) • Exam: June 2nd, 2008… • AJB – Arne J. Berre, BRE – Brian Elvesæter, GO – Gøran Olsen
SwApp#1 SwApp#2 Local Software & Data Local Software & Data Architecture for semantic annotation and reconciliation Reference Ontology Sem Annot Set #2 Sem Annot Set #1 Design-time Run-time Internet Sem Rec Rules#1 Sem Rec Rules#2 Reconciliation
Semantics • Semantics – ancient Greek for meaning σημαίνω – I signal, sign, show • Semantics has become a buzzword or even a fuzzword • Example from a book about Eclipse: • “We’ll use the same mechanisms to navigate semantic errors (…) that we use to navigate compile errors.” • (failing tests) – semantic error is less precise than “failing tests” • a fuzzword in this case • Oxford English Dictionary: 2. a. Relating to signification or meaning. (as adjective)
Semantics and Definitions • Standard way to communicate meaning is by definition • definition: “Verbal description of a concept, permitting its differentiation from other concepts within a system of concepts.” – International Standard ISO 1087, Terminology – Vocabulary, 1990 • The Semantic Web is about formalizing your definitions “the Semantic Web, as envisioned by Tim Berners-Lee and many others since, is a logical extension of the current Web that enables explicit [machine-processable] representations of term meanings [concepts]” – Frankel, David; Hayes, Pat; Kendall, Elisa; McGuinness, Deborah: MDA Journal July 2004
Ontology FormalitySpectrum: formal "An ontology is an explicit and formal specification (based on logic) of a shared conceptualization" Ontology, e.g, OWL ontology WordNet SAPterm Formal Informal Every tomato is red. for all x ( tomato (x) implies red (x) )
Concept Concept,Object,Designation(term),andDefinition Definition A one-piece, hand- held phone that includes battery power and may be used without any peripheral power or antenna. (Nokia) Object term is verbal designation Designations (terms) Handy (DE) cellular phone, cell phone (US) (two variants) mobile (UK)
morning star More on the meaning triangle evening star An example from Gottlob Frege (1848-1925): different termsdifferent concepts and definitionssame object, the planet Venus
Semantic Web RDF, RDF(S), OWL The general vision • Serious Problems in information: • finding • extracting • representing • interpreting • and maintaining Bringing the web to its full potential: data and semantic interoperability WWW URI, HTML, HTTP
What is the Semantic Web? The Semantic Web is a major research initiative of the World Wide Web Consortium (W3C) to create a metadata-rich Web of resources that can describe themselves not only by how they should be displayed (HTML) or syntactically (XML), but also by the meaning of the metadata. From W3C Semantic Web Activity The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation. Tim Berners-Lee, James Hendler, Ora Lassila, The Semantic Web, Scientific American, May 2001
The Tree of Knowledge Technologies (Extended fromTop Quadrant) WSMO OWL-S WSDL-S SAWSDL CC EXPRESS ISO 15926
RDF: Resource Description Framework • RDF is the simplest of the semantic languages. At the simplest level, the Resource Description Framework is an XML-based language to describe resources. • Basic Idea #1: RFD uses triples • RDF is based on a subject-verb-object statement structure. • RDF subjects are called resources (classes). • Verbs (predicates) are called properties. • Objects (values) may be simple literals or other resources. • Basic Idea #2: Everything is a resource that is named with a URI • RDF nouns, verbs, and objects are all labeled with URIs • A URI is just a name for a resource. • It may be a URL, but not necessarily. • A URI can name anything that can be described. • Web pages, telephone numbers, concepts, creators of web pages, organizations that the creator works for….
Resource Description Framework (RDF) • A language for making simple statements about things (resources) • Statements: Subject Predicate Object (triples) • Item1 isOrderFor Product1 • Item1 is-a Item • Product1 hasName “Lawnmower” predicate subject object LineItem database table:
RDF and URIrefs • Things are identified by Uniform Resource Identifiers (URI, URIref) • Avoids naming clashes http://www.co.uk/vocabulary#Item1 (v:) http://www.w3.org/1999/02/22-rdf-syntax-ns#type (rdf:) • Same example using namespace prefixes • v:Item1 v:isOrderFor v:Product1 • v:Item1 rdf:type v:Item • v:Product1 v:hasName “Lawnmower” • Subject and Predicate are always resources • Objects can be either resources or literals (see 3rd triple)
RDF data model v:Item • RDF statements can be expressed using XML syntax • But, the RDF data model is a graph of nodes and directed arcs • Subjects and objects are nodes • Predicates (also called Properties) are directed arcs from the subject to the object. • properties relate individuals to individuals (or values) rdf:type v:Item1 1 v:hasOrderQuantity
RDF Schema compared to XML • <?xml version="1.0"?> <purchaseOrder orderDate="1999-10-20"> <shipTo country="US"> <name>Alice Smith</name> <street>123 Maple Street</street>… </shipTo> <billTo country="US"> <name>Robert Smith</name> … </billTo> <comment>Hurry, my lawn is going wild!</comment> <items> <item partNum="872-AA"> <productName>Lawnmower </productName> <quantity>1</quantity> <USPrice>148.95</USPrice> <comment>Confirm this is electric </comment> </item> <item partNum="926-AA">… </items> </purchaseOrder> • Has a formal model-theoretic semantics • By contrast, there is no formal semantics for XML documents like po.xml • po.xsd can be turned into an ontology and po.xml into an instance of it • But, there is no standard algorithm to perform that transformation • no single interpretation
RDF:PurchaseOrder <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:po="http://example.com/purchase-order-ns" xmlns:addr="http://example.com/address-ns" xmlns:prod="http://example.com/product-ns"> <po:PurchaseOrder> <po:orderNumber>123456</po:orderNumber> <po:raisedBy> <po:Customer> <po:name>Wild Widgets Inc.</po:name> <po:customerNumber>1447389</po:customerNumber> </po:Customer> </po:raisedBy> <po:customerRef>XS31444</po:customerRef> <po:shipTo> <addr:StreetAddress> <addr:number>1421</addr:number> <addr:street>Plane Avenue</addr:street> <addr:town>1421</addr:town> </addr:StreetAddress> </po:shipTo> <po:lineItem> <po:Item> <prod:code>TYW-65523-GB</prod:code> <prod:color>TYW-65523-GB</prod:color> <po:quantity>15</po:quantity> </po:Item> </po:lineItem> </po:PurchaseOrder> </rdf:RDF>
Ontology Web Language (OWL) • A more expressive ontology language • Concepts (classes) can be described or defined • described – necessary conditions given • defined – necessary and sufficient conditions given • Builds on RDF and can be expressed in several ways: • RDF XML-based syntax • abstract syntax • graphic UML-like • Has three sub-languages: • OWL Full • OWL Description Logic (DL) – maps to a DL, a subset of predicate logic • OWL lite – for simple taxonomies (class hierarchies)
Logical languages for the Semantic Web An example of the reasoning possibilities of the logical languages • The head of an organization is also a member of it • A member of a terror organization is a terrorist • Therefore, the head of a terror organization is a terrorist <owl:Property rdf:ID=“head”> <rdf:subPropertyOf rdfs:resource=“member” /></owl:Property> <owl:Class rdf:ID=“Terrorist”> <owl:sameClassAs> <owl:Restriction> <owl:onProperty rdf:resource=“member” /> <owl:someValuesFrom rdf:resource=“TerroristOrg” /> </owl:Restriction> </owl:sameClassAs></owl:Class> type Terrorist Henri Parot head type TerrorOrg ETA
OWL PurchaseOrder • <rdf:RDF • xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" • xmlns:xsd="http://www.w3.org/2001/XMLSchema#" • xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" • xmlns:owl="http://www.w3.org/2002/07/owl#" • <owl:Class rdf:ID="PurchaseOrderLine"> • <rdfs:subClassOf> • <owl:Class rdf:ID="PricedLine"/> • </rdfs:subClassOf> • <rdfs:comment rdf:datatype=http://www.w3.org/2001/XMLSchema#string> • Inherits from Line and contains information related to delivery. • </rdfs:comment> • </owl:Class> • <owl:ObjectProperty rdf:ID="changesLineValue"> • <rdfs:range rdf:resource="#Amount"/> • <rdfs:domain rdf:resource="#PricedLine"/> • </owl:ObjectProperty> • </rdf:RDF>
39 Service Web
Semantic web service technologies • OWL-S (was DAML-S, US) • WSMO (Europe, DERI, STI, OASIS) • WSDL-S (basis for SAWSDL) • SAWSDL (W3C standard)
OWL-S Ontology • OWL-S is an OWL ontology to describe Web services • 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 "Complete do not compete" • OWL-S does not aim to replace the Web services standards rather OWL-S attempts to provide a semantic layer • 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 • Capability specification • General features of the Service • Quality of Service • Classification in Service • taxonomies • 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
WSMO – Web Service Modeling Ontology • WSMO working group includes the WSML working group, which aims at developing a language called Web Service Modeling Language (WSML) that formalizes the Web Service Modeling Ontology (WSMO). • WSMO: an ontology called Web Service Modeling Ontology (WSMO) for describing various aspects related to Semantic Web Services. Taking the Web Service Modeling Framework (WSMF) as a starting point, we refine and extend this framework, and develop an ontology and a description language. • WSML: aims developing a language called Web Service Modeling Language (WSML) that formalizes the Web Service Modeling Ontology (WSMO). Hereby, we have a two fold mission:a) developing a proper formalization language for semantic web services and b) providing a rule-based language for the semantic web
WSMF • WSMF [consists of four different main elements for describing semantic Web Services: • (1) ontologies that provide the terminology used by other elements, • (2) goals that define the problems that should be solved by Web Services, • (3) Web Services descriptions that define various aspects of a Web Service, and • (4) mediators which bypass interpretability problems.
47 www.wsmo.org WSMO Working Groups WSMO Conceptual Model & Axiomatization for SWS STI2 CMS WG SEE TC WSML WSMX Formal Language for WSMO Execution Environment for WSMO Ontology & Rule Language for the Semantic Web
49 Lifecycle • Discovery find candidate WS to solve a Goal • Selection & Ranking select best candidate / determine a priority list • Composition combine several WS to solve a Goal • Behavioral Compatibility ensure that interaction can take place • Mediation resolve & handle possibly occurring heterogeneities • Execution automatically invoke & consume WS to solve a Goal
SAWSDL - Semantic Annotations for WSDL and XML Schema • W3C Standard August, 2007 • This specification defines a set of extension attributes for the Web Services Description Language and XML Schema definition language that allows description of additional semantics of WSDL components. The specification defines how such semantic annotation is accomplished using references to semantic models, e.g. ontologies • 3 constructs: modelReference, liftingSchemaMapping, loweringSchemaMapping