Visual Query condition restrictions

In order to create a configuration file that helps you to manage your Visual Query performance effectively, it is important to understand the available restrictions. Having a proper understanding of the implications of the rules that can be created, allows you to reduce the number of iterations required.

The sample visual-query-configuration.xml file in toolkit/examples/visual-query includes commented-out examples of rules applicable to the law enforcement schema. Using these examples as guidance, you can create rules that apply to your system.

Important: Any rules that you add to visual-query-configuration.xml and subsequently deploy apply to the i2 Analyze server but not to the Analyst's Notebook Premium desktop client. As such, users are still able to construct queries that include restricted conditions, but the server will prevent the query from being run.

Depending on your circumstances, there are two main approaches that can be used to create your rules:

Invalidating a particular type of query

If you are aware of query types that are an issue, you can deny the specific conditions that lead to the issue, allowing all other Visual Query behavior to remain unchanged.

Enabling specific queries

If you are uncertain about the type of queries that might produce an issue, or want to restrict the types of searches that can be carried out, you can deny all conditions, and selectively allow the types of query that you require.

As you build up your Visual Query configuration file, it is worth bearing in mind the following key concepts:

Rule components

Each rule consists of the following components:

  • Rule Type - Whether the rule should allow or deny a specific type of operation
  • Item Type - Which Item Type the rule should apply to
  • Property Type - Which Property Types for the specified Item Type that the rule should cover
  • Operator - Which Operator Types to apply the rule to
  • Date and Time Aspects - Which types of temporal aspect to apply the rule to. For example, day of the week, or time of the day.
Implicit 'all valid'

If one or more of the above rule components are not specified, the rule will be applied to all the Visual Query conditions that would be valid.

Rule ordering

Visual Query rules are applied sequentially, meaning that if conflicting rules are added, they are handled in order, allowing rules that are later in the file to overwrite earlier rules. This allows you to refine your conditions, for example:

<Deny/>
<!-- Allow 'Person' searches to include conditions for 'Date of birth' and 'Gender'
that are exactly or between a specified range -->
<Allow ItemTypeId="ET5" PropertyTypeIds="PER9, PER15" Operators="EQUAL_TO, BETWEEN"/>

Using these rules, searches for people with specified dates of birth or genders are permitted, but all other Visual Query conditions are prevented from running.