Date post: | 16-Dec-2014 |
Category: |
Technology |
Upload: | mark-wilkinson |
View: | 897 times |
Download: | 0 times |
SADI: Semantic Support for Automated Workflow Generation
The SADI Taverna plugin and SHARE
Presentation to Workflow trackISoLA 2010, Crete, October 2010
Web ServicesXML + XML Schema
Semantic WebRDF + OWL
Web ServicesPOST of SOAP-XML
Semantic WebGET of RDF-XML
Web ServicesNo (rigorous) semantics
Semantic WebRich, flexible semantics
Web Services&
Semantic Web
Fundamentally and deeply different Web technologies!
How can we make them work together?
Founding partner
Semantic Automated Discovery and Integrationhttp://sadiframework.org
MicrosoftResearch
SADI
“best-practices” for Semantic Web Service provision
standards-compliant
Lightweight(only 2 “rules”)
What [most] bioinformatics Web Services do
HTTP POST RESPONSE
Bioinformatics web services implicitly create RDF “triples”
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
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
Consequence
The “Semantics” of our interaction with the Web Service are now
explicit
Consequence
“Semantics” of HTTP POST are identical to the “Semantics” of HTTP GET
Therefore SADI Web Services behave like the Semantic Web
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
A workbench for designing and executingScientific Workflows
Taverna
Load-up your data and press “play”!
SADI PLUG-IN TO TAVERNA
KEGG_Pathway KEGG RecordhasPathwayGene
Initialize Semantic Search...
Connect your desired service to the workflow
Lather, Rinse, Repeat
And so on
Und so weiter
Because we’re generating RDFthe output data is often in the form of a URI
And these URIs are “Live”
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
SHARESemantic Health And Research Environment
SPARQL enhanced by SADI
A Novel SPARQL Query Engine
Uses SADI to automatically construct a workflow that creates a query-specific database
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 .
}
Likely Rejecter:
A patient who has creatinine levelsthat are increasing over time
- - Wilkinson MD
Likely Rejecter:
…but there is no “likely rejecter” column or table in our database…
only blood chemistry measurementsat various time-points
?
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”
The machine continues to burrow down through the definition and discovers that regression lines have things like slopes and intercepts, etc…
Then…
Two magical events occur…
The machine figures out
by itself
the need to do a Linear Regression analysis
in order to answer your question
The machine figures out
by itself
how and where that analysiscan be done
and does it automatically!
http://www.impactlab.net/2009/03/22/improve-your-brain-power/
The SHARE system utilizes SADI to discover analytical services on the Web that do linear regression analysis
VOILA!
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
Join us!
SADI and CardioSHARE are Open-Source projects
Come join us – we’re having a lot of fun!!
http://sadiframework.org
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 )
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
Microsoft Research
FinThis presentation available on SlideShare:
keywords ‘wilkinson’ ‘ISoLA2010’