11. The article of manufacture of claim 10 wherein the data causing the machine to perform processing the empty column list for the current type comprise data that, when accessed by the machine, cause the machine to perform operations comprising: adding a Boolean column to the column list to indicate whether an instance is of the current type; if there is a reference scheme defined for the current type, the reference scheme including one or more fact types, for each of the fact types in the reference scheme, the fact type having an identifying role which has a type: if the type of the identifying role of the fact type is a lexical type, adding the column of the lexical type to the column list; else, adding an identity-type column to the column list to represent database identity of the type of the identifying role of the fact type; and marking the current type as processed.
11. The article of manufacture of claim 10 wherein the data causing the machine to perform processing the empty column list for the current type comprise data that, when accessed by the machine, cause the machine to perform operations comprising: adding a Boolean column to the column list to indicate whether an instance is of the current type; if there is a reference scheme defined for the current type, the reference scheme including one or more fact types, for each of the fact types in the reference scheme, the fact type having an identifying role which has a type: if the type of the identifying role of the fact type is a lexical type, adding the column of the lexical type to the column list; else, adding an identity-type column to the column list to represent database identity of the type of the identifying role of the fact type; and marking the current type as processed. 12. The article of manufacture of claim 11 wherein the data further comprise data that, when accessed by the machine, cause the machine to perform operations comprising: if the current type has a subtype and the subtype has not been marked as processed, repeating processing the empty column list for the current type using the subtype as the current type.