CDM/schemaDocuments/foundations.1.0.1.cdm.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."
}
]
}
]
}