i2 Analyze schemas
An i2 Analyze schema is a statement about the categories of data that a deployment can work with, and about the relationships that can exist between data in different categories. As a result, i2 Analyze schemas are responsible for what data looks like when it is visualized; for the types of analysis that can users can perform; and for the structures in which data is stored for retrieval.
Kinds of schema
All deployments of i2 Analyze must contain at least one schema. Some deployments can contain several schemas. All schemas perform the same role, but which kinds of schema you need depends partly on how you want your deployment to behave, and partly on which components of i2 Analyze it uses.
Information Store schema
If your i2 Analyze deployment includes an Information Store, then it requires an Information Store schema. If it includes only an Information Store, then the Information Store schema is the only one you need.
i2 Analyze uses the Information Store schema to create the Information Store database. When you later load data into the Information Store, you must shape the data so that it matches the entity and link types in the schema. And if a client application wants to import data with the aim of uploading it to the Information Store, then it uses the schema to ensure compatibility.
Important: Because of its relationship to the structure of the database, an Information Store schema is the most difficult to modify in a production deployment. Only additive changes to the schema are permitted.
Gateway schema
Gateway schemas are relevant only to deployments of i2 Analyze that include the i2 Connect gateway. When the gateway is present, gateway schemas are optional.
The data that connectors return from external sources must have the same ELP structure as other data in i2 Analyze. Sometimes, you can make data from a connector use the types that an Information Store schema defines. Sometimes, a connector returns data with unique types, and defines a schema of its own. But sometimes, you might have several connectors whose data shares a set of common types. In this situation, you can create a gateway schema and arrange for all the connectors to use the types that the gateway schema defines.
Note: Because gateway schemas are not tied to the structure of data storage, they are relatively easy to modify and redeploy. Developing and testing a gateway schema can be a convenient way to create a schema that you plan eventually to use for the Information Store.
Connector schema
All data in an i2 Analyze deployment must use entity and link types from a schema. If a connector does not or cannot use types from an Information Store schema or a gateway schema, then it must provide its own definitions of the types that it uses.
A connector schema can be appropriate when you are prototyping a connector to a new data source, or when you know that data from a particular source is subject to frequent changes. Alternatively, you might be using or creating a connector that is designed for use in multiple i2 Analyze deployments. In that case, it can be helpful for the connector to come with definitions of its own types.
Schema type conversion
An i2 Analyze deployment that includes the i2 Connect gateway and connectors to external data sources is likely to involve several schemas. Client software can visualize data that uses types from any schema, display its property values, and subject it to structural analysis. However, data can be uploaded to an Information Store only if it uses types from that store's schema. And users can perform comparative analysis only between data that uses the same types.
To enable i2 Analyze to treat data from all sources similarly, you can arrange for records to be converted from one type to another as they move through the system. To enable this type conversion, you provide one-to-one mappings between types from different schemas. For example, if you map the types from a connector schema (or a gateway schema) to types in the Information Store schema, then you can upload data from that connector to the Information Store. If you map types from several connector schemas to the types in a gateway schema (or the types in one gateway schema with those in another), it becomes possible to use data from one connector as seeds for searches of another.