Using formal resources on the Semantic Interoperability Platform FP7 DebugIT project Hans Cools, Ariane Assele, Daniel Schober On behalf of the DebugIT partners Oslo 29 August 2011 Slide 1 DebugIT Project @ MIE 2011
Us Using ing for ormal mal res esour ources ces • Retrieving data using queries • Process data using rules: • Conversion to common ontology (global semantics) • Analysis rules Slide 2 DebugIT Project @ MIE 2011
Fr From om dat data a values alues to o for ormal mal res esour ources ces Step 1 Step 2 GUI Formal world Operational Operational vCDR/EMR Local Global world world SQL DSSQ CASQ Query builder Analysis service result in result in conversion conversion analysis DDO form DO form Dashboard - formal data - integrated conversion analysis mapping DDO DO rules - analysed rules for - decision mapping OO support CT - workflow CIS CDR DB: database At development (deployment) time : creating "formal library" CIS: Clinical Information System DDO: Data Definition Ontology At runtime : formalizing (via querying) and deducting (via reasoning with rules) CDR: Clinical Data Repository DO: Domain Ontology Using formalisms declared in ontologies CT: clinical terminology OO: Operational Ontology vCDR: virtual Clinical Data Repository - e.g. EPR: Electronic Patient Record CASQ: Clinical Analysis SPARQL Query DSSQ: Data Set SPARQL Query GUI: Graphical User Interface / SQL: Structured Query Language Slide 3 DebugIT Project @ MIE 2011
Agenda genda • Overview • Reasoner • Query • SPARQL • Clinical Example • Clinical Analysis SPARQL Query (CASQ) • Data Set SPARQL Query (DSSQ) • Rule/N3 rule • Conversion rule • Analysis rule • Demo Slide 4 DebugIT Project @ MIE 2011
Reas easoner oner • EYE: Euler Yap Engine • Backward-chaining reasoner enhanced with Euler path detection • Adhering coherent logic (close to first order logic) • Inference engine supporting logic based proofs • Implementation in Java/Prolog (logic programming language) • Open source: http://eulersharp.sourceforge.net/ • 60 million lips (logical inferences / second) on an Intel Core Duo 2.2 GHz Slide 5 DebugIT Project @ MIE 2011
Reas easoner oner: : deep deep tax axonomy onomy benc benchmar hmark • http://ruleml.org/WellnessRules/files/WellnessRulesN3-2009-11-10.pdf Depth colog cwm eye eulerj jDREW jena pellet 10 0.007 0.071 0.000 0.006 0.004 0.121 0.075 100 0.511 1.449 0.004 0.179 0.172 0.783 0.442 1000 500.600 115.820 0.040 3.907 98.467 29.330 38.836 10000 498137.000 16016.625 0.436 155.710 91614.000 (outOfMem) (outOfMem) 100000 16 year 4 sec 4 year • Unit: seconds if not indicated otherwise Slide 6 DebugIT Project @ MIE 2011
Agenda genda • Overview • Reasoner • Query • SPARQL • Clinical Example • Clinical Analysis SPARQL Query (CASQ) • Data Set SPARQL Query (DSSQ) • Rule/N3 rule • Conversion rule • Analysis rule • Demo Slide 7 DebugIT Project @ MIE 2011
SPARQL QL • Recursive acronym: SPARQL Protocol and RDF Query Language • Query language of the Semantic Web • Query patterns related to N3: • Subject – predicate – object triples • Universally quantified variables (?var) • Differences: e.g. FILTER (constraint) • Basic query forms: • SELECT • CONSTRUCT • ASK • DESCRIBE Slide 8 DebugIT Project @ MIE 2011
SPARQL QL SELE LECT • PREFIX foaf: <http://xmlns.com/foaf/0.1/> # prefix declarations • PREFIX site: <http://example.org/stats#> • SELECT ?name # Result clause (projection) • WHERE { # WHERE clause with query pattern, • [] foaf:name ?name; # binding variables (?) with matches found in the • site:hits ?hits.} # data ( “ background graph ” ) • ORDER BY desc(?hits) # Solution modifier • LIMIT 2 # “ foaf:name ” is a shortcut for writing <http://xmlns.com/foaf/0.1/name> • # Data: • _:a foaf:name "Alice"; site:hits 210 . • _:b foaf:name "Bert"; site:hits 180 . • _:c foaf:name "Ernie"; site:hits 2130 . ?name • # Result “Ernie” “Alice” Slide 9 DebugIT Project @ MIE 2011
SPARQL QL CONS ONSTRUC UCT PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX site: <http://example.org/stats#> CONSTRUCT { [] foaf:name ?name} # CONSTRUCT clause with result graph template WHERE { # Generating RDF graph with the bindings of [] foaf:name ?name; # each solution site:hits ?hits} ORDER BY desc(?hits) LIMIT 2 # Data: _:a foaf:name "Alice"; site:hits 210. _:b foaf:name "Bert"; site:hits 180. _:c foaf:name "Ernie"; site:hits 2130. # Result: _:x foaf:name "Ernie". _:y foaf:name "Alice". Slide 10 DebugIT Project @ MIE 2011
Fr From om dat data a values alues to o for ormal mal res esour ources ces Step 1 Step 2 GUI Formal world Operational Operational vCDR/EMR Local Global world world CASQ SQL DSSQ Query builder Analysis service result in result in conversion conversion analysis DDO form DO form Dashboard - formal data - integrated conversion analysis mapping DDO DO rules - analysed rules for - decision mapping OO support CT - workflow CIS CDR DB: database At development (deployment) time : creating "formal library" CIS: Clinical Information System DDO: Data Definition Ontology At runtime : formalizing (via querying) and deducting (via reasoning with rules) CDR: Clinical Data Repository DO: Domain Ontology Using formalisms declared in ontologies CT: clinical terminology OO: Operational Ontology vCDR: virtual Clinical Data Repository - e.g. EPR: Electronic Patient Record CASQ: Clinical Analysis SPARQL Query DSSQ: Data Set SPARQL Query GUI: Graphical User Interface / SQL: Structured Query Language Slide 11 DebugIT Project @ MIE 2011
Clinical linical example example Bacterium identification Patient Sample Culture => bacterial growth • Susceptibility test • + Antibiotics S R • Result: antibiogram with bacteria and tested antibiotics • E.g. white halo around antibiotic pad indicating bacterial death • Analysis of bacterial susceptibility: sensitive (S), resistant (R), intermediate (I) • E.g. bacterium sensitive to red, resistant to yellow antibiotic Slide 12 DebugIT Project @ MIE 2011
Clinical linical Analy nalysis is SPARQL QL Quer Query CASQ • Using Analysis/Clinical Analysis Ontology (OO) • Created at development time as template from natural language question of clinician, e.g. • "What is the percentage of S. Aureus cases - cultured from all samples collected in 2007 at INSERM and HUG hospital - that is resistant to vancomycin?" • Semantics of final result after search and analysis • Created at runtime with Query Builder from template • Automatic conversion to DSSQ Slide 13 DebugIT Project @ MIE 2011
'Oper Operat ational' ional' ont ontologies ologies OO Quer Query builder builder CASQ Slide 14 DebugIT Project @ MIE 2011
CASQ Q templa emplate CASQ Looking for percentage of bacterium cases (representing set of total) cultured from sample resulting from a collection during period starting date time yyyy-mm-dd/hh:mm:ss, ending date time yyyy-mm-dd/hh:mm:ss in hospital counting members; percentage that is subset of the former (same properties) and resistant to antibiotic counting members; having measurement with factor 'percent' (/100) value Slide 15 DebugIT Project @ MIE 2011
CASQ CASQ ins instance ance CASQ PREFIX owl: <http://www.w3.org/2002/07/owl#> Looking for percentage PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> of Staphylococcus aureus cases (representing set of total) PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX event: <http://eulersharp.sourceforge.net/2003/03swap/event#> cultured from all samples PREFIX quant: <http://eulersharp.sourceforge.net/2003/03swap/quantities#> resulting from a collection PREFIX units: <http://eulersharp.sourceforge.net/2003/03swap/units#> PREFIX biotop: <http://purl.org/biotop/biotop.owl#> during period PREFIX dco: <http://purl.org/imbi/dco/dco#> starting date time 2007-01-01/00:00:00, PREFIx cao: <http://www.agfa.com/w3c/2009/clinicalAnalysisOntology#> ending date time 2008-01-01/00:00:00 in INSERM OR HUG hospital counting members; percentage that is subset of the former (same properties) and resistant to vancomycin counting members; having measurement with factor 'percent' (/100) value Slide 16 DebugIT Project @ MIE 2011
Recommend
More recommend