Highlight queries

In the i2 Enterprise Insight Analysis Investigate Add On, users can search for records in the Information Store, flag records of interest, and find paths in the data between flagged records. However, the web application does not support charting and expanding the records that users find. Instead, when users select a record, they see its information together with lists of other records that are related to it. The appearance and contents of these lists are driven by highlight queries.

The role of highlight queries is to navigate the data in the Information Store on the behalf of users, and to present them with answers to questions that they ask most frequently. For example:
  • If the subject record is a car, then your users might be interested in its recent owners or its recent sightings.
  • If the subject is a cellphone, users might want to know which other phones it calls most often - or who owns the phones that it calls most often.
  • If the subject is a person, the key information might be their bank accounts; or the bank accounts that the person's accounts transact with; or the owners of those transacting accounts.

Highlight queries run whenever the user opens or refreshes the page that contains the details of a particular record. The first five results from each highlight query appear in highlight panes on the same page as the subject record. Each highlight pane also contains a button that the user can click to show more information and more results.

Technical background

Functionally, a highlight query is a predefined, type-specific, multi-level, conditional expand operation. Using the subject entity record as a seed, a highlight query searches the Information Store for entity records of a particular type that are connected to the seed by links of a particular type. After that, it can use those records as the seeds for another, similar search, and so on. The results that users see are the entity records found by the final search that the highlight query performs - which might be the first, or the second, or the sixth.

Because highlight queries are type-specific, they are tightly bound to the Information Store schema. Each entity type in the schema can have its own group of highlight queries that run when the user views a record of that type in the Investigate Add On. Since highlight queries are targeted at finding specific relationships in your data, they are not typically portable between different entity types or different i2 Analyze deployments.

Automatically generated highlight queries

When a deployment of i2 Analyze starts up for the first time, the server automatically generates a set of highlight queries from the Information Store schema. This set contains one highlight query for each entity type in the schema that appears in at least one list of valid link end types. Each highlight query searches for entity-link-entity structures in which the types of the target link and entity are the first valid types for such structures.

For example, imagine a simple schema that defines four entity types (Address, Car, Cellphone, and Person) and four link types (Calls, Owns, Related, and Resides). According to the link type definitions:
  • Cars can be linked to addresses, through Resides links
  • Cellphones can be linked to other cellphones, through Calls links
  • People can be linked to addresses (through Resides links), to cars and cellphones (through Owns links), and to other people (through Related links)

In this scenario, with the automatically generated highlight queries in place, a user who selects a cellphone record sees a highlight pane containing a list of cellphones that the first cellphone has called. (Calls is the only valid link type for cellphones, and Cellphone is the only valid end type.)

If the user selects a person record, they see a highlight pane containing a list of the cars that the person owns. (Owns is the first valid link type for people, and Car is the first valid end type for such links.)

Custom highlight queries

The automatic mechanism for generating highlight queries is designed only to be a starting point. When you write your own highlight queries, you can make them search for more complex relationships between the subject record and others in the Information Store.

For example, for data that matches the same schema as before, you might enable users to select a person record and see a list of people who reside at the same address (person-address-person), or to whom the subject makes cellphone calls (person-cellphone-cellphone-person).

To create a set of custom highlight queries for your data and your users, you write an XML configuration file that is valid according to an XSD file that is derived from the Information Store schema. Subsequent topics describe how to start, edit, and publish a highlight queries configuration for your deployment of i2 Analyze.