# Executing

SNOMED CT Expression Constraints must be evaluated against a given SNOMED CT substrate in order to instantiate the matching set of concepts or expressions. There are a number of possible implementation strategies for the execution of SNOMED CT Expression Constraints, which depend in part on the storage format of the substrate. For example:

* Store SNOMED CT in a relational database, and translate each SNOMED CT Expression Constraint into one or more SQL statements;
* Store SNOMED CT in an RDF store, and translate each SNOMED CT Expression Constraint into a SPARQL query;
* Store SNOMED CT in an XML database, and translate each SNOMED CT Expression Constraint into one or more XQL statements;
* Write a bespoke query execution engine (e.g. in Java or C++) to return matching concepts or expressions.

Each of these strategies requires that the expression constraints are first parsed (and preferably validated) prior to execution.
