Semantic types in iBase

Semantic typing is a method of categorizing data to define how to interpret it. For example, the Person entity semantic type might be assigned to entity types such as Male, Victim and Witness. The semantic type indicates that each of those entity types are different ways of depicting people in the real world.

Semantic types can be assigned to each relevant entity type, link type, field, standard field, and icon. Semantic types are assigned by your database administrator using iBase Designer.

There are three different kinds of semantic type: Entity, Link, and Property (for entity and link type fields, including standard fields).

The i2 Semantic Type Library

The i2® Semantic Type Library contains semantic types that are assigned to data in your data sources. These semantic types identify the meaning of the data they represent, and are used by applications such as Analyst's Notebook to properly interpret and align the data from different data sources.

Each semantic type consists of the following elements:
  • Name
  • Data type, such as text or number
  • Optional synonyms - alternative names that are used when you search for suitable semantic types.
  • Description that provides guidance on how the type should be used.
  • Notes
Depending on its location in the hierarchy of semantic types, the function of a semantic type is either general or specific. For example, Motor Vehicle is a specialized type of Transport, and Bus is a specialized type of Motor Vehicle.

Semantic types in queries (SQL Server databases only)

In SQL Server databases, semantic types can be used to search across several entity or link types that have been aligned based on the sort of data they contain. For example, your database may contain several entity types which are all different types of people: Victim, Offender, Officer, Suspect, and so on. All these types contain data about people. If you are looking for a person, you would search across all these types. Instead of running several queries, you can use a semantic type in the query.

This can be useful if you are not familiar with the database, and therefore do not know how the data in it has been structured - which types have been used, and how they are linked. It can also be useful if you know the Semantic Type library and can therefore construct the same query for use in different databases.

Unlike other queries, using a semantic type means that you do not necessarily know before the query is run which types and fields have been assigned the semantic type specified in the query. You can use the Scope dialog to view a list of what has been searched. The Scope dialog is accessible from the Query Results page.