SlideShare a Scribd company logo
’cause you can’t always GET what you want!
Web Servicesvs.Semantic Web
Web Servicesare not “connected” to the Semantic WebWhy?
Web ServicesXML + XML SchemaSemantic WebRDF + OWL
Web ServicesPOST of SOAP-XMLSemantic WebGET of RDF-XML
Web ServicesNo (rigorous) semanticsSemantic WebRich, flexible semantics
Web Services&Semantic Web Fundamentally different technologies!
SADI SWSIP '09  'cause you can't always GET what you want!
>1000 X more data in the Deep Web than in Web pagesIn bioinformatics this is primarily databases and analytical algorithms
Web Service output is criticalto success for the Semantic Web!!
Research Question
WITHOUT INVENTING A NEW TECHNOLOGY OR STANDARD
Can we define frameworks and/or best practices that make Web Services “transparent” to the Semantic Web?
Semantic Web?An information system where machines can receive information from one source, re-interpret it, and correctly use it for a purpose that the source had not anticipated.
Semantic Web?If we cannot achieve those two things, then IMO we don’t have a “semantic web”, we only have a distributed (??), linked database… and that isn’t particularly exciting…
What do we need to do?Make Web Services exhibit the same “behavior” as GETAdd rich Semantics to Web Services at every level of the WS “stack”
What do we have to work with?(Without inventing new technologies or standards…)DataInterface annotations
Semantic Automated Discovery and Integrationhttp://sadiframework.orgFounding partner
History of SADIBased on observations of the usage and behaviour of BioMoby Semantic Web Servicessince 2002
SADI Observation #1:What does ‘GET’ really do?  What “behaviour” of GET do we need to mimic in a Web Service?
SADI Observation #1:GET guarantees the response relates to the input URI in a very precise and predictable wayPOST does not…Web Services have a fundamentally different semantic behaviour than the Semantic Web
SADI Observation #1:We can fix that!(without breaking any existing rules or standards!)
SADI Observation #2:All Web Services in Bioinformatics create implicitbiologicalrelationships between their input and output
SADI Observation #2:
SADI: Core PropositionMake the implicit explicitModel all Web Services this way
SADI: Core PropositionWeb Service output must be TriplesSUBJECT URI of the output graph is the same URI as the SUBJECT URI of the input graphthat was POSTedto the Web ServiceDefine OWL classes that describe your input and output triples
Consequence(i.e. why SADI works!)The Semantics of the triples from a Web Service are now explicit and identical to the Semantics of GET
How do we exploit this?Current Web Service definition systems such as WSDL, and OWL-S are missing a crucial annotation element……the semantic relationship between input and output
How do we exploit this?With SADI services, this relationship can be automatically derived by “diff-ing” the input and output OWL classes…because the SUBJECT node of the input and output graphs is guaranteed to be the same!
How do we exploit this?We have constructed a simple prototype Web Services registry that provides discovery based on annotation of these biological relationships
Demo #1a plug-in to the IO-Informatics Knowledge Explorer
The Sentient Knowledge Explorerfrom IO InformaticsA Semantic Integration, Visualization and Search Tool
SADI Plug-in to the Sentient Knowledge ExplorerThe Knowledge Explorer has a plug-ins API that we have utilized to pass data directly from SADI to the KE visualization and exploration systemData elements in KE are queried for their “type” (rdf:type);  this is used to discover additional data properties by querying the SADI Web Service registry
BACKGROUND of DATASETNIST toxicity compendium study 8 toxicantsLiverSerumUrineGenomic [Affymetrix MA]Metabolomic [LC/MS] dataconducted under NIST Advanced Technology Program (ATP), Award # 70NANB2H3009 as a Joint Venture between Icoria / Cogenics (Division of CLDA) and IO Informatics.
 Microarray studies were conducted under NIEHS contract # N01-ES-65406.
 The Alcohol study was conducted under NIAAA contract # HHSN281200510008C in collaboration with Bowles Center for Alcohol Studies (CAS) at UNC.
 This work was also made possible through contributions from members of IO Informatics’ Working Group on “Semantic Applications for Translational Research”.DEMOKnowledge ExplorerPlug-inFor more information about the Knowledge Explorer surf to:http://io-informatics.com
SADI SWSIP '09  'cause you can't always GET what you want!
SADI SWSIP '09  'cause you can't always GET what you want!
SADI SWSIP '09  'cause you can't always GET what you want!
SADI SWSIP '09  'cause you can't always GET what you want!
Call SADI to provide discovery of predicates based on data-type
SADI SWSIP '09  'cause you can't always GET what you want!
SADI fills-in the “Encodes” property from the discovered Web Service(s)
SADI SWSIP '09  'cause you can't always GET what you want!
Discover services that provide the hasGOTerm property for Protein Sequence datatype
SADI SWSIP '09  'cause you can't always GET what you want!
DEMOKnowledge ExplorerPlug-inFor more information about the Knowledge Explorer surf to:http://io-informatics.com
SADI Demo #2Imagine there is a “virtual graph” connecting every conceivable input for every conceivable Web Service to their respective outputs How do we query that graph?
“SHARE”Semantic Health And Research EnvironmentSADI client application
SADI SWSIP '09  'cause you can't always GET what you want!
What pathways does UniProt protein P47989 belong to?PREFIX pred: <http://sadiframework.org/ontologies/predicates.owl#>PREFIX ont: <http://ontology.dumontierlab.com/>PREFIX uniprot: <http://lsrn.org/UniProt:>SELECT ?gene ?pathway WHERE { 	uniprot:P47989 pred:isEncodedBy ?gene . 	?gene ont:isParticipantIn ?pathway . }
SADI SWSIP '09  'cause you can't always GET what you want!
SADI SWSIP '09  'cause you can't always GET what you want!
SADI SWSIP '09  'cause you can't always GET what you want!
Recapwhat we just sawA standard SPARQL query was entered into SHARE  – a SADI-based query engineThe query was interpreted to extract the properties being queried and these were passed to SADI for Web Service discoverySADI searched-for, found, and accessed the databases and/or analytical tools capable of generating those properties
Recapwhat we just sawWe posed, and answered a complex database query WITHOUT A DATABASE(in fact, the data didn’t even have to exist...)
RDF graph browsing and querying is useful… …but where’s the semantics??Let’s bring in some ontologies!
My Definition of Ontology (for this talk)Ontologies explicitly define the things that exist in “the world” based on what propertieseach kind of thing must have
 Ontology SpectrumFrames(Properties)Thesauri“narrowerterm”relationSelectedLogical	Constraints(disjointness, inverse, …) Catalog/IDFormalis-aInformalis-aFormalinstanceGeneralLogicalconstraintsTerms/glossaryValue Restrs.
Semantic Web?An information system where machines can receive information from one source, re-interpret it, and correctly use it for a purpose that the source had not anticipated.
Dynamic Discovery DistributedInterpretationRe-interpretation
Powered by SADIPrototype SADI-enabled SWS Client
Data exhibits “late binding”
Late binding:“purpose and meaning” of the data isnot determined untilthe moment it is required
Benefitof late bindingData is amenable toconstant re-interpretation
How do we achieve this?DO NOT PRE-CLASSIFY DATA!just hang properties on it
These are axioms that enable classificationFrames(Properties)Thesauri“narrowerterm”relationSelectedLogical	Constraints(disjointness, inverse, …) Catalog/IDFormalis-aInformalis-aFormalinstanceGeneralLogicalconstraintsTerms/glossaryValue Restrs.These are indexing/annotation systems
Design OWL-DL ontologies describing cardiovascular conceptsOntologies are in the “Frames+” area of the Ontology spectrum, and therefore can leverage SADI and be “executed” as workflows
What the…???  Did you just say “execute ontologies as  workflows?!”
Another interesting consequence of the SADI architectureOntology = Query = Workflow
SADI SWSIP '09  'cause you can't always GET what you want!
WORKFLOW
QUERY:SELECT images of mutations from genes in organism XXX that share homology to this gene in organism YYY
Concept:“Homologous Mutant Image”
As OWL AxiomsHomologousMutantImage is  owl:equivalentTo {Gene Q   hasImage   image PGene Q   hasSequence   Sequence QGene R   hasSequence   Sequence R Sequence Q   similarTo   Sequence RGene R = “my gene of interest”   }
Those axioms combine to create an OWL Class:homologous mutant images
QUERY:Retrieve owl:homologous mutant images for gene XXX
Demo #3Discover instances of OWL classes from data that doesn’t exist…
Show me patients whose creatinine level is increasing over time, along with their latest BUN and creatinine levels.PREFIX regress: <http://sadiframework.org/examples/regression.owl#> PREFIX patients: <http://sadiframework.org/ontologies/patients.owl#> PREFIX pred: <http://sadiframework.org/ontologies/predicates.owl#> SELECT ?patient ?bun ?creatFROM <http://sadiframework.org/ontologies/patients.rdf>WHERE {	?patient patients:creatinineLevels ?collection . 	?collection regress:hasRegressionModel ?model . 	?model regress:slope ?slope		FILTER (?slope > 0) .	?patient pred:latestBUN ?bun . 	?patient pred:latestCreatinine ?creat . }
SADI SWSIP '09  'cause you can't always GET what you want!
SADI SWSIP '09  'cause you can't always GET what you want!
SADI SWSIP '09  'cause you can't always GET what you want!
Show me patients whose creatinine level is increasing over time, along with their latest BUN and creatininelevels(now as an OWL class  ElevatedCreatininePatient)PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX patients: <http://sadiframework.org/ontologies/patients.owl#> PREFIX pred: <http://sadiframework.org/ontologies/predicates.owl#> SELECT ?patient ?bun ?creatFROM <http://sadiframework.org/ontologies/patients.rdf>WHERE {	?patient rdf:typepatients:ElevatedCreatininePatient .	?patient pred:latestBUN ?bun . 	?patient pred:latestCreatinine ?creat . }
Start burrowing through the OWL class  find that we need aregression model OWL class
Regression models have features like slopes and intercepts… and so onThe class is completely decomposed until a set of required Services are discoveredcapable of creating all these necessary properties
Successful decomposition of the OWL class to discover the need for a LinearRegression Web Service, and so on
VOILA!
Demo #3Discover instances of OWL classes from data that doesn’t exist…
SADI and CardioSHAREOWL Class restrictions converted into workflowsSPARQL queries converted into workflowsReasoning happening at the same time as queries are being executed
(AFAIK)This is a completely novel behaviour!
Ontologies are reasonedWorkflows are executedQueries are resolvedso what do we call what this client does??
“Reckoning”Dynamic discovery of instances of OWL classes through synthesis and invocation of a Web Service workflow capable of generating data described by the OWL Class restrictions, followed by reasoning to classify the data into that ontology
But OWL Classes can be (and often are) completely “made-up”What does that mean in the context of SADI and CardioSHARE?
Current Research We believe that ontologies and hypothesesare, in some ways, the same “thing”……simply assertions about individuals that may or may not existIf an instance of a class exists, then the hypothesis is “validated”
Current Research Constructing OWL classes that represent patient categories mimicking clinical outcomes research experiments done on the BC Cardiac RegistryThe original experiments have already been published, and therefore act as a gold-standardWe attempt to use “Reckoning” to automatically discover instances of these patient Classes and compare our results with those of the clinical researchers
SADI SWSIP '09  'cause you can't always GET what you want!
HypothesisIschemiaSADIWeb “agents”HypertensionBlood PressureCardioSHARE architecture: Increasingly complex ontological layers organize data into richer concepts, even hypothesesDatabase 1Database 2AnalysisAlgorithmXX
RecapSADI Semantic Web Services generate triples; the predicates of those triples are indexed... Period!!For a given query, determine which properties are available, and which need to be discovered/generatedDiscovery of services through index queries + on-the-fly “classification” of local data against the service interface OWL Classes
Semantic WebAn information system where machines can receive information from one source, re-interpret it, and correctly use it for a purpose that the source had not anticipated.
What SADI + SHARE supportsRe-interpretation :The SADI data-store simply collects properties, and matches them up with OWL Classes in a SPARQL query and/or from individual service provider’s Web Service interface
What SADI + SHARE supportsNovel re-use:Because we don’t pre-classify, there is no way for the provider to dictate how their data should be used.  They simply add their properties into the “cloud” and those properties are used in whatever way is appropriate for me.
Important “wins”Data remains distributed – no warehouse!Data is not “exposed” as a SPARQL endpoint  greater provider-control over computational resourcesYet data appears to be a SPARQL endpoint… no modification of SPARQL or reasoner required.
And all this because we simply require that the input URI is the same as the output URI

More Related Content

PPTX
Using Semantics to personalize medical research
PPTX
The Semantic Web - This time... its Personal
PDF
Evaluating Your Learning to Rank Model: Dos and Don’ts in Offline/Online Eval...
PDF
Entity Search on Virtual Documents Created with Graph Embeddings
PDF
Ontologies and semantic web
PPTX
C:\fakepath\bioit world2010
PDF
How to Build your Training Set for a Learning To Rank Project - Haystack
PDF
Search Quality Evaluation to Help Reproducibility : an Open Source Approach
Using Semantics to personalize medical research
The Semantic Web - This time... its Personal
Evaluating Your Learning to Rank Model: Dos and Don’ts in Offline/Online Eval...
Entity Search on Virtual Documents Created with Graph Embeddings
Ontologies and semantic web
C:\fakepath\bioit world2010
How to Build your Training Set for a Learning To Rank Project - Haystack
Search Quality Evaluation to Help Reproducibility : an Open Source Approach

What's hot (8)

PDF
Neo4j and bioinformatics
PPTX
CSHALS 2010 W3C Semanic Web Tutorial
PDF
Rated Ranking Evaluator (RRE) Hands-on Relevance Testing @Chorus
PPT
From Watson to Ontology Repositories - Ontolog OOR panel
PDF
Rated Ranking Evaluator Enterprise: the next generation of free Search Qualit...
PDF
Haystack- Learning to rank in an hourly job market
PDF
DRONE: A Tool to Detect and Repair Directive Defects in Java APIs Documentation
Neo4j and bioinformatics
CSHALS 2010 W3C Semanic Web Tutorial
Rated Ranking Evaluator (RRE) Hands-on Relevance Testing @Chorus
From Watson to Ontology Repositories - Ontolog OOR panel
Rated Ranking Evaluator Enterprise: the next generation of free Search Qualit...
Haystack- Learning to rank in an hourly job market
DRONE: A Tool to Detect and Repair Directive Defects in Java APIs Documentation
Ad

Viewers also liked (20)

PDF
USART
PPT
France 3 Lorraine : présence numérique 2010-2014
PDF
Crew, Foia, Documents 010156 - 010573
PPTX
Tutorial - Creating SADI semantic-web-services
PPTX
Websense Hosted Email Security
PPT
Hr2all offer to AIMS
PDF
Crew, FOIA, Documents 012929- 013743
PDF
Crew, FOIA,Documents 017782- 017823
PDF
BDM Brochure
PDF
Wednesday - A Wild Encounter - God Is Unpredictable
PDF
Crew, Foia, Documents 008159 - 008236
PDF
Crew, Foia, Documents 008692 - 008793
ODP
Digital Native
ODP
PPTX
User Accounts in Drupal
PPT
Annual Report: What's happening @ the Wadleigh 2009-2010
PPT
Crm User Training Chinese
PPT
Facebook 101
PPT
This Little Girl Got Me Thinking
ODP
USART
France 3 Lorraine : présence numérique 2010-2014
Crew, Foia, Documents 010156 - 010573
Tutorial - Creating SADI semantic-web-services
Websense Hosted Email Security
Hr2all offer to AIMS
Crew, FOIA, Documents 012929- 013743
Crew, FOIA,Documents 017782- 017823
BDM Brochure
Wednesday - A Wild Encounter - God Is Unpredictable
Crew, Foia, Documents 008159 - 008236
Crew, Foia, Documents 008692 - 008793
Digital Native
User Accounts in Drupal
Annual Report: What's happening @ the Wadleigh 2009-2010
Crm User Training Chinese
Facebook 101
This Little Girl Got Me Thinking
Ad

Similar to SADI SWSIP '09 'cause you can't always GET what you want! (20)

PDF
Building SADI Services Tutorial - SIB Workshop, Geneva, December 2015
PPTX
ISoLA 2010: SADI Taverna plug-in
PPT
Finding knowledge, data and answers on the Semantic Web
PPT
Semantics in Financial Services -David Newman
PPTX
How To Make Linked Data More than Data
PPTX
How To Make Linked Data More than Data
PDF
SemTech 2010: Pelorus Platform
PPS
Toward Automatic Generation of SPARQL result set Visualizations
PDF
myEquivalents, aka a new cross-reference service
PPTX
Doing Clever Things with the Semantic Web
PPT
BioIT Europe 2010 - BioCatalogue
PPT
Sem tech 2011 v8
PPTX
Evaluating Hypotheses using SPARQL-DL as an abstract workflow language to cho...
PPTX
Research - this time it's personal
PPT
Information Extraction and Linked Data Cloud
PPT
Introduction of Semantic Web using NLP techniques.
PPTX
Role of Semantic Web in Health Informatics
PPTX
Building a Semantic search Engine in a library
PPT
Introduction to Semantic Web for GIS Practitioners
PPT
Feeding and consuming data to support open notebook science via the chem spid...
Building SADI Services Tutorial - SIB Workshop, Geneva, December 2015
ISoLA 2010: SADI Taverna plug-in
Finding knowledge, data and answers on the Semantic Web
Semantics in Financial Services -David Newman
How To Make Linked Data More than Data
How To Make Linked Data More than Data
SemTech 2010: Pelorus Platform
Toward Automatic Generation of SPARQL result set Visualizations
myEquivalents, aka a new cross-reference service
Doing Clever Things with the Semantic Web
BioIT Europe 2010 - BioCatalogue
Sem tech 2011 v8
Evaluating Hypotheses using SPARQL-DL as an abstract workflow language to cho...
Research - this time it's personal
Information Extraction and Linked Data Cloud
Introduction of Semantic Web using NLP techniques.
Role of Semantic Web in Health Informatics
Building a Semantic search Engine in a library
Introduction to Semantic Web for GIS Practitioners
Feeding and consuming data to support open notebook science via the chem spid...

More from Mark Wilkinson (20)

PPTX
FAIR Metrics - Presentation to NIH KC1
PDF
Introducing the fair evaluator
PPTX
FAIR Projector Builder
PPTX
Tech. session : Interoperability and Data FAIRness emerges from a novel combi...
PPTX
smartAPIs: EUDAT Semantic Working Group Presentation @ RDA 9th Plenary
PPTX
IBC FAIR Data Prototype Implementation slideshow
PDF
FAIR Data Prototype - Interoperability and FAIRness through a novel combinati...
DOCX
Sample data and other ur ls
DOCX
Example code for the SADI BMI Calculator Web Service
DOCX
Sadi service
PPTX
Data FAIRport Prototype & Demo - Presentation to Elsevier, Jul 10, 2015
PPTX
Force11 JDDCP workshop presentation, @ Force2015, Oxford
PPTX
Presentation to the J. Craig Venter Institute, Dec. 2014
PPTX
Enhancing Reproducibility and Transparency in Clinical Research through Seman...
PPTX
SADI CSHALS 2013
PPTX
Web Science 2.0 - in silico science
PPTX
Web Science - ISoLA 2012
PPTX
Web Science, SADI, and the Singularity
PPTX
SWAT4LS 2011: SADI Knowledge Explorer Plug-in
PPTX
SADI in Perl - Protege Plugin Tutorial (fixed Aug 24, 2011)
FAIR Metrics - Presentation to NIH KC1
Introducing the fair evaluator
FAIR Projector Builder
Tech. session : Interoperability and Data FAIRness emerges from a novel combi...
smartAPIs: EUDAT Semantic Working Group Presentation @ RDA 9th Plenary
IBC FAIR Data Prototype Implementation slideshow
FAIR Data Prototype - Interoperability and FAIRness through a novel combinati...
Sample data and other ur ls
Example code for the SADI BMI Calculator Web Service
Sadi service
Data FAIRport Prototype & Demo - Presentation to Elsevier, Jul 10, 2015
Force11 JDDCP workshop presentation, @ Force2015, Oxford
Presentation to the J. Craig Venter Institute, Dec. 2014
Enhancing Reproducibility and Transparency in Clinical Research through Seman...
SADI CSHALS 2013
Web Science 2.0 - in silico science
Web Science - ISoLA 2012
Web Science, SADI, and the Singularity
SWAT4LS 2011: SADI Knowledge Explorer Plug-in
SADI in Perl - Protege Plugin Tutorial (fixed Aug 24, 2011)

Recently uploaded (20)

PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Electronic commerce courselecture one. Pdf
PPTX
Cloud computing and distributed systems.
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
Unlocking AI with Model Context Protocol (MCP)
Dropbox Q2 2025 Financial Results & Investor Presentation
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Approach and Philosophy of On baking technology
Electronic commerce courselecture one. Pdf
Cloud computing and distributed systems.
Spectral efficient network and resource selection model in 5G networks
The Rise and Fall of 3GPP – Time for a Sabbatical?
“AI and Expert System Decision Support & Business Intelligence Systems”
NewMind AI Weekly Chronicles - August'25 Week I
Review of recent advances in non-invasive hemoglobin estimation
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
sap open course for s4hana steps from ECC to s4
20250228 LYD VKU AI Blended-Learning.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Reach Out and Touch Someone: Haptics and Empathic Computing
Understanding_Digital_Forensics_Presentation.pptx
Network Security Unit 5.pdf for BCA BBA.

SADI SWSIP '09 'cause you can't always GET what you want!

  • 1. ’cause you can’t always GET what you want!
  • 3. Web Servicesare not “connected” to the Semantic WebWhy?
  • 4. Web ServicesXML + XML SchemaSemantic WebRDF + OWL
  • 5. Web ServicesPOST of SOAP-XMLSemantic WebGET of RDF-XML
  • 6. Web ServicesNo (rigorous) semanticsSemantic WebRich, flexible semantics
  • 7. Web Services&Semantic Web Fundamentally different technologies!
  • 9. >1000 X more data in the Deep Web than in Web pagesIn bioinformatics this is primarily databases and analytical algorithms
  • 10. Web Service output is criticalto success for the Semantic Web!!
  • 12. WITHOUT INVENTING A NEW TECHNOLOGY OR STANDARD
  • 13. Can we define frameworks and/or best practices that make Web Services “transparent” to the Semantic Web?
  • 14. Semantic Web?An information system where machines can receive information from one source, re-interpret it, and correctly use it for a purpose that the source had not anticipated.
  • 15. Semantic Web?If we cannot achieve those two things, then IMO we don’t have a “semantic web”, we only have a distributed (??), linked database… and that isn’t particularly exciting…
  • 16. What do we need to do?Make Web Services exhibit the same “behavior” as GETAdd rich Semantics to Web Services at every level of the WS “stack”
  • 17. What do we have to work with?(Without inventing new technologies or standards…)DataInterface annotations
  • 18. Semantic Automated Discovery and Integrationhttp://sadiframework.orgFounding partner
  • 19. History of SADIBased on observations of the usage and behaviour of BioMoby Semantic Web Servicessince 2002
  • 20. SADI Observation #1:What does ‘GET’ really do? What “behaviour” of GET do we need to mimic in a Web Service?
  • 21. SADI Observation #1:GET guarantees the response relates to the input URI in a very precise and predictable wayPOST does not…Web Services have a fundamentally different semantic behaviour than the Semantic Web
  • 22. SADI Observation #1:We can fix that!(without breaking any existing rules or standards!)
  • 23. SADI Observation #2:All Web Services in Bioinformatics create implicitbiologicalrelationships between their input and output
  • 25. SADI: Core PropositionMake the implicit explicitModel all Web Services this way
  • 26. SADI: Core PropositionWeb Service output must be TriplesSUBJECT URI of the output graph is the same URI as the SUBJECT URI of the input graphthat was POSTedto the Web ServiceDefine OWL classes that describe your input and output triples
  • 27. Consequence(i.e. why SADI works!)The Semantics of the triples from a Web Service are now explicit and identical to the Semantics of GET
  • 28. How do we exploit this?Current Web Service definition systems such as WSDL, and OWL-S are missing a crucial annotation element……the semantic relationship between input and output
  • 29. How do we exploit this?With SADI services, this relationship can be automatically derived by “diff-ing” the input and output OWL classes…because the SUBJECT node of the input and output graphs is guaranteed to be the same!
  • 30. How do we exploit this?We have constructed a simple prototype Web Services registry that provides discovery based on annotation of these biological relationships
  • 31. Demo #1a plug-in to the IO-Informatics Knowledge Explorer
  • 32. The Sentient Knowledge Explorerfrom IO InformaticsA Semantic Integration, Visualization and Search Tool
  • 33. SADI Plug-in to the Sentient Knowledge ExplorerThe Knowledge Explorer has a plug-ins API that we have utilized to pass data directly from SADI to the KE visualization and exploration systemData elements in KE are queried for their “type” (rdf:type); this is used to discover additional data properties by querying the SADI Web Service registry
  • 34. BACKGROUND of DATASETNIST toxicity compendium study 8 toxicantsLiverSerumUrineGenomic [Affymetrix MA]Metabolomic [LC/MS] dataconducted under NIST Advanced Technology Program (ATP), Award # 70NANB2H3009 as a Joint Venture between Icoria / Cogenics (Division of CLDA) and IO Informatics.
  • 35. Microarray studies were conducted under NIEHS contract # N01-ES-65406.
  • 36. The Alcohol study was conducted under NIAAA contract # HHSN281200510008C in collaboration with Bowles Center for Alcohol Studies (CAS) at UNC.
  • 37. This work was also made possible through contributions from members of IO Informatics’ Working Group on “Semantic Applications for Translational Research”.DEMOKnowledge ExplorerPlug-inFor more information about the Knowledge Explorer surf to:http://io-informatics.com
  • 42. Call SADI to provide discovery of predicates based on data-type
  • 44. SADI fills-in the “Encodes” property from the discovered Web Service(s)
  • 46. Discover services that provide the hasGOTerm property for Protein Sequence datatype
  • 48. DEMOKnowledge ExplorerPlug-inFor more information about the Knowledge Explorer surf to:http://io-informatics.com
  • 49. SADI Demo #2Imagine there is a “virtual graph” connecting every conceivable input for every conceivable Web Service to their respective outputs How do we query that graph?
  • 50. “SHARE”Semantic Health And Research EnvironmentSADI client application
  • 52. What pathways does UniProt protein P47989 belong to?PREFIX pred: <http://sadiframework.org/ontologies/predicates.owl#>PREFIX ont: <http://ontology.dumontierlab.com/>PREFIX uniprot: <http://lsrn.org/UniProt:>SELECT ?gene ?pathway WHERE { uniprot:P47989 pred:isEncodedBy ?gene . ?gene ont:isParticipantIn ?pathway . }
  • 56. Recapwhat we just sawA standard SPARQL query was entered into SHARE – a SADI-based query engineThe query was interpreted to extract the properties being queried and these were passed to SADI for Web Service discoverySADI searched-for, found, and accessed the databases and/or analytical tools capable of generating those properties
  • 57. Recapwhat we just sawWe posed, and answered a complex database query WITHOUT A DATABASE(in fact, the data didn’t even have to exist...)
  • 58. RDF graph browsing and querying is useful… …but where’s the semantics??Let’s bring in some ontologies!
  • 59. My Definition of Ontology (for this talk)Ontologies explicitly define the things that exist in “the world” based on what propertieseach kind of thing must have
  • 60. Ontology SpectrumFrames(Properties)Thesauri“narrowerterm”relationSelectedLogical Constraints(disjointness, inverse, …) Catalog/IDFormalis-aInformalis-aFormalinstanceGeneralLogicalconstraintsTerms/glossaryValue Restrs.
  • 61. Semantic Web?An information system where machines can receive information from one source, re-interpret it, and correctly use it for a purpose that the source had not anticipated.
  • 63. Powered by SADIPrototype SADI-enabled SWS Client
  • 65. Late binding:“purpose and meaning” of the data isnot determined untilthe moment it is required
  • 66. Benefitof late bindingData is amenable toconstant re-interpretation
  • 67. How do we achieve this?DO NOT PRE-CLASSIFY DATA!just hang properties on it
  • 68. These are axioms that enable classificationFrames(Properties)Thesauri“narrowerterm”relationSelectedLogical Constraints(disjointness, inverse, …) Catalog/IDFormalis-aInformalis-aFormalinstanceGeneralLogicalconstraintsTerms/glossaryValue Restrs.These are indexing/annotation systems
  • 69. Design OWL-DL ontologies describing cardiovascular conceptsOntologies are in the “Frames+” area of the Ontology spectrum, and therefore can leverage SADI and be “executed” as workflows
  • 70. What the…??? Did you just say “execute ontologies as workflows?!”
  • 71. Another interesting consequence of the SADI architectureOntology = Query = Workflow
  • 74. QUERY:SELECT images of mutations from genes in organism XXX that share homology to this gene in organism YYY
  • 76. As OWL AxiomsHomologousMutantImage is owl:equivalentTo {Gene Q hasImage image PGene Q hasSequence Sequence QGene R hasSequence Sequence R Sequence Q similarTo Sequence RGene R = “my gene of interest” }
  • 77. Those axioms combine to create an OWL Class:homologous mutant images
  • 79. Demo #3Discover instances of OWL classes from data that doesn’t exist…
  • 80. Show me patients whose creatinine level is increasing over time, along with their latest BUN and creatinine levels.PREFIX regress: <http://sadiframework.org/examples/regression.owl#> PREFIX patients: <http://sadiframework.org/ontologies/patients.owl#> PREFIX pred: <http://sadiframework.org/ontologies/predicates.owl#> SELECT ?patient ?bun ?creatFROM <http://sadiframework.org/ontologies/patients.rdf>WHERE { ?patient patients:creatinineLevels ?collection . ?collection regress:hasRegressionModel ?model . ?model regress:slope ?slope FILTER (?slope > 0) . ?patient pred:latestBUN ?bun . ?patient pred:latestCreatinine ?creat . }
  • 84. Show me patients whose creatinine level is increasing over time, along with their latest BUN and creatininelevels(now as an OWL class  ElevatedCreatininePatient)PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX patients: <http://sadiframework.org/ontologies/patients.owl#> PREFIX pred: <http://sadiframework.org/ontologies/predicates.owl#> SELECT ?patient ?bun ?creatFROM <http://sadiframework.org/ontologies/patients.rdf>WHERE { ?patient rdf:typepatients:ElevatedCreatininePatient . ?patient pred:latestBUN ?bun . ?patient pred:latestCreatinine ?creat . }
  • 85. Start burrowing through the OWL class  find that we need aregression model OWL class
  • 86. Regression models have features like slopes and intercepts… and so onThe class is completely decomposed until a set of required Services are discoveredcapable of creating all these necessary properties
  • 87. Successful decomposition of the OWL class to discover the need for a LinearRegression Web Service, and so on
  • 89. Demo #3Discover instances of OWL classes from data that doesn’t exist…
  • 90. SADI and CardioSHAREOWL Class restrictions converted into workflowsSPARQL queries converted into workflowsReasoning happening at the same time as queries are being executed
  • 91. (AFAIK)This is a completely novel behaviour!
  • 92. Ontologies are reasonedWorkflows are executedQueries are resolvedso what do we call what this client does??
  • 93. “Reckoning”Dynamic discovery of instances of OWL classes through synthesis and invocation of a Web Service workflow capable of generating data described by the OWL Class restrictions, followed by reasoning to classify the data into that ontology
  • 94. But OWL Classes can be (and often are) completely “made-up”What does that mean in the context of SADI and CardioSHARE?
  • 95. Current Research We believe that ontologies and hypothesesare, in some ways, the same “thing”……simply assertions about individuals that may or may not existIf an instance of a class exists, then the hypothesis is “validated”
  • 96. Current Research Constructing OWL classes that represent patient categories mimicking clinical outcomes research experiments done on the BC Cardiac RegistryThe original experiments have already been published, and therefore act as a gold-standardWe attempt to use “Reckoning” to automatically discover instances of these patient Classes and compare our results with those of the clinical researchers
  • 98. HypothesisIschemiaSADIWeb “agents”HypertensionBlood PressureCardioSHARE architecture: Increasingly complex ontological layers organize data into richer concepts, even hypothesesDatabase 1Database 2AnalysisAlgorithmXX
  • 99. RecapSADI Semantic Web Services generate triples; the predicates of those triples are indexed... Period!!For a given query, determine which properties are available, and which need to be discovered/generatedDiscovery of services through index queries + on-the-fly “classification” of local data against the service interface OWL Classes
  • 100. Semantic WebAn information system where machines can receive information from one source, re-interpret it, and correctly use it for a purpose that the source had not anticipated.
  • 101. What SADI + SHARE supportsRe-interpretation :The SADI data-store simply collects properties, and matches them up with OWL Classes in a SPARQL query and/or from individual service provider’s Web Service interface
  • 102. What SADI + SHARE supportsNovel re-use:Because we don’t pre-classify, there is no way for the provider to dictate how their data should be used. They simply add their properties into the “cloud” and those properties are used in whatever way is appropriate for me.
  • 103. Important “wins”Data remains distributed – no warehouse!Data is not “exposed” as a SPARQL endpoint  greater provider-control over computational resourcesYet data appears to be a SPARQL endpoint… no modification of SPARQL or reasoner required.
  • 104. And all this because we simply require that the input URI is the same as the output URI
  • 105. Join us!SADI and CardioSHARE are Open-Source projectsCome join us – we’re having a lot of fun!!http://sadiframework.org
  • 106. CreditsBenjamin VanderValk (SADI & CardioSHARE)Luke McCarthy (SADI & CardioSHARE)SoroushSamadian (CardioSHARE)IO Informatics (Knowledge Explorer API)microsoftResearch Fin