Introduction to Databases: From Data to Knowledge Bases Instructors: Bertram Ludaescher Kai Lin Instructors: Bertram Ludaescher Kai Lin.

Slides:



Advertisements
Similar presentations
1 Radio Maria World. 2 Postazioni Transmitter locations.
Advertisements

Números.
Trend for Precision Soil Testing % Zone or Grid Samples Tested compared to Total Samples.
Trend for Precision Soil Testing % Zone or Grid Samples Tested compared to Total Samples.
AGVISE Laboratories %Zone or Grid Samples – Northwood laboratory
Trend for Precision Soil Testing % Zone or Grid Samples Tested compared to Total Samples.
Entity Relationship (ER) Modeling
PDAs Accept Context-Free Languages
ALAK ROY. Assistant Professor Dept. of CSE NIT Agartala
/ /17 32/ / /
Reflection nurulquran.com.
EuroCondens SGB E.
Worksheets.
Chapter 7 System Models.
Sequential Logic Design
Addition and Subtraction Equations
By John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman
1 When you see… Find the zeros You think…. 2 To find the zeros...
Add Governors Discretionary (1G) Grants Chapter 6.
CALENDAR.
CHAPTER 18 The Ankle and Lower Leg
Summative Math Test Algebra (28%) Geometry (29%)
Introduction to Turing Machines
ASCII stands for American Standard Code for Information Interchange
Programming Language Concepts
The 5S numbers game..
突破信息检索壁垒 -SciFinder Scholar 介绍
A Fractional Order (Proportional and Derivative) Motion Controller Design for A Class of Second-order Systems Center for Self-Organizing Intelligent.
Numerical Analysis 1 EE, NCKU Tien-Hao Chang (Darby Chang)
The basics for simulations
Factoring Quadratics — ax² + bx + c Topic
EE, NCKU Tien-Hao Chang (Darby Chang)
© 2010 Concept Systems, Inc.1 Concept Mapping Methodology: An Example.
1 IMDS Tutorial Integrated Microarray Database System.
MM4A6c: Apply the law of sines and the law of cosines.
Figure 3–1 Standard logic symbols for the inverter (ANSI/IEEE Std
Dynamic Access Control the file server, reimagined Presented by Mark on twitter 1 contents copyright 2013 Mark Minasi.
TCCI Barometer March “Establishing a reliable tool for monitoring the financial, business and social activity in the Prefecture of Thessaloniki”
Copyright © [2002]. Roger L. Costello. All Rights Reserved. 1 XML Schemas Reference Manual Roger L. Costello XML Technologies Course.
Progressive Aerobic Cardiovascular Endurance Run
Lecture plan Outline of DB design process Entity-relationship model
MaK_Full ahead loaded 1 Alarm Page Directory (F11)
When you see… Find the zeros You think….
2011 WINNISQUAM COMMUNITY SURVEY YOUTH RISK BEHAVIOR GRADES 9-12 STUDENTS=1021.
Before Between After.
2011 FRANKLIN COMMUNITY SURVEY YOUTH RISK BEHAVIOR GRADES 9-12 STUDENTS=332.
ST/PRM3-EU | | © Robert Bosch GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying.
1 GIS Maps and Tax Roll Submission. 2 Exporting A New Shapefile.
Numeracy Resources for KS2
1 Non Deterministic Automata. 2 Alphabet = Nondeterministic Finite Accepter (NFA)
Chapter 2 Entity-Relationship Data Modeling: Tools and Techniques
Static Equilibrium; Elasticity and Fracture
ANALYTICAL GEOMETRY ONE MARK QUESTIONS PREPARED BY:
Resistência dos Materiais, 5ª ed.
Lial/Hungerford/Holcomb/Mullins: Mathematics with Applications 11e Finite Mathematics with Applications 11e Copyright ©2015 Pearson Education, Inc. All.
WARNING This CD is protected by Copyright Laws. FOR HOME USE ONLY. Unauthorised copying, adaptation, rental, lending, distribution, extraction, charging.
9. Two Functions of Two Random Variables
A Data Warehouse Mining Tool Stephen Turner Chris Frala
Chart Deception Main Source: How to Lie with Charts, by Gerald E. Jones Dr. Michael R. Hyman, NMSU.
1 Non Deterministic Automata. 2 Alphabet = Nondeterministic Finite Accepter (NFA)
Introduction Embedded Universal Tools and Online Features 2.
What impact does the address have on the tribe?
Schutzvermerk nach DIN 34 beachten 05/04/15 Seite 1 Training EPAM and CANopen Basic Solution: Password * * Level 1 Level 2 * Level 3 Password2 IP-Adr.
Ontology From Wikipedia, the free encyclopedia In philosophy, ontology (from the Greek oν, genitive oντος: of being (part. of εiναι: to be) and –λογία:
CSE-291: Ontologies in Data & Process Integration Department of Computer Science & Engineering University of California, San Diego CSE-291: Ontologies.
SKOS. Ontologies Metadata –Resources marked-up with descriptions of their content. No good unless everyone speaks the same language; Terminologies –Provide.
An Ontology-Driven Framework for Data Transformation in Scientific Workflows Shawn Bowers Bertram Ludäscher San Diego Supercomputer Center University of.
SEEK Semantic Mediation Shawn Bowers Bertram Ludäscher e-Science Centre, May 11-14, 2004,
CSE-291: Ontologies in Data Integration Department of Computer Science & Engineering University of California, San Diego CSE-291: Ontologies in Data Integration.
Ontology From Wikipedia, the free encyclopedia
Presentation transcript:

Introduction to Databases: From Data to Knowledge Bases Instructors: Bertram Ludaescher Kai Lin Instructors: Bertram Ludaescher Kai Lin

Introduction to KR, B. Ludaescher & K. Lin 2 Overview 08:30-9:30Introduction to KR (1h) 9:30 – 9:45BREAK (15’) 9:45 -11:20Intro to KR (1h45’) 11:20-11:50Demos (30’) 11:50-13:15LUNCH (1h25’) Demonstrations/Hands-on (~30’) Ontology-enabled data integration Concept map creation tool Ontology creation tool

Introduction to KR, B. Ludaescher & K. Lin 3 The Problem: Scientific Data Integration or: … from Questions to Queries …

Introduction to KR, B. Ludaescher & K. Lin 4 Ontology Cheat Sheet (1/2) What is an ontology? An ontology usually … –specifies a theorymodels –specifies a theory (a set of logic models) by … –definingrelating –defining and relating … –concepts –concepts representing features of a domain of interest Also overloaded (sloppy) for: –Controlled vocabularies –Database schema (relational, XML Schema/DTD, …) –Conceptual schema (ER, UML, … ) –Thesauri (synonyms, broader term/narrower term) –Taxonomies (classifications) –Informal/semi-formal knowledge representations “Concept spaces”, “concept maps” Labeled graphs / semantic networks (RDF) –Formal ontologies, e.g., in [Description] Logic (OWL) “formalization of a specification”  constrains possible interpretation of terms

Introduction to KR, B. Ludaescher & K. Lin 5 Ontology Cheat Sheet (2/2) What are ontologies used for? –Conceptual models of a domain or application, (communication means, system design, …) –Classification of … concepts (taxonomy) and data/object instances through classes –Analysis of ontologies e.g. Graph queries (reachability, path queries, …) Reasoning (concept subsumption, consistency checking, …) –Targets for semantic data registration –Conceptual indexes and views for searching, browsing, querying, and integration of registered data

Introduction to KR, B. Ludaescher & K. Lin 6 Ontologies as Metadata++ Ontologies = Smarter Metadata TM

Introduction to KR, B. Ludaescher & K. Lin 7 Smarter (Meta)data I: Logical Data Views Source: NADAM Team (Boyan Brodaric et al.) Adoption of a standard (meta)data model => wrap data sets into unified virtual views

Introduction to KR, B. Ludaescher & K. Lin 8 Smarter Metadata II: Multihierarchical Rock Classification for “Thematic Queries” (GSC) –– or: Taxonomies are not only for biologists... Composition Genesis Fabric Texture “smart discovery & querying” via multiple, independent concept hierarchies (controlled vocabularies) data at different description levels can be found and processed

Introduction to KR, B. Ludaescher & K. Lin 9 Biomedical Informatics Research Network Biomedical Informatics Research Network Smarter Metadata III: Source Contextualization & Ontology Refinement The next frontier: Capturing Knowledge about Dynamic Processes  “Process Ontologies”

Introduction to KR, B. Ludaescher & K. Lin 10 Ontology-Enabled Application Example: Geologic Map Integration Show formations where AGE = ‘Paleozic’ (without age ontology) Show formations where AGE = ‘Paleozic’ (without age ontology) Show formations where AGE = ‘Paleozic’ (with age ontology) Show formations where AGE = ‘Paleozic’ (with age ontology) +/- a few hundred million years domain knowledge domain knowledge Knowledge representation AGE ONTOLOGY Nevada

Introduction to KR, B. Ludaescher & K. Lin 11 Integrated querying of multiple datasets via different “ontologies” (conceptual views)

Introduction to KR, B. Ludaescher & K. Lin 12 Querying by Geologic Age …

Introduction to KR, B. Ludaescher & K. Lin 13 Querying by Geologic Age: Result

Introduction to KR, B. Ludaescher & K. Lin 14 Querying by Chemical Composition …

Introduction to KR, B. Ludaescher & K. Lin 15 Querying by Chemical Composition: Results DO know: It’s NOT there! DON’T know! (not registered) Note the fine differences in shades of gray: OK – we got to work on the color coding ;-) ? !

Introduction to KR, B. Ludaescher & K. Lin 16 Querying w/ British Rock Classification Uses a GSC  BRC inter-ontology articulation mapping

Introduction to KR, B. Ludaescher & K. Lin 17 British Rock Classification Query: Results Uses a GSC  BRC inter-ontology articulation mapping

Introduction to KR, B. Ludaescher & K. Lin 18 Different views on State Geological Maps

Introduction to KR, B. Ludaescher & K. Lin 19 The Query: Show sedimentary rocks The Puzzle: Find the 17 differences in the results… but first: what states are we looking at?

Introduction to KR, B. Ludaescher & K. Lin 20 Sedimentary Rocks: BGS Ontology

Introduction to KR, B. Ludaescher & K. Lin 21 Sedimentary Rocks: GSC Ontology

Introduction to KR, B. Ludaescher & K. Lin 22 Differing Conceptual Views: Why? We are looking at the same datasets – why do they look different? –Different rock classifications (GSC, BGS) are used as “targets” for registering data to –Not every rock name/rock type found in the raw data is found in both classifications –The mapping (“articulation”) between the classifications is an approximation only Yet: having “conceptual views” (even if different) on the data really seems like a good idea…

Introduction to KR, B. Ludaescher & K. Lin 23 Geologic Map Integration Given: –Geologic maps from different state geological surveys (shapefiles w/ different data schemas) –Different ontologies: Geologic age ontology Rock classification ontologies: –Multiple hierarchies (chemical, fabric, texture, genesis) from Geological Survey of Canada (GSC) –Single hierarchy from British Geological Survey (BGS) Problem: –Support uniform queries using different ontologies –Support registration w/ ontology A, querying w/ ontology B

Introduction to KR, B. Ludaescher & K. Lin 24 A Multi-Hierarchical Rock Classification “Ontology” (really:Taxonomy) Composition Genesis Fabric Texture

Introduction to KR, B. Ludaescher & K. Lin 25 Implementation in OWL: Not only “for the machine” …

Introduction to KR, B. Ludaescher & K. Lin 26 Demonstration of Ontology-enabled Map Integration (OMI) v2 Data ontology A ontology C ontology B Ontology enabled Map Integrator {A,B} Application (B) Application (C) “Semantic Registration” Data sets OntologiesApplications

Introduction to KR, B. Ludaescher & K. Lin 27 Ontology Mapping: Overview Align ontologies Integrate data sets which are registered to different ontologies Query data sets through different ontologies Data set 1 Data set 2 Ontology 1 Ontology 2 register Ontology mappings queries

Introduction to KR, B. Ludaescher & K. Lin 28 Geology Workbench: Initial State click on Ontologies click on Datasets click on Applications An Ontology-based Mediator

Introduction to KR, B. Ludaescher & K. Lin 29 Geology Workbench: Uploading Ontologies click on Ontology Submission Choose an OWL file to uploadClick to check its detail Name Space Can be used to import this ontology into others

Introduction to KR, B. Ludaescher & K. Lin 30 Geology Workbench: Data (to Ontology!) Registration Step 1: Choose Classes Click on Submission Data set nameSelect a shapefile Choose an ontology

Introduction to KR, B. Ludaescher & K. Lin 31 Geology Workbench: Data Registration Step 2: Choose Columns for Selected Classes AREA PERIMETER AZ_1000 AZ_1000_I D GEO PERIOD ABBREV DESCR D_SYMBOL P_SYMBOL It contains information about geologic age

Introduction to KR, B. Ludaescher & K. Lin 32 Geology Workbench: Data Registration Step 3: Resolve Mismatches Two terms are not matched any ontology terms Manually mapping algonkian into the ontology

Introduction to KR, B. Ludaescher & K. Lin 33 Geology Workbench: Ontology-enabled Map Integrator Click on the name Choose interesting Classes All areas with the age Paleozoic

Introduction to KR, B. Ludaescher & K. Lin 34 Geology Workbench: Change Ontology Submit a mapping Ontology mapping between British Rock Classification and Canadian Rock Classification Switch from Canadian Rock Classification to British Rock Classification Run it New query interface

Introduction to KR, B. Ludaescher & K. Lin 35 Ontology Repository Accept user-defined ontologies in OWL Any ontology saved in the system or accessible by can be imported into another user-defined ontology (  inter-ontology references) Provide tool to browse the ontologies in the repository …………….. <owl:imports rdf:resource= " /> ……………. <rdfs:subClassOf rdf:resource= " …………….. composition.owl

Introduction to KR, B. Ludaescher & K. Lin 36 Ontology-Enabled Map Integration: Where do we stand? The simple case (done) : ontologies contain only the subclass relation More complicate cases (coming soon) : ontologies contain classes with attributes ontologies with constraints in Description Logic Implementation: v1,v2 prototypes: detail-level registration to ontology v3 (portal): item-level registration to ontology

Introduction to KR, B. Ludaescher & K. Lin 37 Current Ontology Registration (Item-level) v3 Domain Knowledge Ontologies Arizona

Introduction to KR, B. Ludaescher & K. Lin 38 GEON Search: Concept-based Querying

Introduction to KR, B. Ludaescher & K. Lin 39 GEONmiddleware System Overview myOntology.owl myDataset.foo metadata User Access (via Portal) Gazetteer, DLESE, … Geologic Age, Chronos, … external services GEONsearch Search condition(s) spatial temporal concept Log GEONworkbench GEON Workspace (user) User actions add delete manipulate GEON Catalog ResourceRegistration SRB Client Access (via web services) Other distributed apps Kepler, DLESE, …

Introduction to KR, B. Ludaescher & K. Lin 40 Introduction to Knowledge Representation and Ontologies

Introduction to KR, B. Ludaescher & K. Lin 41 Complex Multiple-Worlds Mediation and XML XML is Syntax –DTDs talk about element nesting –XML Schema schemas give you data types –need anything else? => write comments! Domain Semantics is complex: –implicit assumptions, hidden semantics  sources seem unrelated to the non-expert Need Structure and Semantics beyond XML trees!  employ richer OO models  make domain semantics and “glue knowledge” explicit  use ontologies to fix terminology and conceptualization  avoid ambiguities by using formal semantics

XML-Based vs. Model-Based Mediation Raw Data IF  THEN  Logical Domain Constraints Integrated-CM := CM-QL(Src1-CM,...) Integrated-CM := CM-QL(Src1-CM,...) (XML) Objects Conceptual Models XML Elements XML Models C2 C3 C1 R Classes, Relations, is-a, has-a,... Ontologies DMs, PMs Ontologies DMs, PMs Integrated-DTD := XQuery(Src1-DTD,...) Integrated-DTD := XQuery(Src1-DTD,...) No Domain Constraints A = (B*|C),D B =... Structural Constraints (DTDs), Parent, Child, Sibling,... CM ~ {Descr.Logic, ER, UML, RDF/XML(-Schema), …} CM-QL ~ {F-Logic, OWL, …}

Introduction to KR, B. Ludaescher & K. Lin 43 Knowledge Representation: Relating Theory to the World via Formal Models Source: John F. Sowa, Knowledge Representation: Logical, Philosophical, and Computational FoundationsKnowledge Representation: Logical, Philosophical, and Computational Foundations “All models are wrong, but some models are useful!”

Introduction to KR, B. Ludaescher & K. Lin 44 What is an ontology??

Introduction to KR, B. Ludaescher & K. Lin 45 Glossary (wordreference.com) ontology noun 1 (Philosophy) the branch of metaphysics that deals with the nature of being 2 (Logic) the set of entities presupposed by a theory taxonomy noun 1 a the branch of biology concerned with the classification of organisms into groups based on similarities of structure, origin, etc.b the practice of arranging organisms in this way 2 the science or practice of classification [ETYMOLOGY: 19th Century: from French taxonomie, from Greek taxis order + -nomy] thesaurus noun (plural: -ruses, -ri [ -raı ]) 1 a book containing systematized lists of synonyms and related words 2 a dictionary of selected words or topics 3 (rare) a treasury[ETYMOLOGY: 18th Century: from Latin, Greek: treasure]

Introduction to KR, B. Ludaescher & K. Lin 46 Glossary (wordreference.com) concept noun 1 an idea, esp. an abstract idea example: the concepts of biology 2 (Philosophy) a general idea or notion that corresponds to some class of entities and that consists of the characteristic or essential features of the class 3 (Philosophy) a the conjunction of all the characteristic features of something b a theoretical construct within some theory c a directly intuited object of thought d the meaning of a predicate 4 [modifier] (of a product, esp. a car) created as an exercise to demonstrate the technical skills and imagination of the designers, and not intended for mass production or sale[ETYMOLOGY: 16th Century: from Latin conceptum something received or conceived, from concipere to take in, conceive] contingent adjective 1 [when postpositive, often foll by on or upon] dependent on events, conditions, etc., not yet known; conditional 2 (Logic) (of a proposition) true under certain conditions, false under others; not necessary 3 (in systemic grammar) denoting contingency (sense 4) 4 (Metaphysics) (of some being) existing only as a matter of fact; not necessarily existing 5 happening by chance or without known cause; accidental 6 that may or may not happen; uncertain glossary noun (plural: -ries); an alphabetical list of terms peculiar to a field of knowledge with definitions or explanations. Sometimes called: gloss [ETYMOLOGY: 14th Century: from Late Latin glossarium; see gloss 2 ]

Introduction to KR, B. Ludaescher & K. Lin 47 1 st Attempt: Ontologies in CS An ontology is... –an explicit specification of a conceptualization [Gruber93] –a shared understanding of some domain of interest [Uschold, Gruninger96] Different aspects: –a formal specification (reasoning and “execution”) –... of a conceptualisation of a domain (community) –... of some part of the world of interest (application, science domain) Provides: –A common vocabulary of terms –Some specification of the meaning of the terms (semantics) –A shared “understanding” for people and machines

Introduction to KR, B. Ludaescher & K. Lin 48 Ontology as a philosophical discipline Ontology as a philosophical discipline, which deals with the nature and the organization of reality: –Ontology as such is usually contrasted with Epistemology, which deals with the nature and sources of our knowledge [a.k.a. Theory of Knowledge]. Aristotle defined Ontology as the science of being as such: unlike the special sciences, each of which investigates a class of beings and their determinations, Ontology regards all the species of being qua being and the attributes which belong to it qua being" (Aristotle, Metaphysics, IV, 1). In this sense Ontology tries to answer to the question: What is being? What exists? –the nature of being, not an enumeration of “stuff” around us…

Introduction to KR, B. Ludaescher & K. Lin 49 Some different uses of the word “Ontology” [Guarino’95] 1. Ontology as a philosophical discipline 2. Ontology as a an informal conceptual system 3. Ontology as a formal semantic account 4. Ontology as a specification of a “conceptualization” 5. Ontology as a representation of a conceptual system via a logical theory 5.1 characterized by specific formal properties 5.2 characterized only by its specific purposes 6. Ontology as the vocabulary used by a logical theory 7. Ontology as a (meta-level) specification of a logical theory

Introduction to KR, B. Ludaescher & K. Lin 50 Ontologies vs Conceptualizations Given a logical language L... –... a conceptualization is a set of models of L which describes the admittable (intended) interpretations of its non-logical symbols (the vocabulary) –... an ontology is a (possibly incomplete) axiomatization of a conceptualization. conceptualization C(L) ontology set of all models M(L) logictheories (consistent sets of sentences; closed under logical consequence) [Guarino96]

Introduction to KR, B. Ludaescher & K. Lin 51 Ontologies vs Knowledge Bases An ontology is a particular KB, describing facts assumed to be always true by a community of users: –in virtue of the agreed-upon meaning of the vocabulary used (analytical knowledge): black => not white –... whose truth does not descend from the meaning of the vocabulary used (non-analytical, common knowledge) Rome is the capital of Italy An arbitrary KB may describe facts which are contingently true, and relevant to a particular epistemic state: –Mr Smith’s pathology is either cirrhosis or diabetes

Introduction to KR, B. Ludaescher & K. Lin 52 Formal Ontology [Guarino’96] Theory of formal distinctions –among things –among relations Basic tools –Theory of parthood What counts as a part of a given entity? What properties does the part relation have? Are the different kinds of parts? –Theory of integrity What counts as a whole? In which sense are its parts connected? –Theory of identity How can an entity change while keeping its identity? What are its essential properties? Under which conditions does an entity loose its identity? Does a change of “point of view” change the identity conditions? –Theory of dependence Can a given entity exist alone, or does it depend on other entities?

Introduction to KR, B. Ludaescher & K. Lin 53 Ontology: Definition and Scope [Sowa] The subject of ontology is the study of the categories of things that exist or may exist in some domain. The product of such a study, called an ontology, is a catalog of the types of things that are assumed to exist in a domain of interest D from the perspective of a person who uses a language L for the purpose of talking about D. The types in the ontology represent the predicates, word senses, or concept and relation types of the language L when used to discuss topics in the domain D. An uninterpreted logic, such as predicate calculus, conceptual graphs, or KIF, is ontologically neutral. It imposes no constraints on the subject matter or the way the subject may be characterized. By itself, logic says nothing about anything, but the combination of logic with an ontology provides a language that can express relationships about the entities in the domain of interest.

Introduction to KR, B. Ludaescher & K. Lin 54 Ontology: Definition and Scope [Sowa] An informal ontology may be specified by a catalog of types that are either undefined or defined only by statements in a natural language. A formal ontology is specified by a collection of names for concept and relation types organized in a partial ordering by the type-subtype relation. Formal ontologies are further distinguished by the way the subtypes are distinguished from their supertypes: –an axiomatized ontology distinguishes subtypes by axioms and definitions stated in a formal language, such as logic or some computer-oriented notation that can be translated to logic –a prototype-based ontology distinguishes subtypes by a comparison with a typical member or prototype for each subtype. Large ontologies often use a mixture of definitional methods: formal axioms and definitions are used for the terms in mathematics, physics, and engineering; and prototypes are used for plants, animals, and common household items..

Introduction to KR, B. Ludaescher & K. Lin 55 Why develop an ontology? To make domain assumptions explicit –Easier to change domain assumptions –Easier to understand, update, and integrate legacy data  data integration To separate domain knowledge from operational knowledge –Re-use domain and operational knowledge separately A community reference for applications To share a consistent understanding of what information means. [Carole Goble, Nigel Shadbolt, Ontologies and the Grid Tutorial]

Introduction to KR, B. Ludaescher & K. Lin 56 What is being shared? Metadata Data describing the content and meaning of resources and services. But everyone must speak the same language… Terminologies Shared and common vocabularies For search engines, agents, curators, authors and users But everyone must mean the same thing… Ontologies Shared and common understanding of a domain Essential for search, exchange and discovery  Ontologies aim at sharing meaning [Carole Goble, Nigel Shadbolt, Ontologies and the Grid Tutorial]

Introduction to KR, B. Ludaescher & K. Lin 57 Origin and History Humans require words (or at least symbols) to communicate efficiently. The mapping of words to things is indirect. We do it by creating concepts that refer to things. The relation between symbols and things has been described in the form of the meaning triangle: “Jaguar“ Concept Ogden, C. K. & Richards, I. A "The Meaning of Meaning." 8th Ed. New York, Harcourt, Brace & World, Inc before: Frege, Peirce; see [Sowa 2000] [Carole Goble, Nigel Shadbolt, Ontologies and the Grid Tutorial]

Introduction to KR, B. Ludaescher & K. Lin 58 Human and machine communication... Machine Agent 1 Things Human Agent 2 Ontology Description Machine Agent 2 exchange symbol, e.g. via nat. language ‘‘JAGUAR“ Internal models Concept Formal models exchange symbol, e.g. via protocols MA1 HA1 HA2 MA2 Symbol commit a specific domain, e.g. animals commit Ontology Formal Semantics Human Agent 1 Meaning Triangle [Maedche et al., 2002]

Introduction to KR, B. Ludaescher & K. Lin 59 Introduction to Description Logics References: F. Baader, W. Nutt. Basic Description Logics. In the Description Logic Handbook, edited by F. Baader, D. Calvanese, D.L. McGuinness, D. Nardi, P.F. Patel-Schneider, Cambridge University Press, 2002, pages Description Logics Tutorial, Ian Horrocks and Ulrike Sattler, ECAI-2002, Lyon, France, July 23rd, Emerging Sparrow toolkit (Bowers, Ludaescher)

Introduction to KR, B. Ludaescher & K. Lin 60 Example: Description Logic DL definition of “Happy Father” (Example from Ian Horrocks, Ulrike Sattler, U Manchester)

Introduction to KR, B. Ludaescher & K. Lin 61 Science Example: Ontology for SYNAPSE and NCMIR Domain Map (DM) Purkinje cells and Pyramidal cells have dendrites that have higher-order branches that contain spines. Dendritic spines are ion (calcium) regulating components. Spines have ion binding proteins. Neurotransmission involves ionic activity (release). Ion-binding proteins control ion activity (propagation) in a cell. Ion-regulating components of cells affect ionic activity (release). Domain Expert Knowledge DM in Description Logic

Introduction to KR, B. Ludaescher & K. Lin 62 Source Contextualization, Ontology Refinement In addition to registering (“hanging off”) data relative to existing concepts, a source may also refine the mediator’s domain map...  sources can register new concepts at the mediator...

Introduction to KR, B. Ludaescher & K. Lin 63 Some Description Logics History “Structured Inheritance Networks” [Brachman 1977] KL-ONE [Brachman, Schmolze 1985] Core ideas: –Building blocks: atomic concepts (unary predicates), atomic roles (binary predicates), individuals (constants) –Constructors for building complex concepts and roles from simpler ones –Automated inference for concept subsumption and instance classification (is-a/is-instance-of are not explicitly given by the user, but inferred from concept definitions/instance properties)

Introduction to KR, B. Ludaescher & K. Lin 64 Source: Description Logics Tutorial, Ian Horrocks and Ulrike Sattler, ECAI-2002, Lyon, France, July 23rd, 2002

Introduction to KR, B. Ludaescher & K. Lin 65 Knowledge Base (DL-Style) Terminological Knowledge (TBox) –Concept Definition (naming of concepts): –Axiom (constraining of concepts): => a mediators “glue knowledge source” Assertional Knowledge (ABox) about Individuals –n27_img118 : Neuron => the concrete instances/individuals of the concepts/classes that your sources export

Introduction to KR, B. Ludaescher & K. Lin 66 Example TBox Atomic concepts = {P,F,W, M1,…} Base concepts = {P,F} Defined concepts = {W, M1, M2, …} Roles = {h1,h2} Concept Definition Axiom where A atomic concept, C, D complex concept expressions C, D complex concept expressions

Introduction to KR, B. Ludaescher & K. Lin 67 Example TBox Base concepts = {Person, Female} Base concepts = {Person, Female} … occur on the RHS only Defined concepts = {P, F, W, …} Defined concepts = {P, F, W, …} … occur on the LHS (& maybe RHS) Base interpretation J: interpret base concepts only Base interpretation J: interpret base concepts only Extension I of J: on same domain as J and agrees (on base) with J Extension I of J: on same domain as J and agrees (on base) with J TBox T is definitorial if every base interpretation has exactly one extension that is a model of T TBox T is definitorial if every base interpretation has exactly one extension that is a model of T

Introduction to KR, B. Ludaescher & K. Lin 68 Brains-On (Hands-off) Session TM

Introduction to KR, B. Ludaescher & K. Lin 69 What do we mean here? Starting with the base interpretation of I(Person) := “the class of persons” I(Female) := “the class of females” … what is the meaning of the defined concepts? … what role play the roles in this process?

Introduction to KR, B. Ludaescher & K. Lin 70 And the answer is … atomic concept concept def. w/ intersection … plus negation … existential restriction … value restriction… value restriction

Introduction to KR, B. Ludaescher & K. Lin 71 Digression: “Sparrow” (Prolog) Syntax for DL Sparrow “Grammar” and “Parser” Example in Sparrow Syntax

Introduction to KR, B. Ludaescher & K. Lin 72 Back to Reasoning with the Family... concept definition: MyConcept  DL-formula concept inclusion: MyConcept  DL-formula finite set of definitions is a terminology or TBox if for every atomic concept A there is at most one axiom whose lhs is A

Introduction to KR, B. Ludaescher & K. Lin 73 Expansion of Terminologies For acyclic T we can “unfold” concept definitions until every defined concepts is specified in terms of primitive concepts only  the expansion of a TBox T Example:

Introduction to KR, B. Ludaescher & K. Lin 74 Reasoning in the Tableaux calculus TBox Expansion From this We want to show this In First-order (LeanTap) syntax

Introduction to KR, B. Ludaescher & K. Lin 75 Reasoning Services Remember the distinction between evaluation a query (over a DB) vs reasoning with queries (symbolic expressions)? The former can be very hard, esp. for large databases and complex queries The latter is much harder still, even for small queries and knowledge bases, ontologies Specialized DL reasoners (FACT, Racer, …) better than general purpose FO reasoners

Introduction to KR, B. Ludaescher & K. Lin 76 OK – enough of that jazz… let’s look at some demos …

Introduction to KR, B. Ludaescher & K. Lin 77 Tools for Editing and Processing Ontology 1.Protégé 2000 (RDF, OWL) CmapTools (concept map) Java API Jena OWL API Geology Map Integration Demo:

Introduction to KR, B. Ludaescher & K. Lin 78 ANOTHER APPLICATION OF ONTOLOGIES: An Ontology-Driven Framework for Data Transformation in Scientific Workflows (from DILS’04) Shawn Bowers Bertram Ludäscher San Diego Supercomputer Center University of California, San Diego

Introduction to KR, B. Ludaescher & K. Lin 79 Outline Background (SEEK Project) Scientific Workflows The Problem: Reusing Structurally Incompatible Services The Ontology-Driven Framework Future Work

Introduction to KR, B. Ludaescher & K. Lin 80 Outline Background (SEEK Project) Scientific Workflows The Problem: Reusing Structurally Incompatible Services The Ontology-Driven Framework Future Work

Introduction to KR, B. Ludaescher & K. Lin 81 Science Environment for Ecological Knowledge (SEEK) Domain Science Driver –Ecology (LTER), biodiversity, … Analysis & Modeling System –Design and execution of ecological models and analysis –End user focus –{application,upper}- ware Semantic Mediation System –Data Integration of hard-to-relate sources and processes –Semantic Types and Ontologies –upper middleware EcoGrid –Access to ecology data and tools –{middle,under}-ware Architecture (cf. US cyberinfrastructure, UK e-Science) this paper

Introduction to KR, B. Ludaescher & K. Lin 82 Outline The SEEK Project Scientific Workflows –Focus: analysis & component integration on top of data integration The Problem: Reusing Structurally Incompatible Services The Ontology-Driven Framework Future Work

Introduction to KR, B. Ludaescher & K. Lin 83 Promoter Identification in Kepler [SSDBM’03] Problems –Many components (web serivces) are NOT designed to fit! “The problem P that X solves is simple, and X doesn’t solve it well” –Semantically meaningful connections are structurally incompatible Approach –Distinguish structural type and semantic type –Structural type: e.g. XML Schema –Semantic type: e.g. OWL expressions –Exploit the (optional!) semantic type as much as possible Problems –Many components (web serivces) are NOT designed to fit! “The problem P that X solves is simple, and X doesn’t solve it well” –Semantically meaningful connections are structurally incompatible Approach –Distinguish structural type and semantic type –Structural type: e.g. XML Schema –Semantic type: e.g. OWL expressions –Exploit the (optional!) semantic type as much as possible

Introduction to KR, B. Ludaescher & K. Lin 84 Service Reusability A scientist wishes to connect two (independent) services Source Service Source Service Target Service Target Service PsPs PtPt Desired Connection

Introduction to KR, B. Ludaescher & K. Lin 85 Service Reusability In Ptolemy II/Kepler (and in web services), input and output ports (message parts) have structural types (XML Schema) Source Service Source Service Target Service Target Service PsPs PtPt Structural Type P t Structural Type P s Desired Connection

Introduction to KR, B. Ludaescher & K. Lin 86 Service Reusability Unless “designed to fit,” independent services are structurally incompatible  Generally, the source output type will not be a subtype of the target input type Source Service Source Service Target Service Target Service PsPs PtPt Structural Type P t Structural Type P s Desired Connection Incompatible (⋠)(⋠)

Introduction to KR, B. Ludaescher & K. Lin 87 Service Reusability A transformation mapping (  ) is required to connect the services … artificially creating subtype compatibility If such a  exists, the services are “structurally feasible” Source Service Source Service Target Service Target Service PsPs PtPt Structural Type P t Structural Type P s Desired Connection Incompatible (⋠)(⋠) (Ps)(Ps) (Ps)(Ps)  (≺)(≺)

Introduction to KR, B. Ludaescher & K. Lin 88 Service Reusability We can annotate services with semantic types for discovery and interoperability of services Source Service Source Service Target Service Target Service PsPs PtPt Ontologies (OWL) Semantic Type P s Semantic Type P t Desired Connection Compatible (⊑)(⊑)

Introduction to KR, B. Ludaescher & K. Lin 89 Service Reusability Services can be semantically compatible, but structurally incompatible Source Service Source Service Target Service Target Service PsPs PtPt Semantic Type P s Semantic Type P t Structural Type P t Structural Type P s Desired Connection Incompatible Compatible (⋠)(⋠) (⊑)(⊑) (Ps)(Ps) (Ps)(Ps)  (≺)(≺) Ontologies (OWL)

Introduction to KR, B. Ludaescher & K. Lin 90 Example Structural Types (XML) S 1 (life stage property) S 2 (mortality rate for period) S 2 (mortality rate for period) P1P1 P2P2 P4P4 P3P3 P5P5 root population = (sample)* elem sample= (meas, lsp) elem meas= (cnt, acc) elem cnt= xsd:integer elem acc= xsd:double elem lsp= xsd:string 44, Eggs … root cohortTable= (measurement)* elem measuremnt= (phase, obs) elem phase= xsd:string elem obs= xsd:integer Eggs 44,000 … structType(P 2 ) structType(P 3 )

Introduction to KR, B. Ludaescher & K. Lin 91 Example Semantic Types Portion of SEEK measurement ontology MeasContext ObservationEntityMeasProperty hasContext 0:* 1:1 appliesTo hasProperty 0:* Accuracy Qualifier Ecological Property Abundance Count LifeStage Property Numeric Value Spatial Location hasLocation hasCount 1:1 hasValue 1:1 itemMeasured 1:*

Introduction to KR, B. Ludaescher & K. Lin 92 Example Semantic Types Portion of SEEK measurement ontology MeasContext ObservationEntityMeasProperty hasContext 0:* 1:1 appliesTo hasProperty 0:* Accuracy Qualifier Ecological Property Abundance Count LifeStage Property Numeric Value Spatial Location hasLocation hasCount 1:1 hasValue 1:1 itemMeasured 1:* Same in OWL, a description logic standard (here, Sparrow syntax): Observation subClassOf forall hasContext/MeasContext and forall hasProperty/MeasProperty and exists itemMeasured/Entity. MeasContext subClassOf exists appliesTo/Entity and atmost 1/appliesTo. EcologicalProperty subClassOf Entity. LifeStageProperty subClassOf EcologicalProperty. AbundanceCount subClassOf EcologicalProperty and exists hasLocation/SpatialLocation and atMost 1/hasLocation and exists hasCount/NumericValue and atMost 1/hasCount. Same in OWL, a description logic standard (here, Sparrow syntax): Observation subClassOf forall hasContext/MeasContext and forall hasProperty/MeasProperty and exists itemMeasured/Entity. MeasContext subClassOf exists appliesTo/Entity and atmost 1/appliesTo. EcologicalProperty subClassOf Entity. LifeStageProperty subClassOf EcologicalProperty. AbundanceCount subClassOf EcologicalProperty and exists hasLocation/SpatialLocation and atMost 1/hasLocation and exists hasCount/NumericValue and atMost 1/hasCount.

Introduction to KR, B. Ludaescher & K. Lin 93 Example Semantic Types Semantic types for P2 and P3 S 1 (life stage property) S 2 (mortality rate for period) S 2 (mortality rate for period) P1P1 P2P2 P4P4 P3P3 P5P5 Observation semType(P 3 ) MeasContext hasContext 1:1 appliesTo LifeStage Property 1:1 Abundance Count itemMeasured Number Value hasCount 1:1 semType(P 2 ) ⊑ Accuracy Qualifier hasProperty 1:1 hasValue 1:1

Introduction to KR, B. Ludaescher & K. Lin 94 Example Semantic Types Semantic types for P2 and P3 S 1 (life stage property) S 2 (mortality rate for period) S 2 (mortality rate for period) P1P1 P2P2 P4P4 P3P3 P5P5 Observation semType(P 3 ) MeasContext hasContext 1:1 appliesTo LifeStage Property 1:1 Abundance Count itemMeasured Number Value hasCount 1:1 semType(P 2 ) ⊑ Accuracy Qualifier hasProperty 1:1 hasValue 1:1 semType(P3) subClassOf Observation and exists hasContext/(MeasurementContext and exists appliesTo/LifeStageProperty and atMost 1/appliesTo) and exists itemMeasured/AbundanceCount and atMost 1/itemMeasured. semType(P2) subClassOf Observation and exists hasContext/(MeasurementContext and exists appliesTo/LifeStageProperty and atMost 1/appliesTo) and exists itemMeasured/AbundanceCount and atMost 1/itemMeasured and exists hasProperty/AccuracyQualifier and atMost 1/hasProperty. semType(P3) subClassOf Observation and exists hasContext/(MeasurementContext and exists appliesTo/LifeStageProperty and atMost 1/appliesTo) and exists itemMeasured/AbundanceCount and atMost 1/itemMeasured. semType(P2) subClassOf Observation and exists hasContext/(MeasurementContext and exists appliesTo/LifeStageProperty and atMost 1/appliesTo) and exists itemMeasured/AbundanceCount and atMost 1/itemMeasured and exists hasProperty/AccuracyQualifier and atMost 1/hasProperty.

Introduction to KR, B. Ludaescher & K. Lin 95 Outline The SEEK Project Scientific Workflows The Problem: Reusing Structurally Incompatible Services The Ontology-Driven Framework Future Work

Introduction to KR, B. Ludaescher & K. Lin 96 The Ontology-Driven Framework Define semantic registration mappings (“semantic views”) to connect structural and semantic types Use registration mappings to (semi-) automate transformation, based on derived structural correspondences Depending on the ontologies and registration mappings, it may not be possible to find an appropriate  … (since the correspondence is often under-specified)

Introduction to KR, B. Ludaescher & K. Lin 97 The Ontology-Driven Framework Source Service Source Service Target Service Target Service PsPs PtPt Semantic Type P s Semantic Type P t Structural Type P t Structural Type P s Desired Connection Compatible (⊑)(⊑) Registration Mapping (Output) Registration Mapping (Input) Ontologies (OWL)

Introduction to KR, B. Ludaescher & K. Lin 98 Registration Example (simple XPaths) /population/sample == semType(P2) /population/sample/meas/cnt == semType(P2).itemMeasured /population/sample/meas/cnt/text() == semType(P2).itemMeasured.hasCount /population/sample/meas/acc == semType(P2).hasProperty /population/sample/meas/acc/text() == semType(P2).hasProperty.hasValue /population/sample/lsp/text() == semType(P2).hasContext.appliesTo root population = (sample)* elem sample= (meas, lsp) elem meas= (cnt, acc) elem cnt= xsd:integer elem acc= xsd:double elem lsp= xsd:string 44, Eggs … structType(P 2 )

Introduction to KR, B. Ludaescher & K. Lin 99 Registration Example (simple XPaths) /population/sample == semType(P2) /population/sample/meas/cnt == semType(P2).itemMeasured /population/sample/meas/cnt/text() == semType(P2).itemMeasured.hasCount /population/sample/meas/acc == semType(P2).hasProperty /population/sample/meas/acc/text() == semType(P2).hasProperty.hasValue /population/sample/lsp/text() == semType(P2).hasContext.appliesTo root population = (sample)* elem sample= (meas, lsp) elem meas= (cnt, acc) elem cnt= xsd:integer elem acc= xsd:double elem lsp= xsd:string 44, Eggs … structType(P 2 ) Each sample is an instance of the semantic type

Introduction to KR, B. Ludaescher & K. Lin 100 Registration Example (simple XPaths) /population/sample == semType(P2) /population/sample/meas/cnt == semType(P2).itemMeasured /population/sample/meas/cnt/text() == semType(P2).itemMeasured.hasCount /population/sample/meas/acc == semType(P2).hasProperty /population/sample/meas/acc/text() == semType(P2).hasProperty.hasValue /population/sample/lsp/text() == semType(P2).hasContext.appliesTo root population = (sample)* elem sample= (meas, lsp) elem meas= (cnt, acc) elem cnt= xsd:integer elem acc= xsd:double elem lsp= xsd:string 44, Eggs … structType(P 2 ) Each sample ’s cnt represents the itemMeasured object

Introduction to KR, B. Ludaescher & K. Lin 101 Registration Example (simple XPaths) /population/sample == semType(P2) /population/sample/meas/cnt == semType(P2).itemMeasured /population/sample/meas/cnt/text() == semType(P2).itemMeasured.hasCount /population/sample/meas/acc == semType(P2).hasProperty /population/sample/meas/acc/text() == semType(P2).hasProperty.hasValue /population/sample/lsp/text() == semType(P2).hasContext.appliesTo root population = (sample)* elem sample= (meas, lsp) elem meas= (cnt, acc) elem cnt= xsd:integer elem acc= xsd:double elem lsp= xsd:string 44, Eggs … structType(P 2 ) Each sample ’s cnt ’s value represents the hasCount value of the corresponding itemMeasured object

Introduction to KR, B. Ludaescher & K. Lin 102 Registration Example (simple XPaths) /cohortTable/measurement == semType(P3) /cohortTable/measurement/obs == semType(P3).itemMeasured /cohortTable/measurement/obs/text() == semType(P3).itemMeasured.hasCount /cohortTable/measurement/phase/text() == semType(P3).hasContext.appliesTo Eggs 44,000 … root cohortTable= (measurement)* elem measuremnt= (phase, obs) elem phase= xsd:string elem obs= xsd:integer structType(P 3 ) … similary for P 3.. ….

Introduction to KR, B. Ludaescher & K. Lin 103 The Ontology-Driven Framework Source Service Source Service Target Service Target Service PsPs PtPt Semantic Type P s Semantic Type P t Structural Type P t Structural Type P s Desired Connection Compatible (⊑)(⊑) Registration Mapping (Output) Registration Mapping (Input) Correspondence Ontologies (OWL)

Introduction to KR, B. Ludaescher & K. Lin 104 Correspondence Example /population/sample == semType(P2) /population/sample/meas/cnt == semType(P2).itemMeasured /population/sample/meas/cnt/text() == semType(P2).itemMeasured.hasCount /population/sample/meas/acc == semType(P2).hasProperty /population/sample/meas/acc/text() == semType(P2).hasProperty.hasValue /population/sample/lsp/text() == semType(P2).hasContext.appliesTo /cohortTable/measurement == semType(P3) /cohortTable/measurement/obs == semType(P3).itemMeasured /cohortTable/measurement/obs/text() == semType(P3).itemMeasured.hasCount /cohortTable/measurement/phase/text() == semType(P3).hasContext.appliesTo Source-side semantic registration mapping Target-side semantic registration mapping population sample * meas cnt xsd:double xsd:string lsp xsd:integer acc cohortTable measurement * obs xsd:integer phase xsd:string

Introduction to KR, B. Ludaescher & K. Lin 105 Correspondence Example /population/sample == semType(P2) /population/sample/meas/cnt == semType(P2).itemMeasured /population/sample/meas/cnt/text() == semType(P2).itemMeasured.hasCount /population/sample/meas/acc == semType(P2).hasProperty /population/sample/meas/acc/text() == semType(P2).hasProperty.hasValue /population/sample/lsp/text() == semType(P2).hasContext.appliesTo /cohortTable/measurement == semType(P3) /cohortTable/measurement/obs == semType(P3).itemMeasured /cohortTable/measurement/obs/text() == semType(P3).itemMeasured.hasCount /cohortTable/measurement/phase/text() == semType(P3).hasContext.appliesTo Source Target population sample * meas cnt xsd:double xsd:string lsp xsd:integer acc cohortTable measurement * obs xsd:integer phase xsd:string We want to “compose” the registrations to obtain structural correspondences We want to “compose” the registrations to obtain structural correspondences

Introduction to KR, B. Ludaescher & K. Lin 106 Correspondence Example /population/sample == semType(P2) /population/sample/meas/cnt == semType(P2).itemMeasured /population/sample/meas/cnt/text() == semType(P2).itemMeasured.hasCount /population/sample/meas/acc == semType(P2).hasProperty /population/sample/meas/acc/text() == semType(P2).hasProperty.hasValue /population/sample/lsp/text() == semType(P2).hasContext.appliesTo /cohortTable/measurement == semType(P3) /cohortTable/measurement/obs == semType(P3).itemMeasured /cohortTable/measurement/obs/text() == semType(P3).itemMeasured.hasCount /cohortTable/measurement/phase/text() == semType(P3).hasContext.appliesTo Source Target population sample * meas cnt xsd:double xsd:string lsp xsd:integer acc cohortTable measurement * obs xsd:integer phase xsd:string /population/sample == semType(P2) /cohortTable/measurement == semType(P3) These fragments correspond

Introduction to KR, B. Ludaescher & K. Lin 107 Correspondence Example /population/sample == semType(P2) /population/sample/meas/cnt == semType(P2).itemMeasured /population/sample/meas/cnt/text() == semType(P2).itemMeasured.hasCount /population/sample/meas/acc == semType(P2).hasProperty /population/sample/meas/acc/text() == semType(P2).hasProperty.hasValue /population/sample/lsp/text() == semType(P2).hasContext.appliesTo /cohortTable/measurement == semType(P3) /cohortTable/measurement/obs == semType(P3).itemMeasured /cohortTable/measurement/obs/text() == semType(P3).itemMeasured.hasCount /cohortTable/measurement/phase/text() == semType(P3).hasContext.appliesTo Source Target population sample * meas cnt xsd:double xsd:string lsp xsd:integer acc cohortTable measurement * obs xsd:integer phase xsd:string /population/sample/meas/cnt == semType(P2).itemMeasured /cohortTable/measurement/obs == semType(P3).itemMeasured These fragments correspond

Introduction to KR, B. Ludaescher & K. Lin 108 Correspondence Example /population/sample == semType(P2) /population/sample/meas/cnt == semType(P2).itemMeasured /population/sample/meas/cnt/text() == semType(P2).itemMeasured.hasCount /population/sample/meas/acc == semType(P2).hasProperty /population/sample/meas/acc/text() == semType(P2).hasProperty.hasValue /population/sample/lsp/text() == semType(P2).hasContext.appliesTo /cohortTable/measurement == semType(P3) /cohortTable/measurement/obs == semType(P3).itemMeasured /cohortTable/measurement/obs/text() == semType(P3).itemMeasured.hasCount /cohortTable/measurement/phase/text() == semType(P3).hasContext.appliesTo Source Target population sample * meas cnt xsd:double xsd:string lsp xsd:integer acc cohortTable measurement * obs xsd:integer phase xsd:string /population/sample/meas/cnt/text() == semType(P2).itemMeasured.hasCount /cohortTable/measurement/obs/text() == semType(P3).itemMeasured.hasCount These fragments correspond

Introduction to KR, B. Ludaescher & K. Lin 109 Correspondence Example /population/sample == semType(P2) /population/sample/meas/cnt == semType(P2).itemMeasured /population/sample/meas/cnt/text() == semType(P2).itemMeasured.hasCount /population/sample/meas/acc == semType(P2).hasProperty /population/sample/meas/acc/text() == semType(P2).hasProperty.hasValue /population/sample/lsp/text() == semType(P2).hasContext.appliesTo /cohortTable/measurement == semType(P3) /cohortTable/measurement/obs == semType(P3).itemMeasured /cohortTable/measurement/obs/text() == semType(P3).itemMeasured.hasCount /cohortTable/measurement/phase/text() == semType(P3).hasContext.appliesTo Source Target population sample * meas cnt xsd:double xsd:string lsp xsd:integer acc cohortTable measurement * obs xsd:integer phase xsd:string /population/sample/lsp/text() == semType(P2).hasContext.appliesTo /cohortTable/measurement/phase/text() == semType(P3).hasContext.appliesTo These fragments correspond

Introduction to KR, B. Ludaescher & K. Lin 110 The Ontology-Driven Framework Source Service Source Service Target Service Target Service PsPs PtPt Semantic Type P s Semantic Type P t Structural Type P t Structural Type P s Desired Connection Compatible (⊑)(⊑) Registration Mapping (Output) Registration Mapping (Input) Correspondence Generate (Ps)(Ps) (Ps)(Ps) Ontologies (OWL) Transformation

Introduction to KR, B. Ludaescher & K. Lin 111 Example Result (XQuery) Based on the structural correspondences and certain assumptions, we derive the transformation XQuery: { for $s in /population/sample return { for $c in $s/meas/cnt return {$c/text()} } { for $l in $s/lsp return {$l/text()} } }

Introduction to KR, B. Ludaescher & K. Lin 112 Assumptions Made (or why this may not work for you…) Common XPath prefixes refer to the same element Elements in correspondences have compatible cardinalities –source is equivalent or stricter than target (e.g., + is stricter than *) Primitive data types are compatible