skip to main content
Corticon Server: Integration & Deployment Guide : Relational database concepts in the Enterprise Data Connector (EDC) : Inferred property values
 

Try Corticon Now

Inferred property values

Corticon attempts to infer the 'best match' for database table names, column names and related information such as the association join expressions.
The ability to match entity names with table names is a key capability, because many of the other matching strategies will indirectly rely on this capability. Generally speaking, the system will locate the first table in database metadata that matches the entity name (ignoring case). For the purpose of this matching logic, catalog, schema and domains will be ignored. Similarly, the system will try to find the best matching columns for attributes, and the best matching join expressions for associations.
When a value is inferred in this manner, that value will not be stored in the model; rather, the system will dynamically infer the derived value whenever the Vocabulary Properties table is refreshed.
The system will display inferred properties in light gray font to prevent them from being confused with explicitly-specified values.
The user will always have the ability to override the inferred value by choosing an explicit value from a drop-down list, or by entering value manually. In such case, the explicitly-specified value will be displayed in black font, and the database decoration in the tree view has a black bar at its center, as illustrated for an entity:
The specified value will be stored in the model. Such explicitly-specified values will take precedence over the inferred values. The following image illustrates how an attribute that is overidden is marked, as well as its entity:
If the user clears an explicitly-specified value by selecting the blank row in a drop-down list or by clearing the cell text, the system will once again display the inferred value in light gray.
Vocabulary facades IEntity, IAttribute and IAssociationEnd will minimize the distinction between inferred and explicitly-entered values. From the viewpoint of how Corticon creates objects it will use in rule execution, the distinction between the inferred and explicitly-specified values is immaterial. Vocabulary facade getters will always return the effective value, either inferred or explicit.
This strategy optimizes utility while minimizing user input. The user should favor inferred values whenever possible, because these values will automatically be updated as database metadata evolves. Conversely, explicitly-entered values will require ongoing attention as the schema is updated.
Table 36. Corticon inference rules
Vocabulary Property
Automatic Inference Rules
Table Name
Derived from table metadata. The first table located in database metadata that matches the entity name (ignoring case) will be chosen. This matching process will ignore catalog, schema and domains. The inferred value will be displayed as a fully-qualified name including catalog and schema, if applicable.
Column Name
Derived from first column in database metadata that matches the attribute name (ignoring case). For this purpose, the Table Name (whether explicitly-specified or inferred) will be used.
Join Expression
Complex derivation algorithm involving table data, column data, primary key and foreign key definitions. The algorithm must find the best matching join expression, which defines the relationships between database columns, typically along the lines of foreign keys.