A development path towards an OWL-based SNOMED CT

A development path towards an OWL-based SNOMED CT

 

Contents

Current status

The semantics of SNOMED CT is based on description logic, whereas the syntax emulates a frames-representation:

  • All specified relationships are considered as existential restrictions (which is made explicit in RF2)

  • Transitive relationships exist (e.g., after , part_of), but these are not explicitly defined as such

  • Role chaining exists (in the product / substance domain) , but this is not explicitly defined

  • Nesting is not supported by the syntax, although it could be emulated by “anonymous” concepts

  • The syntax does not cater for:

    • Negation

    • Disjunction

    • Number restriction

    • Concrete domains

    • Etc.

SNOMED CT is much more than “just” the representation of knowledge. Strengths of the current representation that may not be natively dealt with in a DL-representation include:

  • Specification of fully specified names, and acceptable descriptions

  • Explicit identification of descriptions, which facilitates specification of language reference sets, including preferred terms and synonyms

  • A deactivation mechanism

  • Versioning

Foreseen end-stage

When specifying the end-stage of SNOMED CT, not only the formal representation aspect needs to be addressed. It is foreseen that there is a move from “OWL derived from RF2“ to “RF2 derived from OWL”, where there may be differences in the information represented in both syntaxes. For example, negation and disjunction may be ignored in the RF2 syntax, in which only the inferred hierarchy and existential (and possibly universal) restrictions are represented, and fully defined OWL-concepts may be represented as primitive RF2-concepts.

The development path

An evolutionary path is recommended, in which for each DL extension an assessment is performed: type and scale of benefits (e.g., more fully defined concepts), type and scale of costs (e.g., classification performance, reduced number of applicable reasoners, impact for modelers), application domains (e.g., body structure, pharmaceutical products). Meanwhile, the migration process can be initiated, taking into account processing of the maximal set of DL constructs, in order to allow a smooth step-wise approach, without a need for intermediate reconsiderations. So the migration of full expressivity precedes the actual implementation of the full expressivity in the DL-representation.

Expressivity could evolve along these lines:

  1. OWL from RF2 (as a seeding version, among others to agree on exact representation / URI specification, etc)

  2. OWL-EL (see below for which features are and aren’t included)

  3. Addition of Generic Concept Inclusion (GCI, i.e., a definition where the left-hand side is an expression rather than a concept name) and multiple concept definitions (resulting in a t-box which is no longer unfoldable, potentially increasing the worst case complexity)

  4. Addition of class negation (ObjectComplementOf) and universal quantification (ObjectAllValuesFrom, DataAllValuesFrom)

In each of the steps, the above-mentioned considerations should be made, also driven by the work done by the Palo Alto Group.

Furthermore, methods remain to be in place to address the non-DL-aspects like synonymy, versioning, and inactivation.

OWL 2 EL Feature Overview

OWL 2 EL places restrictions on the type of class restrictions that can be used in axioms. In particular, the following types of class restrictions are supported (* indicates available in RF2):

  • * existential quantification to a class expression (ObjectSomeValuesFrom) or a data range (DataSomeValuesFrom)

  • existential quantification to an individual (ObjectHasValue) or a literal (DataHasValue)

  • self-restriction (ObjectHasSelf)

  • enumerations involving a single individual (ObjectOneOf) or a single literal (DataOneOf)

  • intersection of classes (ObjectIntersectionOf) and data ranges (DataIntersectionOf)

OWL 2 EL supports the following axioms, all of which are restricted to the allowed set of class expressions:

  • *class inclusion (SubClassOf)

  • *class equivalence (EquivalentClasses)

  • class disjointness (DisjointClasses)

  • *object property inclusion (SubObjectPropertyOf) with or without property chains, and data property inclusion (SubDataPropertyOf)

  • property equivalence (EquivalentObjectProperties and EquivalentDataProperties),

  • transitive object properties (TransitiveObjectProperty)

  • reflexive object properties (ReflexiveObjectProperty)

  • domain restrictions (ObjectPropertyDomain and DataPropertyDomain)

  • range restrictions (ObjectPropertyRange and DataPropertyRange)

  • assertions (SameIndividualDifferentIndividualsClassAssertionObjectPropertyAssertionDataPropertyAssertionNegativeObjectPropertyAssertion, andNegativeDataPropertyAssertion)

  • functional data properties (FunctionalDataProperty)

  • keys (HasKey)

The following constructs are not supported in OWL 2 EL:

  • universal quantification to a class expression (ObjectAllValuesFrom) or a data range (DataAllValuesFrom)

  • cardinality restrictions (ObjectMaxCardinalityObjectMinCardinalityObjectExactCardinalityDataMaxCardinalityDataMinCardinality, and DataExactCardinality)

  • disjunction (ObjectUnionOfDisjointUnion, and DataUnionOf)

  • class negation (ObjectComplementOf)

  • enumerations involving more than one individual (ObjectOneOf and DataOneOf)

  • disjoint properties (DisjointObjectProperties and DisjointDataProperties)

  • irreflexive object properties (IrreflexiveObjectProperty)

  • inverse object properties (InverseObjectProperties)

  • functional and inverse-functional object properties (FunctionalObjectProperty and InverseFunctionalObjectProperty)

  • symmetric object properties (SymmetricObjectProperty)

  • asymmetric object properties (AsymmetricObjectProperty)

The following table is taken from the Palo Alto document section 3.6, repeated here to allow additional information to be captured. It shows an analysis of the OWL 2 EL profile for applicability to SNOMED CT of its feature set. 



OWL 2 EL Feature Name

Description

Status

Analysis / Use Cases

ObjectSomeValuesFrom

Class existential restriction to class expression

Currently used in SNOMED CT

 

DataSomeValuesFrom

Class existential restriction to data range

Possibly useful

May be used in future for ranges in areas such as drugs

ObjectHasValue

Class existential restriction to individual

Immediately desirable

Used to refer to current SNOMED CT concepts which are individuals (such as countries, languages, units etc).

DataHasValue

Class existential restriction to literal

Immediately desirable

Needed for drug model

ObjectHasSelf

Class self restriction

Not needed

Currently no identified use cases

ObjectOneOf

Enumeration involving a single individual

Not needed

Currently no identified use cases

DataOneOf

Enumeration involving a single literal

Not needed

Currently no identified use cases

ObjectIntersectionOf

Class intersection

Currently used in SNOMED CT

 

DataIntersectionOf

Data range intersection

Possibly useful

Used for defining data ranges which may be useful however must be used with care to not affect classifiers adversely

SubClassOf

Class inclusion

Currently used in SNOMED CT

 

EquivalentClasses

Class equivalence

Currently used in SNOMED CT

 

DisjointClasses

Class disjointedness

Not needed

Current analysis shows that this feature is of use mainly for constraints which are better checked by QA frameworks. This feature would become necessary if negation or universal restriction is added

SubObjectPropertyOf

Object property inclusion (including property chains)

Currently used in SNOMED CT

 

SubDataPropertyOf

Datatype property inclusion

Not needed

Currently no identified use cases

EquivalentObjectPropertyOf

Object property equivalence

Not needed

Currently no identified use cases. Perhaps useful for integrating other ontologies but this would be done outside SNOMED CT

EquivalentDataPropertyOf

Datatype property equivalence

Not needed

Currently no identified use cases, as above

TransitiveObjectProperty

Transitive object property

Immediately desirable

Required for anatomy, drugs and substance models

ReflexiveObjectProperty

Reflexive object property

Immediately desirable

Required for anatomy and drugs models

ObjectPropertyDomain

Object property domain restriction

Not needed

Current analysis shows that this feature is of use mainly for constraints which are better checked by QA frameworks.

DataPropertyDomain

Data property domain restriction

Not needed

As above

ObjectPropertyRange

Object property range restriction

Not needed

As above

DataPropertyRange

Data property range restriction

Not needed

As above

SameIndividual

Individual assertion - same individual

Not needed

If individuals are used in SNOMED CT, unique individuals will be used. If multiple names or identifiers exist for that individual SNOMED CT will use existing mechanisms rather than multiple individuals with same individual assertions.

DifferentIndividual

Individual assertion - different individual

Possibly useful

May be useful if SNOMED CT uses individuals (countries, languages, units etc)

ObjectPropertyAssertion

Individual assertion - object property

Possibly useful

As above

ClassAssertion

Individual assertion - class membership

Possibly useful

As above

DataPropertyAssertion

Individual assertion - data property

Possibly useful

As above

NegativeObjectPropertyAssertion

Individual assertion - negative object property

Possibly useful

As above

NegativeDataPropertyAssertion

Individual assertion - negative data property

Possibly useful

As above

FunctionalDataProperty

Functional data property

Possibly useful

As above

HasKey

Keys

Not needed

Currently no identified use cases.

Features NOT included in OWL 2 EL

 

OWL 2 Feature Name

Description

Status

Analysis

ObjectAllValuesFrom

Class universal restriction to class expression

Desirable

Current work around in place to provide correct organisation in the drug model using Michael Lawley’s suggestion of a data property indicating the number of ingredients. Moving to support of full universal restriction would also include disjunction and disjointedness which will blow out classification times

DataAllValuesFrom

Class universal restriction to data range

Desirable

As above

ObjectMaxCardinality, ObjectMinCardinality, ObjectExactCardinality, DataMaxCardinality, DataMinCardinality, and DataExactCardinality

Cardinality restrictions

Not needed

Current analysis shows that this feature is of use mainly for constraints which are better checked by QA frameworks.

ObjectUnionOf, DisjointUnion, and DataUnionOf

Disjunction

Desirable

Modelling of situations and findings with explicit context

ObjectComplementOf

Class negation

Desirable

Modelling of situations and findings with explicit context

ObjectOneOf

Enumeration involving more than one individual

Not needed

Currently no identified use cases.

DataOneOf

Enumeration involving more than one literal

Not needed

Currently no identified use cases.

DisjointObjectProperties and DisjointDataProperties

Disjoint properties

Not needed

Currently no identified use cases.

InverseObjectProperties

Inverse object properties

Desirable

No immediate need but some uses were envisaged - for example modelling functions of anatomical structures.

FunctionalObjectProperty and InverseFunctionalObjectProperty

Functional and inverse functional object properties

Not needed

Currently no identified use cases.

IrreflexiveObjectProperty

irreflexive object property

Not needed

Currently no identified use cases.

SymmeticObjectProperty

Symmetric object property

Not needed

Currently no identified use cases.

AsymmetricObjectProperty

Asymmetric object property

Not needed

Currently no identified use cases.

 

 

Copyright © 2026, SNOMED International