Sortal Description Language   Index


The Sortal Description Language (SDL) is an interpretive language for describing sortal representational and data structures. It can be used to store and exchange sortal structures and descriptions.


The definition of SDL owes partly to Shang-chia Chiou's Shape Description Language (Chiou 1996, 210-231)1, which relies on an older conceptualization of sorts.

In its current version (2.0), the Sortal Description Language allows for more than simply describing sortal structures and descriptions. With the ability to specify a loop over the individuals in a form, in addition to variables, SDL incorporates aspects of a scripting language. An alternative name for SDL might therefore be Sortal DeScript Language. Note that SDL is only partially implemented in the python-based library, but was fully activated in the Java-based library.

Every statement in SDL starts with a keyword and ends with a semicolon (';'). SDL recognizes the following keywords.

An SDL file additionally contains a header specifying the SDL version as well as an optional profile name.

  • The SDL header to a file consists of the string #SDL V2.0 for the current version 2.0.
  • It is optionally followed, on the same line, by a profile name enclosed within square brackets.

Profile names allow different users, or files, to adopt the same name(s) to define different sorts, since sorts are always defined within the context of a profile. The same applies to functions, conversion rules and grammar rules, but not to variables or transform-sets. Sortal profile names may be compared to XML namespaces in terms of avoiding naming collisions. The default profile has the name default.


  1. S. Chiou, 1996, Computational Considerations of Historical Architectural Analysis: A Case Study of Chinese Traditional Architecture, Ph.D. Dissertation, Dept. of Architecture, Carnegie Mellon University, Pittsburgh, Pa.

Last update: 2 December 2019, webmaster @