Title: Department of Computer Science
1Department of Computer Science Engineering
University of California, San DiegoCSE-291Ont
ologies in Data and Process IntegrationSpring
2004
- Bertram Ludäscher
- LUDAESCH_at_SDSC.EDU
2Overview
- Introduction to ontologies
- What are ontologies (and some related
formalisms)? - How do we represent ontologies?
- What can we do with them/to them?
- Introduction to some specific formalisms
- Logic, Description Logics, OWL, FCA, TMs, ...
- New themes / possible topics (vs. Spring 03)
- querying concept graphs
- use of ontologies in query processing
(specifically mediation) - process ontologies, capturing procedural
knowledge - philosophical approaches
- Some guest lectures
- Class Action
- Theoretical studies
- surveying/comparing/analyzing approaches (based
on research literature) - Practical studies, e.g., experiments with
reasoning tools and graph querying tools
3Overview
- Today
- Introduction to ontologies
- Example application
- Description logic (first steps)
- Next week
- More on DL, FOL, reasoning,
4Ontologies in Data and Information Integration
5An Online Shoppers Information Integration
Problem
El Cheapo Where can I get the cheapest copy
(including shipping cost) of Wittgensteins
Tractatus Logicus-Philosophicus within a week?
One-World Mediation
6A Home Buyers Information Integration Problem
What houses for sale under 500k have at least 2
bathrooms, 2 bedrooms, a nearby school ranking
in the upper third, in a neighborhood with
below-average crime rate and diverse population?
Multiple-Worlds Mediation
7A Neuroscientists Information Integration Problem
Biomedical Informatics Research
Network http//nbirn.net
What is the cerebellar distribution of rat
proteins with more than 70 homology with human
NCS-1? Any structure specificity? How about other
rodents?
Complex Multiple-Worlds Mediation
8(No Transcript)
9Standard (XML-Based) Mediator Architecture
USER/Client
Query Q ( G (S1,..., Sk) )
Integrated Global (XML) View G
Integrated View Definition G(..)? S1(..)Sk(..)
MEDIATOR
(XML) Queries Results
(XML) View
(XML) View
(XML) View
wrappers implemented as web services
Wrapper
Wrapper
Wrapper
S1
S2
Sk
10Some BIRNing Data Integration Questions
Biomedical Informatics Research
Network http//nbirn.net
- Data Integration Approaches
- Lets just share data, e.g., link everything from
a web page! - ... or better put everything into an relational
or XML database - ... and do remote access using the Grid
- ... or just use Web services!
- Nice try. But
- Find the files where the amygdala was
segmented. - Which other structures were segmented in the
same files? - Did the volume of any of those structures differ
much from normal? - What is the cerebellar distribution of rat
proteins with more than 70 homology with human
NCS-1? Any structure specificity? How about other
rodents?
11Heterogeneous Data integration
- Requires advanced metadata and processing
- Attributes must be semantically typed
- Collection protocols must be known
- Units and measurement scale must be known
- Measurement relationships must be known
- e.g., that ArealDensityCount/Area
12Information Integration Challenges
- System aspects Grid Middleware
- distributed data computing
- Web Services, WSDL/SOAP,
- sources functions, files, databases,
- Syntax Structure
- XML-Based Mediators
- wrapping, restructuring
- XML queries and views
- sources XML databases
- Semantics
- Model-Based/Semantic Mediators
- conceptual models and declarative views
- SemanticWeb/KnowledgeGrid stuff ontologies,
description logics (RDF(S), DAMLOIL, OWL ...) - sources knowledge bases (DBCMsICs)
13Information Integration from a DB Perspective
- Information Integration Problem
- Given data sources S1, ..., Sk (DBMS, web sites,
...) and user questions Q1,..., Qn that can be
answered using the Si - Find the answers to Q1, ..., Qn
- The Database Perspective source database
- Si has a schema (relational, XML, OO, ...)
- Si can be queried
- define virtual (or materialized) integrated
views V over S1 ,..., Sk using database
query languages (SQL, XQuery,...) - questions become queries Qi against V(S1,..., Sk)
14Whats the Problem with XML Complex
Multiple-Worlds?
- 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
15XML-Based vs. Model-Based Mediation
CM Descr.Logic, ER, UML, RDF/XML(-Schema),
CM-QL F-Logic, DAMLOIL,
16Knowledge 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!
17What is an ontology (and what is it good for)?
And the answer is ...
18Glossary (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
19Glossary (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
201st Attempt Ontologies in CS
- An ontology is ...
- an explicit specification of a conceptualization
Gruber93 - a shared understanding of some domain of interest
Uschold, Gruninger96 - Some aspects and parameters
- a formal specification (reasoning and
execution) - ... of a conceptualization of a domain
(community) - ... of some part of world that is of interest
(application) - Provides
- A common vocabulary of terms
- Some specification of the meaning of the terms
(semantics) - A shared understanding for people and machines
21Ontology 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)
22Some 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
23Ontologies 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
24Ontologies 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 Smiths pathology is either cirrhosis or
diabetes
25Formal 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?
26Ontology 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
27Ontology 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
28Why 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
29What 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
30Origin 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
31Human 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
32An explicit description of a domain
- Concepts (class, set, type, predicate)
- event, gene, gammaBurst, atrium, molecule, cat
- Properties of concepts and relationships between
them (slot) - Taxonomy generalisation ordering among concepts
isA, partOf, subProcess - Relationship, Role or Attribute functionOf,
hasActivity location, eats, size
Carole Goble, Nigel Shadbolt, Ontologies and the
Grid Tutorial
33Concepts
- Primitive concepts
- properties are necessary
- Globular protein must have hydrophobic core (but
a protein with a hydrophobic core need not be a
globular protein) - GlobularProtein ? has-a.HydrophobicCore
- Defined concepts
- properties are necessary sufficient
- Eukaryotic cells must have a nucleus.
- EukaryoticCell ? has-a.Nucleus
- Every cell that contains a nucleus must be
Eukaryotic.
Robert Stevens
34What is a concept?
- Different communities have different notions on
what a concept means - Formal concept analysis (see http//www.math.tu-dr
esden.de/ganter/fba.html) talk about formal
concepts - Description Logics (see http//dl.kr.org/) They
talk about concept labels - ISO-7042000 Terminology Work (see
http//www.iso.ch/) - Often the classical notion of a frame in AI or a
class in OO modeling is seen as equivalent to a
concept.
35Formal Concept Analysis (FCA)
Formal Concept Analysis
Sowa, http//users.bestweb.net/sowa/misc/mathw.h
tm
Concept Lattice
36An explicit description of a domain
- Constraints or axioms on properties and concepts
- value integer
- domain cat
- cardinality at most 1
- range 0
- oligonucleiotides
- cows are larger than dogs
- cats cannot eat only vegetation
- cats and dogs are disjoint
- Values or concrete domains
- integer, strings
- 20, trypotoplan-synthetase
Carole Goble, Nigel Shadbolt, Ontologies and the
Grid Tutorial
37An explicit description of a domain
- Individuals or Instances
- sulphur, trpA Gene, felix
- Nominals
- Concepts that cannot have instances
- Instances that are used in conceptual definitions
- ItalianDog Dog bornIn Italy
- Instances
- An ontology conceptspropertiesaxiomsvaluesno
minals - A knowledge base ontologyinstances
felix
tom
mickey
jerry
Carole Goble, Nigel Shadbolt, Ontologies and the
Grid Tutorial
38Light and Heavy expressivity
A matter of rigour and representational
expressivity
- Lightweight
- Concepts, atomic types
- Is-a hierarchy
- Relationships between concepts
- Heavyweight
- Metaclasses
- Type constraints on relations
- Cardinality constraints
- Taxonomy of relations
- Reified statements
- Axioms
- Semantic entailments
- Expressiveness
- Inference systems
Carole Goble, Nigel Shadbolt, Ontologies and the
Grid Tutorial
39A semantic continuum
- Mike Uschold, Boeing Corp
Pump a device for moving a gas or liquid from
one place or container to another
(pump has (superclasses ())
Shared human consensus
Semantics hardwired used at runtime
Semantics processed and used at runtime
Text descriptions
Implicit
Informal (explicit)
Formal (for humans)
Formal (for machines)
- Further to the right means
- Less ambiguity
- More likely to have correct functionality
- Better inter-operation (hopefully)
- Less hardwiring
- More robust to change
- More difficult
40Some Ontologies and Ontologies
- (coming soon to a project near you)
41SMART (Meta)data I Logical Data Views
Adoption of a standard (meta)data model wrap
data sets into unified virtual views
Source NADAM Team (Boyan Brodaric et al.)
42SMART Metadata II Multihierarchical Rock
Classification for Thematic Queries (GSC)
or Taxonomies are not only for biologists ...
Genesis
Fabric
Composition
Texture
43SMART Metadata III Source Contextualization
Ontology Refinement
Biomedical Informatics Research
Network http//nbirn.net
Focused GEON ontology working meeting last week
... (GEON, SCEC/KR, GSC, ESRI)
44Gene Ontology http//www.geneontology.org
- a dynamic controlled vocabulary that can be
applied to all eukaryotes - Built by the community for the community.
- Three organising principles
- Molecular function, Biological process, Cellular
component - Isa and Part of taxonomy but not good!
- 10,000 concepts
- Lightweight ontology, Poor semantic rigour. Ok
when small and used for annotation. Obstacle when
large, evolving and used for mining.
45Controlled vocabulary
- AGROVOC Agricultural Vocabulary
46AN 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
47Outline
- Background (SEEK Project)
- Scientific Workflows
- The Problem Reusing Structurally Incompatible
Services - The Ontology-Driven Framework
- Future Work
48Outline
- Background (SEEK Project)
- Scientific Workflows
- The Problem Reusing Structurally Incompatible
Services - The Ontology-Driven Framework
- Future Work
49Science 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)
50Outline
- 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
51Promoter 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
52A Very Simple Scientific Workflow
P2
P3
P5
S1(life stage property)
S2(mortality rate for period)
P1
P4
53A Very Simple Scientific Workflow
P2
P3
P5
S1(life stage property)
S2(mortality rate for period)
P1
P4
observations
Phase
Observed
Eggs Instar I Instar II Instar III Instar
IV Adults
44,000 3,513 2,529 1,922 1,461 1,300
Population samples for life stages of the common
field grasshopper Begon et al, 1996
54A Very Simple Scientific Workflow
P2
P3
P5
S1(life stage property)
S2(mortality rate for period)
P1
P4
life stage periods
observations
Phase
Observed
Period
Phases
Nymphal
Instar I, Instar II, Instar III, Instar IV
Eggs Instar I Instar II Instar III Instar
IV Adults
44,000 3,513 2,529 1,922 1,461 1,300
Periods of development in terms of phases
Population samples for life stages of the common
field grasshopper Begon et al, 1996
55A Very Simple Scientific Workflow
P2
P3
P5
S1(life stage property)
S2(mortality rate for period)
P1
(nymphal, 0.44)
P4
k-value for each periodof observation
life stage periods
observations
Phase
Observed
Period
Phases
Nymphal
Instar I, Instar II, Instar III, Instar IV
Eggs Instar I Instar II Instar III Instar
IV Adults
44,000 3,513 2,529 1,922 1,461 1,300
Periods of development in terms of phases
Population samples for life stages of the common
field grasshopper Begon et al, 1996
56Scientific Workflows
- A scientific workflow consists of a network of
connected services - A service can be any software component
(including a web service or even a data source) - Each service (optionally) takes input and
(optionally) produces output
57Scientific Workflows
- SEEK adopts a Ptolemy II workflow model
- A service is called an actor
- Each actor has zero or more input and output
ports (and possibly parameters) - Data flows through a workflow based on
connections made from output to input ports - (ignored here different models of computation,
directors, )
P2
P3
P5
S1(life stage property)
S2(mortality rate for period)
P1
P4
58Outline
- The SEEK Project
- Scientific Workflows
- The Problem Reusing Structurally Incompatible
Services - The Ontology-Driven Framework
- Future Work
59Service Reusability
- A scientist wishes to connect two (independent)
services
Desired Connection
Source Service
Target Service
Pt
Ps
60Service 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
61Service 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
62Service 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
63Service Reusability
- SEEK annotates 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
64Service 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
65Example Structural Types (XML)
structType(P2)
structType(P3)
root cohortTable (measurement) elem
measuremnt (phase, obs) elem phase
xsdstring elem obs xsdinteger
44,000 0.95
Eggs
Eggs 44,000
P2
P3
P5
S1(life stage property)
S2(mortality rate for period)
P1
P4
66Example 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
67Example 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
68Example 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
69Example 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
70Outline
- The SEEK Project
- Scientific Workflows
- The Problem Reusing Structurally Incompatible
Services - The Ontology-Driven Framework
- Future Work
71The 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)
72The 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
73Registration Example (simple XPaths)
structType(P2)
44,000 0.95
Eggs
/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
74Registration Example (simple XPaths)
structType(P2)
44,000 0.95
Eggs
/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
75Registration Example (simple XPaths)
structType(P2)
44,000 0.95
Eggs
/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
76Registration Example (simple XPaths)
structType(P2)
44,000 0.95
Eggs
/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
77Registration Example (simple XPaths)
structType(P3)
Eggs 44,000
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 .. .
78The 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
79Correspondence 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
80Correspondence 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
81Correspondence 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
82Correspondence 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
83Correspondence 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
84Correspondence 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
85The 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
86Example 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()se
87Assumptions 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