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:
OWL from RF2 (as a seeding version, among others to agree on exact representation / URI specification, etc)
OWL-EL (see below for which features are and aren’t included)
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)
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 (SameIndividual, DifferentIndividuals, ClassAssertion, ObjectPropertyAssertion, DataPropertyAssertion, NegativeObjectPropertyAssertion, 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 (ObjectMaxCardinality, ObjectMinCardinality, ObjectExactCardinality, DataMaxCardinality, DataMinCardinality, and DataExactCardinality)
disjunction (ObjectUnionOf, DisjointUnion, 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