ISoLA 2010: SADI Taverna plug-in

56
SADI: Semantic Support for Automated Workflow Generation The SADI Taverna plugin and SHARE Presentation to Workflow track ISoLA 2010, Crete, October 2010

description

Presentation to the workflow track of ISoLA 2010, Crete. Includes explanation of the SADI plug-in to Taverna, and how the SHARE client automatically constructs and semantic web service workflow to answer specific sparql queries.

Transcript of ISoLA 2010: SADI Taverna plug-in

Page 1: ISoLA 2010:  SADI Taverna plug-in

SADI: Semantic Support for Automated Workflow Generation

The SADI Taverna plugin and SHARE

Presentation to Workflow trackISoLA 2010, Crete, October 2010

Page 2: ISoLA 2010:  SADI Taverna plug-in

Web ServicesXML + XML Schema

Semantic WebRDF + OWL

Page 3: ISoLA 2010:  SADI Taverna plug-in

Web ServicesPOST of SOAP-XML

Semantic WebGET of RDF-XML

Page 4: ISoLA 2010:  SADI Taverna plug-in

Web ServicesNo (rigorous) semantics

Semantic WebRich, flexible semantics

Page 5: ISoLA 2010:  SADI Taverna plug-in

Web Services&

Semantic Web

Fundamentally and deeply different Web technologies!

Page 6: ISoLA 2010:  SADI Taverna plug-in

How can we make them work together?

Page 7: ISoLA 2010:  SADI Taverna plug-in

Founding partner

Semantic Automated Discovery and Integrationhttp://sadiframework.org

MicrosoftResearch

Page 8: ISoLA 2010:  SADI Taverna plug-in

SADI

“best-practices” for Semantic Web Service provision

Page 9: ISoLA 2010:  SADI Taverna plug-in

standards-compliant

Page 10: ISoLA 2010:  SADI Taverna plug-in

Lightweight(only 2 “rules”)

Page 11: ISoLA 2010:  SADI Taverna plug-in

What [most] bioinformatics Web Services do

HTTP POST RESPONSE

Page 12: ISoLA 2010:  SADI Taverna plug-in

Bioinformatics web services implicitly create RDF “triples”

Page 13: ISoLA 2010:  SADI Taverna plug-in

SADI “rule” #1

Make the implicit explicit…

A Web Service should create RDF “triples” linking input and output data, thus explicitly describing

the semantic relationship between them

Input and output structuresdescribed by OWL Classes

Page 14: ISoLA 2010:  SADI Taverna plug-in

SADI Rule #2

(Simple derivation from rule #1)

The URI of the input must be preserved in the output

Therefore, the output is explicitly about the input

Page 15: ISoLA 2010:  SADI Taverna plug-in

Consequence

The “Semantics” of our interaction with the Web Service are now

explicit

Page 16: ISoLA 2010:  SADI Taverna plug-in

Consequence

“Semantics” of HTTP POST are identical to the “Semantics” of HTTP GET

Therefore SADI Web Services behave like the Semantic Web

Page 17: ISoLA 2010:  SADI Taverna plug-in

IMPORTANT!!

SADI concerns itself ONLY with the way Web Services themselves are modeled

SADI is not competitive withnor incompatible with*

existing Web Service description standards(OWL-S, WSDL2, etc.)

* AFAIK

Page 18: ISoLA 2010:  SADI Taverna plug-in

A workbench for designing and executingScientific Workflows

Taverna

Page 19: ISoLA 2010:  SADI Taverna plug-in
Page 20: ISoLA 2010:  SADI Taverna plug-in

Load-up your data and press “play”!

Page 21: ISoLA 2010:  SADI Taverna plug-in

SADI PLUG-IN TO TAVERNA

Page 22: ISoLA 2010:  SADI Taverna plug-in
Page 23: ISoLA 2010:  SADI Taverna plug-in
Page 24: ISoLA 2010:  SADI Taverna plug-in

KEGG_Pathway KEGG RecordhasPathwayGene

Page 25: ISoLA 2010:  SADI Taverna plug-in

Initialize Semantic Search...

Page 26: ISoLA 2010:  SADI Taverna plug-in

Connect your desired service to the workflow

Page 27: ISoLA 2010:  SADI Taverna plug-in
Page 28: ISoLA 2010:  SADI Taverna plug-in

Lather, Rinse, Repeat

Page 29: ISoLA 2010:  SADI Taverna plug-in
Page 30: ISoLA 2010:  SADI Taverna plug-in

And so on

Und so weiter

Page 31: ISoLA 2010:  SADI Taverna plug-in
Page 32: ISoLA 2010:  SADI Taverna plug-in
Page 33: ISoLA 2010:  SADI Taverna plug-in
Page 34: ISoLA 2010:  SADI Taverna plug-in

Because we’re generating RDFthe output data is often in the form of a URI

Page 35: ISoLA 2010:  SADI Taverna plug-in

And these URIs are “Live”

Page 36: ISoLA 2010:  SADI Taverna plug-in

SADI-Taverna Summary

• Search for the property of the data you desire• Automatically adds the service

– correctly connected automatically• Unlike earlier BioMoby plugin, the SADI plugin

handles parsing into and out of RDF format automatically and transparently– Easy to connect SADI with non-SADI services

Page 37: ISoLA 2010:  SADI Taverna plug-in

SHARESemantic Health And Research Environment

SPARQL enhanced by SADI

Page 38: ISoLA 2010:  SADI Taverna plug-in

A Novel SPARQL Query Engine

Uses SADI to automatically construct a workflow that creates a query-specific database

Page 39: ISoLA 2010:  SADI Taverna plug-in

Show me the latest Blood Urea Nitrogen and Creatinine levelsof patients who appear to be rejecting their transplants

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX patient: <http://sadiframework.org/ontologies/patients.owl#> PREFIX l: <http://sadiframework.org/ontologies/predicates.owl#> SELECT ?patient ?bun ?creatFROM <http://sadiframework.org/ontologies/patients.rdf>WHERE {

?patient rdf:type patient:LikelyRejecter .?patient l:latestBUN ?bun . ?patient l:latestCreatinine ?creat .

}

Page 40: ISoLA 2010:  SADI Taverna plug-in

Likely Rejecter:

A patient who has creatinine levelsthat are increasing over time

- - Wilkinson MD

Page 41: ISoLA 2010:  SADI Taverna plug-in

Likely Rejecter:

…but there is no “likely rejecter” column or table in our database…

only blood chemistry measurementsat various time-points

Page 42: ISoLA 2010:  SADI Taverna plug-in

?

Page 43: ISoLA 2010:  SADI Taverna plug-in

The definition of a LikelyRejecter is encoded in a machine-readable document written in the OWL language (“Ontology”)

“the regression line over creatinine measurements should have an increasing slope”

Page 44: ISoLA 2010:  SADI Taverna plug-in

The machine continues to burrow down through the definition and discovers that regression lines have things like slopes and intercepts, etc…

Page 45: ISoLA 2010:  SADI Taverna plug-in

Then…

Two magical events occur…

Page 46: ISoLA 2010:  SADI Taverna plug-in

The machine figures out

by itself

the need to do a Linear Regression analysis

in order to answer your question

Page 47: ISoLA 2010:  SADI Taverna plug-in

The machine figures out

by itself

how and where that analysiscan be done

and does it automatically!

Page 48: ISoLA 2010:  SADI Taverna plug-in

http://www.impactlab.net/2009/03/22/improve-your-brain-power/

Page 49: ISoLA 2010:  SADI Taverna plug-in

The SHARE system utilizes SADI to discover analytical services on the Web that do linear regression analysis

Page 50: ISoLA 2010:  SADI Taverna plug-in

VOILA!

Page 51: ISoLA 2010:  SADI Taverna plug-in

SHARE Summary

SADI -enabled fully automated workflow generationin the context of creating a database capable of answering

A SPARQL query

Data absent from local data-store automatically determined to be needed

and the necessary workflow automatically constructed

Page 52: ISoLA 2010:  SADI Taverna plug-in

Join us!

SADI and CardioSHARE are Open-Source projects

Come join us – we’re having a lot of fun!!

http://sadiframework.org

Page 53: ISoLA 2010:  SADI Taverna plug-in

C r e d i t s

B e n j a m i n V a n d e r V a l k ( S H A R E & S A D I )

L u k e M c C a r t h y ( S A D I , S H A R E , T a v e r n a , C a r d i o S H A R E )

S o r o u s h S a m a d i a n ( C a r d i o S H A R E )

D a v i d W i t h e r s( T a v e r n a )

E d w a r d K a w a s ( S A D I S e r v i c e a u t o - g e n e r a t o r )

Page 54: ISoLA 2010:  SADI Taverna plug-in

U o f N e w B r u n s w i c k

D r. C h r i s B a k e rA l e x a n d r e R i a z a n o v

C a r l e t o n U n i v e r s i t yD r. M i c h e l D u m o n t i e rM a r c - A l e x a n d r e N o l i nL e o n i d C h e p e l e vS t e v e E t l i n g e rN i c h a e l l a K i e t hJ o s e C r u z

Page 55: ISoLA 2010:  SADI Taverna plug-in

Microsoft Research

Page 56: ISoLA 2010:  SADI Taverna plug-in

FinThis presentation available on SlideShare:

keywords ‘wilkinson’ ‘ISoLA2010’