Department of Computer Science

1 / 87
About This Presentation
Title:

Department of Computer Science

Description:

Department of Computer Science & Engineering. University of ... http://www-ksl.stanford.edu/KR96/Guarino-What/P003.html. Ontologies vs Knowledge Bases ... – PowerPoint PPT presentation

Number of Views:82
Avg rating:3.0/5.0
Slides: 88
Provided by: bertr68

less

Transcript and Presenter's Notes

Title: Department of Computer Science


1
Department of Computer Science Engineering
University of California, San DiegoCSE-291Ont
ologies in Data and Process IntegrationSpring
2004
  • Bertram Ludäscher
  • LUDAESCH_at_SDSC.EDU

2
Overview
  • 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

3
Overview
  • Today
  • Introduction to ontologies
  • Example application
  • Description logic (first steps)
  • Next week
  • More on DL, FOL, reasoning,

4
Ontologies in Data and Information Integration
5
An 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
6
A 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
7
A 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)
9
Standard (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
10
Some 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?

11
Heterogeneous 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

12
Information 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)

13
Information 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)

14
Whats 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

15
XML-Based vs. Model-Based Mediation
CM Descr.Logic, ER, UML, RDF/XML(-Schema),
CM-QL F-Logic, DAMLOIL,
16
Knowledge 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!
17
What is an ontology (and what is it good for)?
And the answer is ...
18
Glossary (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

19
Glossary (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

20
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
  • 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

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

22
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
23
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
24
Ontologies vs Knowledge Bases
  • An ontology is a particular KB, describing facts
    assumed to be always true by a community of
    users
  • in virtue of the agreed-upon meaning of the
    vocabulary used (analytical knowledge)
  • black not white
  • ... whose truth does not descend from the meaning
    of the vocabulary used (non-analytical, common
    knowledge)
  • Rome is the capital of Italy
  • An arbitrary KB may describe facts which are
    contingently true, and relevant to a particular
    epistemic state
  • Mr Smiths pathology is either cirrhosis or
    diabetes

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

26
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
27
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
28
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
29
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
30
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
31
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
32
An 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
33
Concepts
  • 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
34
What 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.

35
Formal Concept Analysis (FCA)
Formal Concept Analysis
Sowa, http//users.bestweb.net/sowa/misc/mathw.h
tm
Concept Lattice
36
An 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
37
An 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
38
Light 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
39
A 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

40
Some Ontologies and Ontologies
  • (coming soon to a project near you)

41
SMART (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.)
42
SMART Metadata II Multihierarchical Rock
Classification for Thematic Queries (GSC)
or Taxonomies are not only for biologists ...
Genesis
Fabric
Composition
Texture
43
SMART 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)
44
Gene 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.

45
Controlled vocabulary
  • AGROVOC Agricultural Vocabulary

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

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

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

49
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)
50
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

51
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

52
A Very Simple Scientific Workflow
P2
P3
P5
S1(life stage property)
S2(mortality rate for period)
P1
P4
53
A 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
54
A 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
55
A 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
56
Scientific 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

57
Scientific 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
58
Outline
  • The SEEK Project
  • Scientific Workflows
  • The Problem Reusing Structurally Incompatible
    Services
  • The Ontology-Driven Framework
  • Future Work

59
Service Reusability
  • A scientist wishes to connect two (independent)
    services

Desired Connection
Source Service
Target Service
Pt
Ps
60
Service 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
61
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
StructuralType Pt
StructuralType Ps
(?)
Desired Connection
Source Service
Target Service
Pt
Ps
62
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
StructuralType Pt
StructuralType Ps
(?)
?
?(Ps)
Desired Connection
Source Service
Target Service
Pt
Ps
63
Service 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
64
Service 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
65
Example 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
66
Example 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
67
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
EcologicalProperty
AccuracyQualifier
AbundanceCount
LifeStage Property
Spatial Location
hasLocation
11
hasValue
hasCount
11
Numeric Value
11
68
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)
AccuracyQualifier
11
P2
P3
P5
S1(life stage property)
S2(mortality rate for period)
P1
P4
69
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)
AccuracyQualifier
11
P2
P3
P5
S1(life stage property)
S2(mortality rate for period)
P1
P4
70
Outline
  • The SEEK Project
  • Scientific Workflows
  • The Problem Reusing Structurally Incompatible
    Services
  • The Ontology-Driven Framework
  • Future Work

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

72
The 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
73
Registration 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
74
Registration 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
75
Registration 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
76
Registration 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
77
Registration 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 .. .
78
The 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
79
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
80
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 composethe registrations to
obtain structural correspondences
population
cohortTable
sample
measurement
meas
obs
cnt
xsdinteger
xsdinteger
phase
acc
xsdstring
xsddouble
lsp
xsdstring
81
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
82
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
83
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
84
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
85
The 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
86
Example Result (XQuery)
  • Based on the structural correspondences and
    certain assumptions, we derive the transformation
    XQuery


for s in /population/sample
return for c in
s/meas/cnt return c/text()
for l in s/lsp return l/text()se
87
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
Write a Comment
User Comments (0)