skip to main content
Corticon Server: Data Integration Guide : A closer look at how Corticon relates to Datasources : SmartMatching of Vocabularies to databases
 

Try Corticon Now

SmartMatching of Vocabularies to databases

Corticon's Vocabulary binds to database metadata, and then stores the database connection and database metadata (tables, columns, primary keys, and foreign keys) that Corticon loads into its working memory as CDOs for use in rule execution. Corticon attempts to infer the 'SmartMatch' for database table names, column names and related information such as the association join expressions. When a value is inferred this way, that value is not stored in the model; rather, the system dynamically infers the derived value whenever the Vocabulary Properties table is refreshed.
You can override the inferred value by choosing an explicit value from a drop-down list, or by entering a value manually. The explicitly-specified value is displayed in black font if it exists, otherwise it displays in orange. Corticon displays inferred properties in light gray font to distinguish them from explicitly-specified values.
You should favor inferred values whenever possible, because these values are automatically updated as database metadata evolves.
Table 31. Corticon inference rules for SmartMatching
Vocabulary property
Database element
Inference rules for mapping metadata to the Vocabulary
Entity
Table
Derived from table metadata. The first table located in database metadata that matches the entity name (ignoring case) is chosen. This matching process ignores catalog, schema and domains. The inferred value is displayed as a fully-qualified name including catalog and schema, if applicable.
Attribute
Column
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) is used.
Association
Join Expression
Complex derivation algorithm involving table data, column data, primary key and foreign key definitions. The algorithm attempts to find the best matching join expression that defines the relationships between database columns, typically along the lines of foreign keys.