@itwin/insights-client
Version:
Insights client for the iTwin platform
131 lines • 3.31 kB
TypeScript
/**
* A Common Data Model (CDM) which describes the extracted data, metadata and locations.
* @export
* @interface CDM
*/
export interface CDM {
/**
* The model name.
* @type {string}
* @memberof CDM
*/
name: string;
/**
* The model schema version (currently must be 1.0).
* @type {string}
* @memberof CDM
*/
version: string;
/**
* The model entities
* @type {Array<CDMEntity>}
* @memberof CDM
*/
entities: Array<CDMEntity>;
}
/**
* An entity is a collection of attributes and metadata that defines a concept.
* @export
* @interface CDMEntity
*/
export interface CDMEntity {
/**
* Type of entity being defined in this model. Always set to LocalEntity.
* @type {string}
* @memberof CDMEntity
*/
$type: string;
/**
* The entity name.
* @type {string}
* @memberof CDMEntity
*/
name: string;
/**
* The attributes within the entity. Each entity must have at least one.
* @type {Array<CDMAttribute>}
* @memberof CDMEntity
*/
attributes: Array<CDMAttribute>;
/**
* The entity physical partitions (data files).
* @type {Array<CDMPartition>}
* @memberof CDMEntity
*/
partitions: Array<CDMPartition>;
}
/**
* Attributes are the fields within an entity that correspond to data values within the data file.
* @export
* @interface CDMAttribute
*/
export interface CDMAttribute {
/**
* The attribute name.
* @type {string}
* @memberof CDMAttribute
*/
name: string;
/**
* The data type of the attribute.
* One of 'string', 'int64', 'double',
* 'dateTime', 'dateTimeOffset', 'decimal', 'boolean', 'GUID', or 'JSON'.
* @type {AttributeDataType}
* @memberof CDMAttribute
*/
dataType: AttributeDataType;
/**
* Array of optional model annotations -
* non-essential key/value pairs that contain contextual information that can be used to store additional context.
* @type {Array<CDMAnnotation>}
* @memberof CDMAttribute
*/
annotations?: Array<CDMAnnotation>;
}
/**
* Optional, non-essential contextual information (key/value pairs) that can be used to store additional context about a property in the model.
*/
export interface CDMAnnotation {
/**
* Name of the annotation
* @type {string}
* @memberof CDMAnnotation
*/
name: string;
/**
* Value of the annotation
* @type {string}
* @memberof CDMAnnotation
*/
value?: string;
}
/**
* The partition array indicates the name and location of the actual data that correspond to the entity definition.
* Currently all partitions store data in CSV format.
*/
export interface CDMPartition {
/**
* The partition name.
* @type {string}
* @memberof CDMPartition
*/
name: string;
/**
* The partition location.
* @type {string}
* @memberof CDMPartition
*/
location: string;
}
export declare enum AttributeDataType {
String = "string",
Int64 = "int64",
Double = "double",
DateTime = "dateTime",
DateTimeOffset = "dateTimeOffset",
Decimal = "decimal",
Boolean = "boolean",
Guid = "GUID",
Json = "JSON"
}
//# sourceMappingURL=CDM.d.ts.map