Understanding the external source

Data is only valuable in i2 Analyze if users can examine it alongside, and with the same tools as, all the other data in the system. When you connect to an external source, you must decide how its contents relate to existing data and plan your connector development accordingly.

Before you write a connector, it is helpful to understand:

  • What data is available from the external source
  • How the available data maps to any schemas that you already have
  • What your plans are for the finished connector

For example, if the purpose of your connector is to provide data from an external source to an existing deployment, it might be that some or all of the data in the source is similar to data that the deployment already models.

Alternatively, if you are writing a connector for use in many deployments, there are advantages to providing a description of the data that the connector returns alongside the connector itself.

During connector development, you can decide whether the definition for each type that you want to return is found in the Information Store schema, a gateway schema, or the connector schema. In the first two cases, you can also decide whether to use an item type that already exists or to extend the schema with a new type.

  1. Consider the type of the source and how you can query it.
    For spreadsheets and text files, it is likely that you have complete access to the data they contain. For databases and web services, you might be restricted to a set of predefined queries.
  2. Identify the types of data that you can retrieve from the source. If your aim is to integrate with an existing deployment, compare the source's types with the types in the Information Store or gateway schemas.
    For each type in the source, you can reach one of three conclusions:
    • The type and its data are a match for (or a subset of) one of the entity or link types you already have
    • The type is a match for one of the types you already have, but its data implies new property types
    • The type is not currently represented in the existing schemas
  3. If the Information Store schema or a gateway schema already describes all the data in the external source, then you can start the process of writing queries that retrieve data from that source.
    Note: In a deployment that contains more than one gateway schema, any single connector can use the types from only one gateway schema.
  4. If the data in the external source contains property types that the existing schemas do not describe, then you can ignore that data or edit a schema to add those property types.
    Additive changes to schemas are always permitted.
  5. If the data in the external source contains item types that the existing schemas do not describe, then you can use one of the techniques for adding them to a schema, or create a connector schema to describe them.