A Generic Software Framework for building Hybrid Ontology-Backed Models for Driving Applications Colin Puleston, James Cunningham, Alan Rector Bio-Health Informatics Group, University of Manchester
Hybrid-Model Demo
Demo Shows… Object Model (Java) provides central structure OWL Ontology provides detailed domain knowledge Dynamic model updates: –Orchestrated by Object Model –Based on interaction with ontology + classifier
Object-Model/Ontology Interaction
EKS Access System Object Model accesses EKS and associated inference mechanisms via mediating interface …has no knowledge of any EKS format …and no knowledge of any inference mechanisms FaCT++ OWL-AccessProtege-Ac. Domain Knowledge Sources (ontologies, databases, etc.) Ontological knowledge comes from set of External Knowledge Sources (EKS)… Object Model
EKS Access System Object Model has no prior knowledge of any EKS contents… …other than an expectation that a small number of ‘key- entities’ will be represented somewhere …and that mappings will be provided via a configuration file FaCT++ OWL-AccessProtege-Ac. Domain Knowledge Sources (ontologies, databases, etc.) Ontological knowledge comes from set of External Knowledge Sources (EKS)… Object Model
EKS Access System Object Model Get concept- hierarchy for Create instance of C1 C1a Update field-set + constraints for Cancer selected field-value updated C1
Concept-Instance state update (OWL Implementation)… Concept-Instance FieldRootValue Cancer locusLocusBreast Instance-of stageBC+sStage2 subSt. BC2+ss Concept-Instance FieldRootValue Cancer locus Locus Breast Instance-of stage BC+s Stage2 Cancer and locus some Breast and stage some Stage2 Stage2BreastCancer EquivalentTo: BreastCancer and stage some Stage2 SubClassOf: subStage some (SubStageA or SubStageB…) To OWL Description Classify Update (via ‘sanctioning’ mechanism)
Note EKS Access System allows ‘compositional’ concepts such as BreastCancer and Stage2BreastCancer to be hidden from Object Model …Hence: No need for classification during execution of queries constructed via Object Model …Hence: Relatively efficient (SPARQL-based) querying of large numbers of individual records
Why Hybrid Models?
typelocus Problem-Glimpse CancerBreast subStagestage Stage2 SubStageA For simple GLIMPSE model of time…...simple one-to-one correspondence between Object Model and EKS Access System Concept-Instance FieldRootValue Cancer locusLocusBreast Instance-of stageBC+sStage2 subSt. BC2+ss
stage typelocus snapshot stagesubStagestage Problem-History Problem- Snapshot Stage1 Stage3 SubStageA CancerBreast But… full SNAP/SPAN model of time involves non-ontologically-specifiable interaction…
minmax stage typelocus stage snapshot stagesubStagestage Problem-History Problem- Snapshot Temporal-Abstractions Problem- Snapshot Stage1Stage3 Stage1 Stage3 SubStageA CancerBreast startend Stage1Stage3 Including interaction with a Temporal Abstraction System…
stage typelocus snapshot Problem- Snapshot Stage1 CancerBreast Concept-Instance FieldRootValue Cancer locusLocusBreast Instance-of stageBC+sStage1 Hence, more complex mappings between Object Model and EKS Access System… Problem-History
typelocus snapshot stage Problem- Snapshot Stage1 CancerBreast Concept-Instance FieldRootValue Cancer locusLocusBreast Instance-of stageBC+sStage1 Hence, more complex mappings between Object Model and EKS Access System… Problem-History
typelocus CancerBreast Concept-Instance FieldRootValue Cancer locusLocusBreast Instance-of stageBC+sStage3 subSt. BC2+ss SSA snapshot subStagestage Problem- Snapshot Stage3 SubStageA Hence, more complex mappings between Object Model and EKS Access System… Problem-History
minmax typelocus stage Temporal-Abstractions Stage1Stage3 CancerBreast startend Stage1Stage3 Concept-Instance FieldRootValue Cancer locusLocusBreast Instance-of stageBC+s??? Temporal- Abstractor-Set + FieldType stage ORDINAL …also involving Temporal Abstraction System Hence, more complex mappings between Object Model and EKS Access System… Problem-History
Hybrid Models Summary Non-ontologically specifiable interaction Hence, hybrid models of some type required Advantages of Object-Model based solution: –Relatively simple –Flexible –Coherent –Domain-specific API
Higher-Level Model Architecture
Higher-level interaction orchestrated by Interaction Model… Object Model Static Model (SNAP/SPAN) Interaction Model EKS Access System Temporal Abstraction System
Additional Processing Mechanisms distinct from Interaction Model - do not contribute to shape of model itself Object Model Static Model (SNAP/SPAN) Additional Processing Mechanisms Interaction Model EKS Access System Temporal Abstraction System
Driving Applications
Domain-specific API Interaction Model intrinsic to domain classes (extending generic patterns where applicable) Basic Source Representation provided by collection of domain-specific Java classes… A B E C D V Z X Y W /1/97 Field on object A Object of (domain- specific) class A Relationship represented by object of class Link
Automatic translation into domain-neutral Network Representation… Domain-neutral semantic network representation Interaction Model translated into a set of ‘listeners’ All translation specification is by individual classes A B E C D V Z X Y W /1/97 A Object of class Node - representing instance of concept ‘A’ Relationship represented by object of class Link
B C D E Z X Y ?q ?p OR F < (?p + ?q) / 2 > ?p A NOT Query formulation via extended version of Network Representation… Extensions for… Insertion of logical operators Specification of data- value constraints (including temporal constraints) Specification of temporal-abstractions over dynamically defined time-periods (not shown)
Software
Patient Chronicle Model EKS Access System Core Model-Builder Chronicle Model-Builder Temporal Abstraction System Core Model-Builder provides generic EKS-interaction mechanisms, skeleton interaction-patterns, etc. Chronicle Model-Builder provides core SNAP/SPAN representation, interaction with Temporal Abstraction System, chronicle-specific interaction-patterns, etc. OWL-AccessProtege-Ac.
Model Storage Manager RDF Store Data-Storage/Query System (Domain-Neutral) GUIs (Domain-Neutral) Record Browser Model Browser Query Formulator Patient Record Chronicliser EHR Store Data-Creation Tools (Domain-Specific) Patient Chronicle Simulator Query Engine Temporal Abstraction Extension
Further demos available on request – please ask! Software soon available on-line (Technical Supplement will provide details)