Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Introduction to Databases: From Data to Knowledge Bases Instructors: Bertram Ludaescher Kai Lin Instructors: Bertram Ludaescher Kai Lin."— Presentation transcript:

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

2 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

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

4 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

5 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

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

7 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

8 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

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

10 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

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

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

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

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

15 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 ;-) ? !

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

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

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

19 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?

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

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

22 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…

23 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

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

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

26 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

27 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

28 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

29 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

30 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

31 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

32 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

33 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

34 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

35 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= "http://compute5.sdsc.geongrid.org:8080/workbench/jsp/ontologies/genesis.owl" /> ……………. <rdfs:subClassOf rdf:resource= "http://compute5.sdsc.geongrid.org:8080/workbench/jsp/ontologies/genesis.owl#Igneous"> …………….. composition.owl

36 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

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

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

39 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, …

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

41 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

42 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, …}

43 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!”

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

45 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]

46 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 ]

47 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

48 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…

49 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 http://ontology.ip.rm.cnr.it/Papers/KBKS95.pdf

50 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] http://www-ksl.stanford.edu/KR96/Guarino-What/P003.html

51 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

52 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?

53 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. http://users.bestweb.net/~sowa/ontology/index.htm

54 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.. http://users.bestweb.net/~sowa/ontology/index.htm

55 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]

56 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]

57 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. 1923. "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]

58 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]

59 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 47-100. Description Logics Tutorial, Ian Horrocks and Ulrike Sattler, ECAI-2002, Lyon, France, July 23rd, 2002. Emerging Sparrow toolkit (Bowers, Ludaescher)

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

61 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

62 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...

63 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)

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

65 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

66 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

67 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

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

69 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?

70 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

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

72 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

73 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:

74 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

75 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

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

77 Introduction to KR, B. Ludaescher & K. Lin 77 Tools for Editing and Processing Ontology 1.Protégé 2000 (RDF, OWL) http://protege.stanford.edu/ http://protege.stanford.edu/ 2.CmapTools (concept map) http://cmap.ihmc.us/ http://cmap.ihmc.us/ 3.Java API Jena http://www.hpl.hp.com/semweb/jena.htm http://www.hpl.hp.com/semweb/jena.htm OWL API http://sourceforge.net/projects/owlapihttp://sourceforge.net/projects/owlapi Geology Map Integration Demo: http://geon01.sdsc.edu:8080/workbench/jsp/onto-list.jsp

78 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

79 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

80 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

81 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

82 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

83 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

84 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

85 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

86 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 (⋠)(⋠)

87 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)  (≺)(≺)

88 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 (⊑)(⊑)

89 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)

90 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,000 0.95 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 )

91 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:*

92 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.

93 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

94 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.

95 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

96 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)

97 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)

98 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,000 0.95 Eggs … structType(P 2 )

99 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,000 0.95 Eggs … structType(P 2 ) Each sample is an instance of the semantic type

100 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,000 0.95 Eggs … structType(P 2 ) Each sample ’s cnt represents the itemMeasured object

101 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,000 0.95 Eggs … structType(P 2 ) Each sample ’s cnt ’s value represents the hasCount value of the corresponding itemMeasured object

102 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.. ….

103 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)

104 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

105 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

106 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

107 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

108 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

109 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

110 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

111 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()} } }

112 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


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

Similar presentations


Ads by Google