[kepler-dev] Semantics

Shawn Bowers sbowers at ucdavis.edu
Thu Jun 12 09:29:34 PDT 2008


Hi Maliha:

Here are some answers to your questions below.

> where can i read more information about the Semantic Mediation System(SMS)
> implemented in Kepler.

The "semantic mediation system" is an umbrella term used primarily in
the SEEK project to denote ontology-based approaches for describing
and integrating data, and somewhat less prominantly, actors and
workflows.

Within Kepler, there were a number of prototypes developed to test out
certain semantic functionality, and some of these are part of the
current system.  Some of these (but not all) are described in the
Kepler 1.0 User Manual
(http://www.kepler-project.org/Wiki.jsp?page=Documentation).  We've
written a few papers on the ideas as well (see below).

> WHich brings me to my next qeustion. Is it
> implemented in kepler or is it a 'work in progress' because I downloaded
> kepler and tried the "Semantic type annotation" thingy but as there are no
> underlying ontologies ( im saying there are none becuase i dont see any...
> just a few custom made deifinitions are visible).

The ability to semantically annotate actors is implemented within
Kepler as well as to a lesser degree, the ability to search for actors
via these annotations. There are two types of annotations that are
possible. One is an annotation of the actor as a whole (basically
tagging the actor with one or more ontology classes), and another is
the ability to annotate actor I/O ports.

The former is used to build the actor library in Kepler 1.0.  In
particular, the library (component part of the left panel) is built
from four different, small ontologies (this is the classified view).
These are each OWL-DL ontologies that are stored within Kepler. When
searching for actors, the ontology is also being used to "expand"
keyword searches. There are other "prototype" ontologies w/in Kepler
that were created to demonstrate other types of annotations, which can
also be used to annotate the ports of some actors. These are displayed
when using the port-annotation part of the annotation dialog.  Actors
can be annotated via the annotation widgets and then saved back to the
library (where the annotations become part of the actor metadata and
are then searchable).

When building Kepler, it is possible to add (and remove) OWL-DL
ontologies to Kepler via a config file. However, Kepler 1.0 does not
provide an easy mechanism to add these ontologies via the UI.

We have used this ability when configuring different distributions of
Kepler (e.g., Kepler/CIPRES and Kepler/pPOD which is available from
http://daks.ucdavis.edu/kepler-ppod). In particular, these
distributions have a custom set of actors that are annotated to a
domain-specific actor ontology.

As far as I am aware, no actors in the current 1.0 distribution have
port-level annotations. (This may change in newer releases of Kepler,
but there are no concrete plans for this now.) If actors are annotated
at this level, there are some simple tools available that leverage
these annotations. One is "in-place" searching of actors. In
particular, right-clicking on an actor, you can search for
"compatible" actors (which searches for input or output types
depending on the type of search performed). Also, there is a
type-checking widget that can be started by right-clicking on the
design canvas. This tool checks both semantic and structural (data)
types of actor connections in a workflow, and displays different
levels of "matching" and highlights type errors on the workflow
itself.

Ptolemy (which Kepler is built from) also provides a unit system for
annotating ports with units, which provides similar types of behavior
but specialized for unit checking, etc.

> Are there any good papers/writeups etc out there to see how kepler does
> resource discovery etc. I found a good presentation "Semantic Mediation in
> SEEK/Kepler: Exploiting Semantic Annotation for Discovery, Analysis, and
> Integration of Scientific Data and Workflows" By Shawn Bowers and Bertram
> Ludäscher but Im not sure what they talk about in their presentation is
> actually implemented or they are still working on it.

All of the tools discussed in the presentation are implemented and are
in Kepler now.

There are some additional tools and approaches that haven't made their
way into Kepler, but have been implemented as prototypes.

Here is a list of some papers related to this work:

- S Bowers, B Ludäscher: A Calculus for Propagating Semantic
Annotations Through Scientific Workflow Queries. In QLQP, EDBT
Workshops 2006: 712-723. URL:
http://daks.ucdavis.edu/~sbowers/Bowers_et_al_QLQP06.pdf

This paper discussed an algorithms and approaches for automatically
generating semantic annotations of ports and intermediate and derived
data based on partial annotations (e.g., annotations on input data).
The algorithms have been implemented, but are not part of Kepler
today.

- S Bowers and B Ludaescher. Actor-Oriented Design of Scientific
Workflows. In International Conference on Conceptual Modeling
(ER'2005), LNCS, volume 3716, 2005. URL:
http://daks.ucdavis.edu/~sbowers/bowers_SWF_er05.pdf

This paper generally talks about ideas related to semantic annotation
of workflows.

- S Bowers and B Ludaescher. An Ontology-Driven Framework for Data
Transformation in Scientific Workflows. In International Workshop on
Data Integration in the Life Sciences (DILS'04), LNCS, volume 2994,
2004.URL: http://daks.ucdavis.edu/~sbowers/bowers_ONTOTRANS_dils04.pdf

This paper talks about some early ideas and an algorithm for
performing automatic transformation of data (i.e., automatically
generating a type of "shim" or "adapter) between annotated actors
passing XML data (e.g., wsdl web services).

Please let me know if you have more questions.

Thanks,
Shwan

>
>
> Thanks
>
> Maliha Aziz
>
> _______________________________________________
> Kepler-dev mailing list
> Kepler-dev at ecoinformatics.org
> http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-dev
>
>


More information about the Kepler-dev mailing list