Introduction to Databases: From Data to Knowledge Bases - PowerPoint PPT Presentation

Loading...

PPT – Introduction to Databases: From Data to Knowledge Bases PowerPoint presentation | free to view - id: 93218-ZWZkZ



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

Introduction to Databases: From Data to Knowledge Bases

Description:

Fabric. Texture ' ... Multiple hierarchies (chemical, fabric, texture, genesis) from Geological Survey ... Fabric. Texture. 25. Introduction to KR, B. ... – PowerPoint PPT presentation

Number of Views:71
Avg rating:3.0/5.0
Slides: 113
Provided by: bent83
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: Introduction to Databases: From Data to Knowledge Bases


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

2
Overview
  • 0830-930 Introduction to KR (1h)
  • 930 945 BREAK (15)
  • 945 -1120 Intro to KR (1h45)
  • 1120-1150 Demos (30)
  • 1150-1315 LUNCH (1h25)
  • Demonstrations/Hands-on (30)
  • Ontology-enabled data integration
  • Concept map creation tool
  • Ontology creation tool

3
The Problem Scientific Data Integration or …
from Questions to Queries …
4
Ontology Cheat Sheet (1/2)
  • What is an ontology? An ontology usually …
  • specifies a theory (a set of logic models) by …
  • defining and relating …
  • 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
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
Ontologies as Metadata
TM
  • Ontologies Smarter Metadata

7
Smarter (Meta)data I Logical Data Views
Adoption of a standard (meta)data model gt wrap
data sets into unified virtual views
Source NADAM Team (Boyan Brodaric et al.)
8
Smarter Metadata II Multihierarchical Rock
Classification for Thematic Queries (GSC)
or Taxonomies are not only for biologists ...
Genesis
Fabric
Composition
Texture
9
Smarter Metadata III Source Contextualization
Ontology Refinement
Biomedical Informatics Research
Network http//nbirn.net
The next frontier Capturing Knowledge about
Dynamic Processes ? Process Ontologies
10
Ontology-Enabled Application Example Geologic
Map Integration
11
Integrated querying of multiple datasets via
different ontologies (conceptual views)
12
Querying by Geologic Age …
13
Querying by Geologic Age Result
14
Querying by Chemical Composition …
15
Querying by Chemical Composition Results
Note the fine differences in shades of gray
DO know Its NOT there!
DONT know! (not registered)
16
Querying w/ British Rock Classification
Uses a GSC ? BRC inter-ontology articulation
mapping
17
British Rock Classification Query Results
Uses a GSC ? BRC inter-ontology articulation
mapping
18
Different views on State Geological Maps
19
The Query Show sedimentary rocks The Puzzle
Find the 17 differences in the results…
20
Sedimentary Rocks BGS Ontology
21
Sedimentary Rocks GSC Ontology
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
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
A Multi-Hierarchical Rock Classification
Ontology (reallyTaxonomy)
Genesis
Fabric
Composition
Texture
25
Implementation in OWL Not only for the machine
…
26
Demonstration of Ontology-enabled Map Integration
(OMI) v2
Semantic Registration
Data
Ontology enabled Map Integrator A,B
ontology A
Data
ontology B
Application (B)
Data
ontology C
Application (C)
Data
Ontologies
Applications
Data sets
27
Ontology Mapping Overview
  • Align ontologies
  • Integrate data sets which are registered to
    different ontologies
  • Query data sets through different ontologies

Ontology 1
register
Data set 1
queries
Ontology mappings
Ontology 2
register
Data set 2
28
Geology Workbench Initial State
29
Geology Workbench Uploading Ontologies
30
Geology Workbench Data (to Ontology!)
Registration Step 1 Choose Classes
31
Geology Workbench Data Registration Step 2
Choose Columns for Selected Classes
32
Geology Workbench Data Registration Step 3
Resolve Mismatches
33
Geology Workbench Ontology-enabled Map Integrator
34
Geology Workbench Change Ontology
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

composition.owl
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
Current Ontology Registration (Item-level) v3
38
GEON Search Concept-based Querying
39
System Overview
User Access (via Portal)
40
Introduction to Knowledge Representation and
Ontologies
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? gt 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
CM Descr.Logic, ER, UML, RDF/XML(-Schema), …
CM-QL F-Logic, OWL, …
43
Knowledge Representation Relating Theory to the
World via Formal Models
Source John F. Sowa, Knowledge Representation
Logical, Philosophical, and Computational
Foundations
All models are wrong, but some models are
useful!
44
What is an ontology??
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 -rai) 1  a
    book containing systematized lists of synonyms
    and related words 2  a dictionary of selected
    words or topics 3  (rare) a treasuryETYMOLOGY
    18th Century from Latin, Greek treasure

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 saleETYMOLOGY 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 gloss2

47
1st 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
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
Some different uses of the word Ontology
Guarino95
  • 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
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.

set of all models M(L)
logic theories (consistent sets of sentences
closed under logical consequence)
ontology
conceptualization C(L)
Guarino96 http//www-ksl.stanford.edu/KR96/Guari
no-What/P003.html
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 gt 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 Smiths pathology is either cirrhosis or
    diabetes

52
Formal Ontology Guarino96
  • 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
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
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
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
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
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

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
Human and machine communication
Maedche et al., 2002
  • ...

Machine Agent 1
Human Agent 2
Machine Agent 2
Human Agent 1
exchange symbol, e.g. via nat. language
exchange symbol, e.g. via protocols
Ontology Description
Symbol
JAGUAR
Formal Semantics
Formal models
Internal models
commit
commit
Concept
Meaning Triangle
MA1
MA2
HA2
HA1
commit
Ontology
commit
a specific domain, e.g. animals
Things
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
Example Description Logic
  • DL definition of Happy Father
    (Example from Ian Horrocks, Ulrike
    Sattler, U Manchester)

61
Science Example Ontology for SYNAPSE and NCMIR
62
Source Contextualization, Ontology Refinement
  • sources can register new concepts at the
    mediator ...

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
Source Description Logics Tutorial, Ian Horrocks
and Ulrike Sattler, ECAI-2002, Lyon, France, July
23rd, 2002
65
Knowledge Base (DL-Style)
  • Terminological Knowledge (TBox)
  • Concept Definition (naming of concepts)
  • Axiom (constraining of concepts)
  • gt a mediators glue knowledge source
  • Assertional Knowledge (ABox) about Individuals
  • n27_img118 Neuron
  • gt the concrete instances/individuals of the
    concepts/classes that your sources export

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
67
Example TBox
  • Base concepts Person, Female
  • … occur on the RHS only
  • Defined concepts P, F, W, …
  • … occur on the LHS ( maybe RHS)
  • Base interpretation J interpret base concepts
    only
  • 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

68
Brains-On (Hands-off) Session
TM
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
And the answer is …
  • atomic concept
  • atomic concept
  • concept def. w/ intersection
  • … plus negation
  • … existential restriction
  • … value restriction

71
Digression Sparrow (Prolog) Syntax for DL
  • Sparrow Grammar and Parser

Example in Sparrow Syntax
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
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
Reasoning in the Tableaux calculus
From this
We want to show this
In First-order (LeanTap) syntax
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
OK enough of that jazz…
  • lets look at some demos …

77
Tools for Editing and Processing Ontology
  • Protégé 2000 (RDF, OWL) http//protege.stanford.ed
    u/
  • CmapTools (concept map) http//cmap.ihmc.us/
  • Java API
  • Jena http//www.hpl.hp.com/semweb/jena.htm
  • OWL API http//sourceforge.net/projects/owlapi
  • Geology Map Integration Demo
  • http//geon01.sdsc.edu8080/workbench/jsp/onto-lis
    t.jsp

78
ANOTHER APPLICATION OF ONTOLOGIES An
Ontology-Driven Framework for Data Transformation
in Scientific Workflows (from DILS04)
  • Shawn Bowers
  • Bertram Ludäscher
  • San Diego Supercomputer Center
  • University of California, San Diego

79
Outline
  • Background (SEEK Project)
  • Scientific Workflows
  • The Problem Reusing Structurally Incompatible
    Services
  • The Ontology-Driven Framework
  • Future Work

80
Outline
  • Background (SEEK Project)
  • Scientific Workflows
  • The Problem Reusing Structurally Incompatible
    Services
  • The Ontology-Driven Framework
  • Future Work

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)
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
Promoter Identification in Kepler SSDBM03
  • Problems
  • Many components (web serivces) are NOT designed
    to fit!
  • The problem P that X solves is simple, and X
    doesnt 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
Service Reusability
  • A scientist wishes to connect two (independent)
    services

Desired Connection
Source Service
Target Service
Pt
Ps
85
Service Reusability
  • In Ptolemy II/Kepler (and in web services), input
    and output ports (message parts) have structural
    types (XML Schema)

Structural Type Pt
Structural Type Ps
Desired Connection
Source Service
Target Service
Pt
Ps
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

Incompatible
Structural Type Pt
Structural Type Ps
(?)
Desired Connection
Source Service
Target Service
Pt
Ps
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

Incompatible
Structural Type Pt
Structural Type Ps
(?)
?
?(Ps)
Desired Connection
Source Service
Target Service
Pt
Ps
88
Service Reusability
  • We can annotate services with semantic types for
    discovery and interoperability of services

Ontologies (OWL)
Compatible
(?)
Semantic Type Ps
Semantic Type Pt
Desired Connection
Source Service
Target Service
Pt
Ps
89
Service Reusability
  • Services can be semantically compatible, but
    structurally incompatible

Ontologies (OWL)
Compatible
(?)
Semantic Type Ps
Semantic Type Pt
Incompatible
Structural Type Pt
Structural Type Ps
(?)
?
?(Ps)
Desired Connection
Source Service
Target Service
Pt
Ps
90
Example Structural Types (XML)
structType(P2)
structType(P3)
root cohortTable (measurement) elem
measuremnt (phase, obs) elem phase
xsdstring elem obs xsdinteger
ltpopulationgt ltsamplegt ltmeasgt
ltcntgt44,000lt/cntgt ltaccgt0.95lt/accgt
lt/measgt ltlspgtEggslt/lspgt lt/samplegt
… ltpopulationgt
ltcohortTablegt ltmeasurementgt
ltphasegtEggslt/cntgt ltobsgt44,000lt/accgt
lt/measurementgt … ltcohortTablegt
P2
P3
P5
S1 (life stage property)
S2 (mortality rate for period)
P1
P4
91
Example Semantic Types
  • Portion of SEEK measurement ontology

appliesTo
MeasContext
0
hasContext
11
hasProperty
itemMeasured
Observation
Entity
MeasProperty
0
1
Ecological Property
Accuracy Qualifier
Abundance Count
LifeStage Property
Spatial Location
hasLocation
11
hasValue
hasCount
11
Numeric Value
11
92
Example Semantic Types
  • Portion of SEEK measurement ontology

appliesTo
MeasContext
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. EcologicalP
roperty subClassOf Entity. LifeStageProperty
subClassOf EcologicalProperty. AbundanceCount
subClassOf EcologicalProperty and
exists hasLocation/SpatialLocation
and atMost
1/hasLocation and
exists hasCount/NumericValue and
atMost 1/hasCount.
0
hasContext
11
hasProperty
itemMeasured
Observation
Entity
MeasProperty
0
1
Ecological Property
Accuracy Qualifier
Abundance Count
LifeStage Property
Spatial Location
hasLocation
11
hasValue
hasCount
11
Numeric Value
11
93
Example Semantic Types
  • Semantic types for P2 and P3

MeasContext
Observation
hasContext
appliesTo
LifeStage Property
11
11
itemMeasured
hasCount
semType(P3)
Abundance Count
Number Value
11
11
11
?
hasValue
hasProperty
semType(P2)
Accuracy Qualifier
11
P2
P3
P5
S1 (life stage property)
S2 (mortality rate for period)
P1
P4
94
Example Semantic Types
  • Semantic types for P2 and P3

MeasContext
Observation
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/LifeStageProper
ty and atMost
1/appliesTo) and exists
itemMeasured/AbundanceCount and
atMost 1/itemMeasured and
exists hasProperty/AccuracyQualifier and
atMost 1/hasProperty.
hasContext
appliesTo
LifeStage Property
11
11
itemMeasured
hasCount
semType(P3)
Abundance Count
Number Value
11
11
11
?
hasValue
hasProperty
semType(P2)
Accuracy Qualifier
11
P2
P3
P5
S1 (life stage property)
S2 (mortality rate for period)
P1
P4
95
Outline
  • The SEEK Project
  • Scientific Workflows
  • The Problem Reusing Structurally Incompatible
    Services
  • The Ontology-Driven Framework
  • Future Work

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
The Ontology-Driven Framework
Ontologies (OWL)
Compatible
(?)
Semantic Type Ps
Semantic Type Pt
Registration Mapping (Input)
Registration Mapping (Output)
Structural Type Pt
Structural Type Ps
Source Service
Target Service
Pt
Ps
Desired Connection
98
Registration Example (simple XPaths)
structType(P2)
ltpopulationgt ltsamplegt ltmeasgt
ltcntgt44,000lt/cntgt ltaccgt0.95lt/accgt
lt/measgt ltlspgtEggslt/lspgt lt/samplegt
… ltpopulationgt
/population/sample
semType(P2) /population/sample/meas/cnt
semType(P2).itemMeasured /population/sample/me
as/cnt/text() semType(P2).itemMeasured.hasCou
nt /population/sample/meas/acc
semType(P2).hasProperty /population/sample/meas/ac
c/text() semType(P2).hasProperty.hasValue /po
pulation/sample/lsp/text()
semType(P2).hasContext.appliesTo
99
Registration Example (simple XPaths)
structType(P2)
ltpopulationgt ltsamplegt ltmeasgt
ltcntgt44,000lt/cntgt ltaccgt0.95lt/accgt
lt/measgt ltlspgtEggslt/lspgt lt/samplegt
… ltpopulationgt
/population/sample
semType(P2) /population/sample/meas/cnt
semType(P2).itemMeasured /population/sample/me
as/cnt/text() semType(P2).itemMeasured.hasCou
nt /population/sample/meas/acc
semType(P2).hasProperty /population/sample/meas/ac
c/text() semType(P2).hasProperty.hasValue /po
pulation/sample/lsp/text()
semType(P2).hasContext.appliesTo
Each sample is an instance of the semantic type
100
Registration Example (simple XPaths)
structType(P2)
ltpopulationgt ltsamplegt ltmeasgt
ltcntgt44,000lt/cntgt ltaccgt0.95lt/accgt
lt/measgt ltlspgtEggslt/lspgt lt/samplegt
… ltpopulationgt
/population/sample
semType(P2) /population/sample/meas/cnt
semType(P2).itemMeasured /population/sample/me
as/cnt/text() semType(P2).itemMeasured.hasCou
nt /population/sample/meas/acc
semType(P2).hasProperty /population/sample/meas/ac
c/text() semType(P2).hasProperty.hasValue /po
pulation/sample/lsp/text()
semType(P2).hasContext.appliesTo
Each samples cnt represents the itemMeasured
object
101
Registration Example (simple XPaths)
structType(P2)
ltpopulationgt ltsamplegt ltmeasgt
ltcntgt44,000lt/cntgt ltaccgt0.95lt/accgt
lt/measgt ltlspgtEggslt/lspgt lt/samplegt
… ltpopulationgt
/population/sample
semType(P2) /population/sample/meas/cnt
semType(P2).itemMeasured /population/sample/me
as/cnt/text() semType(P2).itemMeasured.hasCou
nt /population/sample/meas/acc
semType(P2).hasProperty /population/sample/meas/ac
c/text() semType(P2).hasProperty.hasValue /po
pulation/sample/lsp/text()
semType(P2).hasContext.appliesTo
Each samples cnts value represents the hasCount
value of the corresponding itemMeasured object
102
Registration Example (simple XPaths)
structType(P3)
ltcohortTablegt ltmeasurementgt
ltphasegtEggslt/cntgt ltobsgt44,000lt/accgt
lt/measurementgt … ltcohortTablegt
root cohortTable (measurement) elem
measuremnt (phase, obs) elem phase
xsdstring elem obs xsdinteger
/cohortTable/measurement
semType(P3) /cohortTable/measurement/obs
semType(P3).itemMeasured /cohortTable/measure
ment/obs/text() semType(P3).itemMeasured.ha
sCount /cohortTable/measurement/phase/text()
semType(P3).hasContext.appliesTo
… similary for P3 .. … .
103
The Ontology-Driven Framework
Ontologies (OWL)
Compatible
(?)
Semantic Type Ps
Semantic Type Pt
Registration Mapping (Input)
Registration Mapping (Output)
Structural Type Pt
Structural Type Ps
Correspondence
Source Service
Target Service
Pt
Ps
Desired Connection
104
Correspondence Example
Source-side semantic registration mapping
/population/sample
semType(P2) /population/sample/meas/cnt
semType(P2).itemMeasured /population/sample/m
eas/cnt/text() semType(P2).itemMeasured.ha
sCount /population/sample/meas/acc
semType(P2).hasProperty /population/sample/meas/ac
c/text() semType(P2).hasProperty.hasValue
/population/sample/lsp/text()
semType(P2).hasContext.appliesTo
Target-side semantic registration mapping
/cohortTable/measurement
semType(P3) /cohortTable/measurement/obs
semType(P3).itemMeasured /cohortTable/measure
ment/obs/text() semType(P3).itemMeasured.ha
sCount /cohortTable/measurement/phase/text()
semType(P3).hasContext.appliesTo
population
cohortTable
sample
measurement
meas
obs
cnt
xsdinteger
xsdinteger
phase
acc
xsdstring
xsddouble
lsp
xsdstring
105
Correspondence Example
Source
/population/sample
semType(P2) /population/sample/meas/cnt
semType(P2).itemMeasured /population/sample/m
eas/cnt/text() semType(P2).itemMeasured.ha
sCount /population/sample/meas/acc
semType(P2).hasProperty /population/sample/meas/ac
c/text() semType(P2).hasProperty.hasValue
/population/sample/lsp/text()
semType(P2).hasContext.appliesTo
Target
/cohortTable/measurement
semType(P3) /cohortTable/measurement/obs
semType(P3).itemMeasured /cohortTable/measure
ment/obs/text() semType(P3).itemMeasured.ha
sCount /cohortTable/measurement/phase/text()
semType(P3).hasContext.appliesTo
We want to compose the registrations to
obtain structural correspondences
population
cohortTable
sample
measurement
meas
obs
cnt
xsdinteger
xsdinteger
phase
acc
xsdstring
xsddouble
lsp
xsdstring
106
Correspondence Example
Source
/population/sample
semType(P2) /population/sample/meas/cnt
semType(P2).itemMeasured /population/sample/
meas/cnt/text() semType(P2).itemMeasured.h
asCount /population/sample/meas/acc
semType(P2).hasProperty /population/sample/meas/a
cc/text() semType(P2).hasProperty.hasValue
/population/sample/lsp/text()
semType(P2).hasContext.appliesTo
/population/sample
semType(P2)
Target
/cohortTable/measurement
semType(P3) /cohortTable/measurement/obs
semType(P3).itemMeasured /cohortTable/measure
ment/obs/text() semType(P3).itemMeasured.ha
sCount /cohortTable/measurement/phase/text()
semType(P3).hasContext.appliesTo
/cohortTable/measurement
semType(P3)
population
cohortTable
sample
measurement
meas
obs
cnt
xsdinteger
xsdinteger
phase
acc
xsdstring
xsddouble
lsp
These fragments correspond
xsdstring
107
Correspondence Example
Source
/population/sample
semType(P2) /population/sample/meas/cnt
semType(P2).itemMeasured /population/sample/
meas/cnt/text() semType(P2).itemMeasured.h
asCount /population/sample/meas/acc
semType(P2).hasProperty /population/sample/meas/a
cc/text() semType(P2).hasProperty.hasValue
/population/sample/lsp/text()
semType(P2).hasContext.appliesTo
/population/sample/meas/cnt
semType(P2).itemMeasured
Target
/cohortTable/measurement
semType(P3) /cohortTable/measurement/obs
semType(P3).itemMeasured /cohortTable/measure
ment/obs/text() semType(P3).itemMeasured.ha
sCount /cohortTable/measurement/phase/text()
semType(P3).hasContext.appliesTo
/cohortTable/measurement/obs
semType(P3).itemMeasured
population
cohortTable
sample
measurement
meas
obs
cnt
xsdinteger
xsdinteger
phase
acc
xsdstring
xsddouble
lsp
These fragments correspond
xsdstring
108
Correspondence Example
Source
/population/sample
semType(P2) /population/sample/meas/cnt
semType(P2).itemMeasured /population/sample/
meas/cnt/text() semType(P2).itemMeasured.h
asCount /population/sample/meas/acc
semType(P2).hasProperty /population/sample/meas/a
cc/text() semType(P2).hasProperty.hasValue
/population/sample/lsp/text()
semType(P2).hasContext.appliesTo
/population/sample/meas/cnt/text()
semType(P2).itemMeasured.hasCount
Target
/cohortTable/measurement
semType(P3) /cohortTable/measurement/obs
semType(P3).itemMeasured /cohortTable/measure
ment/obs/text() semType(P3).itemMeasured.ha
sCount /cohortTable/measurement/phase/text()
semType(P3).hasContext.appliesTo
/cohortTable/measurement/obs/text()
semType(P3).itemMeasured.hasCount
population
cohortTable
sample
measurement
meas
obs
cnt
xsdinteger
xsdinteger
phase
acc
xsdstring
xsddouble
lsp
These fragments correspond
xsdstring
109
Correspondence Example
Source
/population/sample
semType(P2) /population/sample/meas/cnt
semType(P2).itemMeasured /population/sample/
meas/cnt/text() semType(P2).itemMeasured.h
asCount /population/sample/meas/acc
semType(P2).hasProperty /population/sample/meas/a
cc/text() semType(P2).hasProperty.hasValue
/population/sample/lsp/text()
semType(P2).hasContext.appliesTo
/population/sample/lsp/text()
semType(P2).hasContext.appliesTo
Target
/cohortTable/measurement
semType(P3) /cohortTable/measurement/obs
semType(P3).itemMeasured /cohortTable/measure
ment/obs/text() semType(P3).itemMeasured.ha
sCount /cohortTable/measurement/phase/text()
semType(P3).hasContext.appliesTo
/cohortTable/measurement/phase/text()
semType(P3).hasContext.appliesTo
population
cohortTable
sample
measurement
meas
obs
cnt
xsdinteger
xsdinteger
phase
acc
xsdstring
xsddouble
lsp
These fragments correspond
xsdstring
110
The Ontology-Driven Framework
Ontologies (OWL)
Compatible
(?)
Semantic Type Ps
Semantic Type Pt
Registration Mapping (Input)
Registration Mapping (Output)
Structural Type Pt
Structural Type Ps
Correspondence
?(Ps)
Generate
Source Service
Target Service
Transformation
Pt
Ps
Desired Connection
111
Example Result (XQuery)
  • Based on the structural correspondences and
    certain assumptions, we derive the transformation
    XQuery


ltcohortTablegt for s in /population/sample
return ltmeasurementgt for c in
s/meas/cnt return ltobsgtc/text()lt/obsgt
for l in s/lsp return ltphasegtl/text()lt/pha
segt lt/measurementgt lt/cohortTablegt
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
About PowerShow.com