Upload
luke-mccarthy
View
947
Download
3
Embed Size (px)
DESCRIPTION
SADI lightning talk from the SWAT4LS 2011 hackathon.
Citation preview
SADI in 5:00Semantic Automated Discovery and Integration
There’s nothing to it.
• input is an RDF graph• rooted at a particular node
• described by an OWL class
• output is an RDF graph• rooted at the same node
• described by another OWL class
What is a SADI service?
What is a SADI service?
• explicit relationship between input and output• transparent service operation semantics
• machine-understandable descriptionof the service interface• easy service discovery and integration
Output
BMI
SADIService
Input
height weight
ID Name Height Weight Age
24601 Jean Valjean 1.8m 84kg 45
7474505B Jake Blues 1.73m 101kg 31
6 — 1.88m 75kg 39
... ... ... ... ...
Client
Output
BMI
SADIService
Input
height weight
ID Name Height Weight Age
24601 Jean Valjean 1.8m 84kg 45
7474505B Jake Blues 1.73m 101kg 31
6 — 1.88m 75kg 39
... ... ... ... ...
Client
Patient #24601
1.8m 84kg
height weight
Output
BMI
SADIService
Input
height weight
ID Name Height Weight Age
24601 Jean Valjean 1.8m 84kg 45
7474505B Jake Blues 1.73m 101kg 31
6 — 1.88m 75kg 39
... ... ... ... ...
Client
BMI
25.9
Patient #24601
25.9
BMI
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .@prefix mged: <http://mged.sourceforge.net/ontologies/MGEDOntology.owl#> .@prefix foaf: <http://xmlns.com/foaf/0.1/> .
<http://sadiframework.org/examples/bmi-input.rdf#patient24601> bmi:BMI "25.9"^^xsd:double ; foaf:name "Jean Valjean"^^xsd:string ; mged:has_height [ a mged:Measurement ; mged:has_units mged:m ; mged:has_value "1.8"^^xsd:double ] ; mged:has_mass [ a mged:Measurement ; mged:has_units mged:kg ; mged:has_value "84"^^xsd:double ] .
Client
Patient #24601
1.8m 84kg
height weight
BMI
25.9
The SADI registry
• clients need to find SADI services• ideally just search the web for instances of the SADI
service description class• current technology isn’t quite there
• use the SADI registry• SPARQL endpoint, Java and REST APIs
• anyone can register a service
• services are indexed by the properties they attach
The SADI registry
SADI registryhttp://sadiframework.org/registry/
SPARQL endpointhttp://sadiframework.org/registry/sparql
REST APIhttp://sadiframework.org/registry/api/
PREFIX sadi: <http://sadiframework.org/ontologies/predicates.owl#>PREFIX dumontier: <http://ontology.dumontierlab.com/>PREFIX kegg: <http://lsrn.org/KEGG_PATHWAY:>SELECT ?gene ?protein ?seq WHERE {
kegg:hsa00232 dumontier:hasParticipant ?gene . ?gene sadi:encodes ?protein . ?protein sadi:hasSequence ?seq
}
Service
Service
Service
SHARE query client
SHARE query client
CardioSHAREhttp://biordf.net/cardioSHARE/