The OWL Functional Syntax-Style is the recommended default syntax. The generated OWL ontologies of SNOMED CT may be rendered in any compatible OWL syntax and transformed between syntaxes. The specification of syntax including the BNF grammar published by the W3C can be found at

Specializations for SNOMED CT

For the benefits of consistent representation and detection of changes to an expression, the style and rules are recommended though they have no semantic significance. The OWL expressions should be rendered in the form specified by the OWL Functional Syntax-Style but a restricted version may be used for creating and updating the OWL refsets. The following rules should be followed.


OWL Functional Syntax-Style defines that whitespace is a nonempty sequence of space (U+20), horizontal tab (U+9), line feed (U+A), or carriage return (U+D) characters.
The whitespace should only be represented as a single space (U+20) in the OWL refsets.


OWL Functional Syntax-Style defines that a comment is a sequence of characters that starts with the # (U+23) character and does not contain the line feed (U+A) or carriage return (U+D) characters.
Comments could improve the readability. However, comments should not be included to minimize the size of the OWL refsets and reduce the need to maintain the alignment between an axiom and its comments.

Sorting Order

A standard sort order is very useful to enable fast matching of identical expressions though it has no impact to semantics and is not essential for general purpose use.
Each axiom is a serialization of a tree structure that can be traversed by nodes in the following order:

  1. Node that is either a SNOMED CT concept ID or a value of type data property. These nodes are sorted in UTF-8 byte-order (as a sequence of bytes) rather than numbers or strings. The byte-order compares two bytes; one from each sequence, until the values of the bytes are different. Then, the ID or value with the lowest byte value would be sorted as first regardless the length difference of byte arrays;
  2. The composite node ObjectSomeValuesFrom(), sorting order by concept id of attribute and then value;
  3. The composite node DataHasValue(), sorting order by concept id of attribute and then value.

The Functional-Style Syntax determines the general order of most elements within an OWL axiom. In fact, the order can only be applied to the nodes within EquivalentClasses(), DisjointClasses(), EquivalentDataProperties(), and ObjectIntersectionsOf() for the current SNOMED CT Logic Profile Specification.

Syntax preference for expression variants

The same semantics can be represented by a single axiom or multiple axioms. When axioms are in the same SNOMED CT module,

  • Expression in the OWL refset should be presented as an Equivalent Classes axiom instead of two Subclass axioms where both apply, e.g.

EquivalentClasses(A C)  is recommended. The following two Subclass axioms are not.

SubClassOf(A C)
SubClassOf(C A)

  • Expression in the OWL refset should be presented as a single Subclass axiom with intersection of Class expressions instead of multiple Subclass axioms where they apply, e.g.

SubClassOf(A ObjectIntersectionOf(C D))  is recommended. The following two Subclass axioms are not.

SubClassOf(A C) 
SubClassOf(A D) 

  • No labels