A lot of work in the building of a Suregen-2 application can be saved by the observation that certain constellations of instances, attributes and their respective descriptions tend to reappear. For instance, in the above "thing"-example we have realized an "attribution" or "qualification": A certain quality (in this case "colour") is attributed to an instance of a concept ("thing"). As attributions such as this one are quite frequent in medical documents it is worth the effort to define it only once as SemanticFunction and use it wherever necessary. A simplified version of this function (which is already defined in Suregen-2) could look like:
(SuregenNamedInstance t-attribution SuregenSemanticFunction
:obligatory '((concept SuregenObject) (attribute T))
:templates '((:MC (Main-Clause
:subject (Noun-phrase :noun concept
:pronoun :neutral)
:predicate (Verb-form "sein")
:adjective attribute))
(:NP (Noun-phrase :noun concept
:pronoun :indefinite
:adjective attribute))))
This creates an instance, named t-attribution, with two obligatory roles (concept and attribute). Its templates-slot hold m.m. the same expressions as previously used in the ToDescribe-expressions for thing. Now it must be specified which slots of a thing fulfil which role wrt. this definition: