200 likes | 323 Vues
This document explores the complexities of OWL (Web Ontology Language) in relation to anaesthesia terminology and the International Organisation for Terminology in Anaesthesia (IOTA). It highlights the challenges encountered in separating language from identity, referencing non-OWL resources, and hiding internal complexities while adapting OWL for practical applications. The paper examines IOTA's tools and requirements for ontology creation, including the need for a simple browsing environment, annotations, and optionality handling. The conclusion emphasizes overcoming common challenges using environment tools like Protégé.
E N D
BioHealthInformaticsGroup Simplifying OWL Learning lessons from Anaesthesia Nick Drummond
Overview • IOTA • Requirements • Challenges • Separating language from identity • Referencing non-OWL resources • Hiding complexity • Optionality in OWL • Conclusion
Guinea Pig - IOTA • International Organisation for Terminology in Anaesthesia • Part of the Anaesthesia Patient Safety Foundation • 2 parallel efforts: • official feed of anaesthesia terms to SNOMED-CT • Ontology required for AIMS systems
IOTA Tools • Had DATAMS browser/editor • Simple interface • Completely designed for single task • But • Non standard solution – no semantics defined • Limited functionality • Restricted support • Not extensible • Only 2 relationships (isa, hasa)
Requirements • Simple browsing/editing environment • Standards for reuse • Heavily concerned with language and references to external resources (for SNOMED) • Simple structure but above and beyond sub/superclass (more properties wanted)
OWL Subset • Subsumption • Primitive classes only (so far) • Existential / Complement / Cardi restrictions (identified through competency questions) • No complex fillers – only Named Classes • No disjoints (yet) – likely to be added automatically • Lots of annotations
Challenges • Separating language from identity • Referencing non-OWL resources • Hiding complexity • Optionality in OWL
Separating language from identity vin wine • Resources are referred to by their URI • rdfs:label or other properties can be used to hold the human-readable name • IDs remain constant when renaming • Can have multiple names (in different languages) • Label string values less restricted (can use spaces etc) • Can use the same label for multiple resources (disadvantage??) plonk
Separating ID from language in Protege • Meaningless IDs generated automatically • conceptName is human readable • Protégé supports idea of “Browser Slot” • ie the property that is displayed to the user • Extra search support needed
Referencing non-OWL resources • owl:seeAlso • Have no URI to point to in SNOMED • Create an individual in which to store any SNOMED info (such as name etc) • Can be refactored later to point to the actual concept (if SNOMED ever published in OWL)
Hiding Complexity • Backward Es and upside-down As best left to the logicians • Not all expressivity of OWL required • eg “simple” fillers – just named classes • Currently no defined classes
Disguising OWL • Protégé forms are customisable • forms design for purpose • plugin form widgets • Use min/max qualified cardinality • Display “compound” restrictions
Optionality • Common requirement • 2 use cases: • Reasoning – using ontological knowledge – an object may or may not have this feature • Driving Forms – using epistemic knowledge – an object has this feature. The value may or not need to be specified
Representing optionality in OWL • No inbuilt notion in OWL • Because of the open world assumption, possible to say anything about anything unless it has been explicitly discounted • Several “patterns”, “workarounds” or “botches” – could be subject in themselves • We are considering a mixture to help make INTENT obvious and simple to manage but allow for CORRECT modelling in OWL
Options (overview) • State nothing (Open World) • Using domain of property • Use of “possibly…” superproperty • Universal/Existential restrs on inverse • Reification • Tool specific annotations • Qualified Min Cardinality 0 • Define a subclass that has the property
Defined Subclass Person (some people own hats) • Ontologically correct • Can infer membership / check consistency PersonThatOwnsAHat { complete Person and owns some Hat } • Hard to maintain • Loses intent – conceptually we are saying something about members of Person
Min Cardi 0 (Qualified) • QCRs standard in OWL1.1 • Means nothing to reasoners, but… • Captures intent • matches our conceptual model and close to other representations – relational models • Simple to add/manage in OWL • Easy to use as hints for GUI generation
Transform • Allow user to maintain intent – ie min cardi • Provide transform to create subclasses only WHEN REQUIRED • Throw away when finished ? ? www
Conclusion • IOTA have some common problems • Many can be overcome – even in OWL • Open environments like Protégé can help create simpler interfaces • General requirements found for Protégé-OWL