CDM/schemaDocuments/foundations.0.8.1.cdm.json

296 строки
9.9 KiB
JSON

{
"$schema": "./schema.cdm.json",
"jsonSchemaSemanticVersion": "0.7.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.1"
}
]
}
]
},
{
"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"
}
]
}