зеркало из https://github.com/microsoft/CDM.git
475 строки
13 KiB
JSON
475 строки
13 KiB
JSON
{
|
|
"$schema": "./schema.cdm.json",
|
|
"jsonSchemaSemanticVersion": "1.0.0",
|
|
"imports": [
|
|
{
|
|
"uri": "/primitives.1.0.cdm.json"
|
|
},
|
|
{
|
|
"uri": "/meanings.1.0.cdm.json"
|
|
}
|
|
],
|
|
"definitions": [
|
|
{
|
|
"traitName": "is.CDM",
|
|
"extendsTrait": "is",
|
|
"elevated": true,
|
|
"explanation": "root trait for information about the CDM itself."
|
|
},
|
|
{
|
|
"traitName": "is.CDM.entityVersion",
|
|
"extendsTrait": "is.CDM",
|
|
"hasParameters": [
|
|
{
|
|
"name": "versionNumber",
|
|
"explanation": "semantic version number of the entity",
|
|
"direction": "both",
|
|
"required": true,
|
|
"dataType": "string"
|
|
}
|
|
],
|
|
"associatedProperties": [
|
|
"version"
|
|
]
|
|
},
|
|
{
|
|
"traitName": "is.CDM.attributeGroup",
|
|
"extendsTrait": "is.CDM",
|
|
"elevated": true,
|
|
"explanation": "identifies standard groups of attributes in CDM entities.",
|
|
"hasParameters": [
|
|
{
|
|
"name": "groupList",
|
|
"direction": "both",
|
|
"dataType": "entity"
|
|
}
|
|
],
|
|
"associatedProperties": [
|
|
"cdmSchemas"
|
|
]
|
|
},
|
|
{
|
|
"entityName": "CdmEntity",
|
|
"exhibitsTraits": [
|
|
{
|
|
"traitReference": "is.CDM.entityVersion",
|
|
"arguments": [
|
|
{
|
|
"name": "versionNumber",
|
|
"value": "1.0.1"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"entityName": "attributeGroupSet",
|
|
"explanation": "a set of references to attributeGroups",
|
|
"extendsEntity": "reference",
|
|
"hasAttributes": [
|
|
{
|
|
"name": "attributeGroupReference",
|
|
"dataType": "attributeGroup",
|
|
"purpose": "hasA"
|
|
}
|
|
],
|
|
"exhibitsTraits": [
|
|
{
|
|
"traitReference": "is.CDM.entityVersion",
|
|
"arguments": [
|
|
{
|
|
"name": "versionNumber",
|
|
"value": "1.0.1"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"entityName": "entityGroupSet",
|
|
"explanation": "holds a list of entity references",
|
|
"extendsEntity": "reference",
|
|
"hasAttributes": [
|
|
{
|
|
"name": "entityReference",
|
|
"dataType": "entityName",
|
|
"purpose": "hasA"
|
|
},
|
|
{
|
|
"name": "attributeReference",
|
|
"dataType": "attributeName",
|
|
"purpose": "hasA"
|
|
}
|
|
],
|
|
"exhibitsTraits": [
|
|
{
|
|
"traitReference": "is.CDM.entityVersion",
|
|
"arguments": [
|
|
{
|
|
"name": "versionNumber",
|
|
"value": "1.0.1"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"entityName": "localizedTable",
|
|
"explanation": "localized text",
|
|
"extendsEntity": "reference",
|
|
"hasAttributes": [
|
|
{
|
|
"name": "languageTag",
|
|
"dataType": "languageTag",
|
|
"purpose": "identifiedBy"
|
|
},
|
|
{
|
|
"name": "displayText",
|
|
"dataType": "localizedDisplayText",
|
|
"purpose": "hasA"
|
|
}
|
|
],
|
|
"exhibitsTraits": [
|
|
{
|
|
"traitReference": "is.CDM.entityVersion",
|
|
"arguments": [
|
|
{
|
|
"name": "versionNumber",
|
|
"value": "1.0.1"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"traitName": "is.localized",
|
|
"extendsTrait": "is",
|
|
"explanation": "Associates a list of localized string with an object",
|
|
"hasParameters": [
|
|
{
|
|
"name": "localizedDisplayText",
|
|
"dataType": "entity",
|
|
"explanation": "a reference to the constant entity holding the list of localized text",
|
|
"direction": "both"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"traitName": "is.localized.displayedAs",
|
|
"extendsTrait": "is.localized",
|
|
"explanation": "Holds the list of language specific display text for an object.",
|
|
"associatedProperties": [
|
|
"displayName"
|
|
]
|
|
},
|
|
{
|
|
"traitName": "is.localized.describedAs",
|
|
"extendsTrait": "is.localized",
|
|
"explanation": "Holds the list of language specific descriptive text for an object.",
|
|
"associatedProperties": [
|
|
"description"
|
|
]
|
|
},
|
|
{
|
|
"entityName": "listLookupValues",
|
|
"explanation": "a localized list of descriptions for possible values in a listLookup type attribute",
|
|
"extendsEntity": "localizedTable",
|
|
"hasAttributes": [
|
|
{
|
|
"name": "attributeValue",
|
|
"dataType": "integer",
|
|
"purpose": "identifiedBy"
|
|
},
|
|
{
|
|
"name": "displayOrder",
|
|
"dataType": "displayOrder",
|
|
"purpose": "orderedBy"
|
|
}
|
|
],
|
|
"exhibitsTraits": [
|
|
{
|
|
"traitReference": "is.CDM.entityVersion",
|
|
"arguments": [
|
|
{
|
|
"name": "versionNumber",
|
|
"value": "1.0.1"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"entityName": "listLookupCorrelatedValues",
|
|
"explanation": "a localized list of descriptions for possible values in a listLookupCorrelated type attribute",
|
|
"extendsEntity": "listLookupValues",
|
|
"hasAttributes": [
|
|
{
|
|
"name": "correlatedValue",
|
|
"dataType": "integer",
|
|
"purpose": "identifiedBy",
|
|
"explanation": "value for the correlated attribute that corresponds to the associated attributeValue"
|
|
}
|
|
],
|
|
"exhibitsTraits": [
|
|
{
|
|
"traitReference": "is.CDM.entityVersion",
|
|
"arguments": [
|
|
{
|
|
"name": "versionNumber",
|
|
"value": "1.0.1"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"traitName": "does.haveDefault",
|
|
"extendsTrait": "does",
|
|
"explanation": "An attribute has a default value",
|
|
"hasParameters": [
|
|
{
|
|
"name": "default",
|
|
"dataType": "any",
|
|
"required": true,
|
|
"direction": "both"
|
|
}
|
|
],
|
|
"associatedProperties": [
|
|
"defaultValue"
|
|
]
|
|
},
|
|
{
|
|
"traitName": "is.nullable",
|
|
"extendsTrait": "is",
|
|
"explanation": "The attribute value may be set to NULL.",
|
|
"associatedProperties": [
|
|
"isNullable"
|
|
]
|
|
},
|
|
{
|
|
"traitName": "is.readOnly",
|
|
"extendsTrait": "is",
|
|
"associatedProperties": [
|
|
"isReadOnly"
|
|
]
|
|
},
|
|
{
|
|
"traitName": "is.requiredAtLevel",
|
|
"extendsTrait": "is",
|
|
"explanation": "The requirement level for setting values into this attribute in CDS for Applications or for including this attribute in entities created in CDS for Analytics",
|
|
"hasParameters": [
|
|
{
|
|
"name": "level",
|
|
"dataType": "string",
|
|
"required": true,
|
|
"direction": "both",
|
|
"explanation": "values can be: 'systemrequired', 'required', 'recommended', 'none'"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"traitName": "is.constrained",
|
|
"extendsTrait": "is",
|
|
"explanation": "maximum length or value constraints",
|
|
"hasParameters": [
|
|
{
|
|
"name": "maximumLength",
|
|
"dataType": "integer",
|
|
"direction": "both"
|
|
},
|
|
{
|
|
"name": "minimumValue",
|
|
"dataType": "decimal",
|
|
"direction": "both"
|
|
},
|
|
{
|
|
"name": "maximumValue",
|
|
"dataType": "decimal",
|
|
"direction": "both"
|
|
}
|
|
],
|
|
"associatedProperties": [
|
|
"maximumValue",
|
|
"minimumValue",
|
|
"maximumLength"
|
|
]
|
|
},
|
|
{
|
|
"traitName": "is.constrainedList",
|
|
"extendsTrait": "is",
|
|
"explanation": "the values of an attribute are taken from or looked up from a fixed list of possibilities",
|
|
"associatedProperties": [
|
|
"valueConstrainedToList"
|
|
]
|
|
},
|
|
{
|
|
"traitName": "means.entityState",
|
|
"extendsTrait": "does.elevateAttribute",
|
|
"explanation": "the attribute represents the current state of the entity."
|
|
},
|
|
{
|
|
"purposeName": "representsStateWith",
|
|
"extendsPurpose": "hasA",
|
|
"explanation": "the related attribute describes the current state of the entity",
|
|
"exhibitsTraits": [
|
|
"means.entityState"
|
|
]
|
|
},
|
|
{
|
|
"traitName": "is.correlatedWith",
|
|
"extendsTrait": "is",
|
|
"explanation": "the attribute value is correlated with the sourceAttribute",
|
|
"hasParameters": [
|
|
{
|
|
"name": "sourceAttribute",
|
|
"dataType": "attributeName",
|
|
"direction": "both",
|
|
"required": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"purposeName": "representsCorrelatedStatusWith",
|
|
"extendsPurpose": "hasA",
|
|
"explanation": "the related attribute describes the current status of the entity in its current state",
|
|
"exhibitsTraits": [
|
|
"is.correlatedWith"
|
|
]
|
|
},
|
|
{
|
|
"dataTypeName": "listLookup",
|
|
"extendsDataType": "integer",
|
|
"explanation": "One integer value from a defined list of possibilities",
|
|
"exhibitsTraits": [
|
|
"does.haveDefault",
|
|
"is.constrainedList"
|
|
]
|
|
},
|
|
{
|
|
"dataTypeName": "listLookupMultiple",
|
|
"extendsDataType": "string",
|
|
"explanation": "A set of one or more values from a defined list of possibilities",
|
|
"exhibitsTraits": [
|
|
"does.haveDefault",
|
|
"means.content.text.CSV",
|
|
"is.constrainedList"
|
|
]
|
|
},
|
|
{
|
|
"traitName": "is.calculationOf",
|
|
"extendsTrait": "is.correlatedWith",
|
|
"explanation": "the attribute value is the result of a calculation on the sourceAttribute"
|
|
},
|
|
{
|
|
"traitName": "is.partition",
|
|
"extendsTrait": "is",
|
|
"explanation": "The base trait for partition specific traits."
|
|
},
|
|
{
|
|
"traitName": "is.partition.format",
|
|
"extendsTrait": "is.partition"
|
|
},
|
|
{
|
|
"traitName": "is.partition.format.CSV",
|
|
"extendsTrait": "is.partition.format",
|
|
"explanation": "The value is the file format settings of a partition CSV file.",
|
|
"hasParameters": [
|
|
{
|
|
"name": "columnHeaders",
|
|
"dataType": "boolean",
|
|
"explanation": "Indicates whether the .csv file has headers."
|
|
},
|
|
{
|
|
"name": "csvStyle",
|
|
"dataType": "string",
|
|
"defaultValue": "CsvStyle.QuoteAlways",
|
|
"explanation": "The CSV style which is always CsvStyle.QuoteAlways or CsvStyle.QuoteAfterDelimiter."
|
|
},
|
|
{
|
|
"name": "delimiter",
|
|
"dataType": "string",
|
|
"explanation": "The delimiter type in the .csv file."
|
|
},
|
|
{
|
|
"name": "quoteStyle",
|
|
"dataType": "string",
|
|
"defaultValue": "QuoteStyle.Csv",
|
|
"explanation": "The quote style which is always QuoteStyle.Csv or QuoteStyle.None."
|
|
},
|
|
{
|
|
"name": "encoding",
|
|
"dataType": "string",
|
|
"defaultValue": "UTF-8",
|
|
"explanation": "The character encoding in the .csv file."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"traitName": "is.partition.format.parquet",
|
|
"extendsTrait": "is.partition.format",
|
|
"explanation": "The value is the file format settings of a partition parquet file."
|
|
},
|
|
{
|
|
"traitName": "is.partition.culture",
|
|
"extendsTrait": "is.partition",
|
|
"explanation": "The value denotes culture in the partition files.",
|
|
"hasParameters": [
|
|
{
|
|
"name": "culture",
|
|
"dataType": "string",
|
|
"defaultValue": "en-us"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"traitName": "is.modelConversion",
|
|
"extendsTrait": "is",
|
|
"explanation": "Represents a correlation with model.json to CDM model conversion."
|
|
},
|
|
{
|
|
"traitName": "is.modelConversion.modelVersion",
|
|
"extendsTrait": "is.modelConversion",
|
|
"explanation": "The value denotes the version number set in a converted model.json file",
|
|
"hasParameters": [
|
|
{
|
|
"name": "version",
|
|
"dataType": "string"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"traitName": "is.modelConversion.otherAnnotations",
|
|
"extendsTrait": "is.modelConversion",
|
|
"explanation": "The value denotes model.json annotations which have not been recognized.",
|
|
"hasParameters": [
|
|
{
|
|
"name": "annotations",
|
|
"dataType": "object"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"traitName": "is.modelConversion.referenceModelMap",
|
|
"extendsTrait": "is.modelConversion",
|
|
"explanation": "The value denotes a reference model map containing multiple id-location pairs used for reference entity resolution.",
|
|
"hasParameters": [
|
|
{
|
|
"name": "referenceModelMap",
|
|
"dataType": "object"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"traitName": "is.managedBy",
|
|
"extendsTrait": "is",
|
|
"explanation": "The value denotes information about a service/entity who is owning a model.",
|
|
"hasParameters": [
|
|
{
|
|
"name": "application",
|
|
"dataType": "string",
|
|
"explanation": "The name of the managing entity or service."
|
|
}
|
|
]
|
|
}
|
|
]
|
|
} |