Title: Introduction to Databases: From Data to Knowledge Bases
1Introduction to DatabasesFrom Data to Knowledge
Bases
- Instructors
- Bertram Ludaescher
- Kai Lin
2Overview
- 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
3The Problem Scientific Data Integrationor
from Questions to Queries
4Ontology 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
5Ontology 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
6Ontologies as Metadata
TM
- Ontologies Smarter Metadata
7Smarter (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.)
8Smarter Metadata II Multihierarchical Rock
Classification for Thematic Queries (GSC)
or Taxonomies are not only for biologists ...
Genesis
Fabric
Composition
Texture
9Smarter Metadata III Source Contextualization
Ontology Refinement
Biomedical Informatics Research
Network http//nbirn.net
The next frontier Capturing Knowledge about
Dynamic Processes ? Process Ontologies
10Ontology-Enabled Application ExampleGeologic
Map Integration
11Integrated querying of multiple datasets via
different ontologies (conceptual views)
12Querying by Geologic Age
13Querying by Geologic Age Result
14Querying by Chemical Composition
15Querying by Chemical Composition Results
Note the fine differences in shades of gray
DO know Its NOT there!
DONT know! (not registered)
16Querying w/ British Rock Classification
Uses a GSC ? BRC inter-ontology articulation
mapping
17British Rock Classification Query Results
Uses a GSC ? BRC inter-ontology articulation
mapping
18Different views on State Geological Maps
19The Query Show sedimentary rocksThe Puzzle
Find the 17 differences in the results
20Sedimentary Rocks BGS Ontology
21Sedimentary Rocks GSC Ontology
22Differing 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
23Geologic 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
24A Multi-Hierarchical Rock Classification
Ontology (reallyTaxonomy)
Genesis
Fabric
Composition
Texture
25Implementation in OWL Not only for the machine
26Demonstration ofOntology-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
27Ontology 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
28Geology Workbench Initial State
29Geology Workbench Uploading Ontologies
30Geology Workbench Data (to Ontology!)
RegistrationStep 1 Choose Classes
31Geology Workbench Data RegistrationStep 2
Choose Columns for Selected Classes
32Geology Workbench Data RegistrationStep 3
Resolve Mismatches
33Geology Workbench Ontology-enabled Map Integrator
34Geology Workbench Change Ontology
35Ontology 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
36Ontology-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
37Current Ontology Registration (Item-level) v3
38GEON Search Concept-based Querying
39System Overview
User Access (via Portal)
40Introduction 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
42XML-Based vs. Model-Based Mediation
CM Descr.Logic, ER, UML, RDF/XML(-Schema),
CM-QL F-Logic, OWL,
43Knowledge RepresentationRelating 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!
44What is an ontology??
45Glossary (wordreference.com)
- ontology noun1 (Philosophy) the branch of
metaphysics that deals with the nature of
being2 (Logic) the set of entities presupposed
by a theory - taxonomy noun1 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 way2 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 words2 a dictionary of selected
words or topics3 (rare) a treasuryETYMOLOGY
18th Century from Latin, Greek treasure
46Glossary (wordreference.com)
- concept noun1 an idea, esp. an abstract
ideaexample the concepts of biology2
(Philosophy) a general idea or notion that
corresponds to some class of entities and that
consists of the characteristic or essential
features of the class3 (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 predicate4 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 adjective1 when postpositive, often
foll by on or upon dependent on events,
conditions, etc., not yet known conditional2
(Logic) (of a proposition) true under certain
conditions, false under others not necessary3
(in systemic grammar) denoting contingency (sense
4)4 (Metaphysics) (of some being) existing
only as a matter of fact not necessarily
existing5 happening by chance or without known
cause accidental6 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 glossETYMOLOGY 14th Century from Late
Latin glossarium see gloss2
471st 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
48Ontology 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
49Some 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
50Ontologies 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
51Ontologies 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
52Formal 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?
53Ontology 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
54Ontology 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
55Why 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
56What 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
57Origin 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
58Human 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
59Introduction 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)
60Example Description Logic
- DL definition of Happy Father
(Example from Ian Horrocks, Ulrike
Sattler, U Manchester)
61Science Example Ontology for SYNAPSE and NCMIR
62 Source Contextualization, Ontology Refinement
- sources can register new concepts at the
mediator ...
63Some 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)
64Source Description Logics Tutorial, Ian Horrocks
and Ulrike Sattler, ECAI-2002, Lyon, France, July
23rd, 2002
65Knowledge 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
66Example 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
67Example 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
68Brains-On (Hands-off) Session
TM
69What 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?
70And the answer is
- atomic concept
- atomic concept
- concept def. w/ intersection
- plus negation
- existential restriction
71Digression Sparrow (Prolog) Syntax for DL
- Sparrow Grammar and Parser
Example in Sparrow Syntax
72Back 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
73Expansion 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
74Reasoning in the Tableaux calculus
From this
We want to show this
In First-order (LeanTap) syntax
75Reasoning 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
76OK enough of that jazz
77Tools 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
78ANOTHER APPLICATION OF ONTOLOGIESAn
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
79Outline
- Background (SEEK Project)
- Scientific Workflows
- The Problem Reusing Structurally Incompatible
Services - The Ontology-Driven Framework
- Future Work
80Outline
- Background (SEEK Project)
- Scientific Workflows
- The Problem Reusing Structurally Incompatible
Services - The Ontology-Driven Framework
- Future Work
81Science 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)
82Outline
- 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
83Promoter 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
84Service Reusability
- A scientist wishes to connect two (independent)
services
Desired Connection
Source Service
Target Service
Pt
Ps
85Service Reusability
- In Ptolemy II/Kepler (and in web services), input
and output ports (message parts) have structural
types (XML Schema)
StructuralType Pt
StructuralType Ps
Desired Connection
Source Service
Target Service
Pt
Ps
86Service 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
StructuralType Pt
StructuralType Ps
(?)
Desired Connection
Source Service
Target Service
Pt
Ps
87Service Reusability
- A transformation mapping (?) is required to
connect the services artificially creating
subtype compatibility - If such a ? exists, the services are
structurally feasible
Incompatible
StructuralType Pt
StructuralType Ps
(?)
?
?(Ps)
Desired Connection
Source Service
Target Service
Pt
Ps
88Service Reusability
- We can annotate services with semantic types for
discovery and interoperability of services
Ontologies (OWL)
Compatible
(?)
SemanticType Ps
SemanticType Pt
Desired Connection
Source Service
Target Service
Pt
Ps
89Service Reusability
- Services can be semantically compatible, but
structurally incompatible
Ontologies (OWL)
Compatible
(?)
SemanticType Ps
SemanticType Pt
Incompatible
StructuralType Pt
StructuralType Ps
(?)
?
?(Ps)
Desired Connection
Source Service
Target Service
Pt
Ps
90Example 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
91Example Semantic Types
- Portion of SEEK measurement ontology
appliesTo
MeasContext
0
hasContext
11
hasProperty
itemMeasured
Observation
Entity
MeasProperty
0
1
EcologicalProperty
AccuracyQualifier
AbundanceCount
LifeStage Property
Spatial Location
hasLocation
11
hasValue
hasCount
11
Numeric Value
11
92Example 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
EcologicalProperty
AccuracyQualifier
AbundanceCount
LifeStage Property
Spatial Location
hasLocation
11
hasValue
hasCount
11
Numeric Value
11
93Example 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)
AccuracyQualifier
11
P2
P3
P5
S1(life stage property)
S2(mortality rate for period)
P1
P4
94Example 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)
AccuracyQualifier
11
P2
P3
P5
S1(life stage property)
S2(mortality rate for period)
P1
P4
95Outline
- The SEEK Project
- Scientific Workflows
- The Problem Reusing Structurally Incompatible
Services - The Ontology-Driven Framework
- Future Work
96The 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)
97The Ontology-Driven Framework
Ontologies (OWL)
Compatible
(?)
SemanticType Ps
SemanticType Pt
Registration Mapping (Input)
Registration Mapping (Output)
StructuralType Pt
StructuralType Ps
Source Service
Target Service
Pt
Ps
Desired Connection
98Registration 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
99Registration 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
100Registration 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
101Registration 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 ofthe corresponding itemMeasured object
102Registration 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 .. .
103The Ontology-Driven Framework
Ontologies (OWL)
Compatible
(?)
SemanticType Ps
SemanticType Pt
Registration Mapping (Input)
Registration Mapping (Output)
StructuralType Pt
StructuralType Ps
Correspondence
Source Service
Target Service
Pt
Ps
Desired Connection
104Correspondence 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
105Correspondence 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 composethe registrations to
obtain structural correspondences
population
cohortTable
sample
measurement
meas
obs
cnt
xsdinteger
xsdinteger
phase
acc
xsdstring
xsddouble
lsp
xsdstring
106Correspondence 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
107Correspondence 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
108Correspondence 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
109Correspondence 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
110The Ontology-Driven Framework
Ontologies (OWL)
Compatible
(?)
SemanticType Ps
SemanticType Pt
Registration Mapping (Input)
Registration Mapping (Output)
StructuralType Pt
StructuralType Ps
Correspondence
?(Ps)
Generate
Source Service
Target Service
Transformation
Pt
Ps
Desired Connection
111Example 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
112Assumptions 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