{ "$schema": "./schema.cdm.json", "jsonSchemaSemanticVersion": "0.6.0", "imports": [ { "uri": "/primitives.cdm.json" }, { "uri": "/meanings.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": "CdmObject", "extendsEntity":"object", "exhibitsTraits": [ { "traitReference" : "is.CDM.entityVersion", "arguments": [ { "name": "versionNumber", "value": "0.8" } ] } ] }, { "entityName": "attributeGroupSet", "explanation": "a set of references to attributeGroups", "extendsEntity": "reference", "hasAttributes": [ { "name": "attributeGroupReference", "dataType": "attributeGroup", "relationship": "hasA" } ] }, { "entityName": "localizedTable", "explanation": "localized text", "extendsEntity": "reference", "hasAttributes": [ { "name": "languageTag", "dataType": "languageTag", "relationship": "identifiedBy" }, { "name": "displayText", "dataType": "localizedDisplayText", "relationship": "hasA" } ] }, { "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", "relationship": "identifiedBy" }, { "name": "displayOrder", "dataType": "displayOrder", "relationship": "orderedBy" } ] }, { "entityName": "listLookupCorrelatedValues", "explanation": "a localized list of descriptions for possible values in a listLookupCorrelated type attribute", "extendsEntity": "listLookupValues", "hasAttributes": [ { "name": "correlatedValue", "dataType": "integer", "relationship": "identifiedBy", "explanation": "value for the correlated attribute that corresponds to the associated attributeValue" } ] }, { "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." }, { "relationshipName": "representsStateWith", "extendsRelationship": "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 } ] }, { "relationshipName": "representsCorrelatedStatusWith", "extendsRelationship": "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", "does.addSupportingAttribute", "is.constrainedList" ] }, { "dataTypeName": "listLookupMultiple", "extendsDataType": "string", "explanation": "A set of one or more values from a defined list of possibilities", "exhibitsTraits": [ "does.haveDefault", "does.addSupportingAttribute", "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" } ] }