All Downloads are FREE. Search and download functionalities are using the official Maven repository.

.commondatamodel.objectmodel.1.7.2.source-code.primitives.1.0.cdm.json Maven / Gradle / Ivy

{
    "$schema": "./schema.cdm.json",
    "jsonSchemaSemanticVersion": "1.0.0",
    "definitions": [
        {
            "traitName": "is",
            "explanation": "the root 'trait' from which all others derive."
        },
        {
            "traitName": "does",
            "extendsTrait": "is",
            "explanation": "a root with a more meaningful base name for certain exhibited traits"
        },
        {
            "traitName": "means",
            "extendsTrait": "is",
            "explanation": "a root with a more meaningful base name for certain semantic meaning traits"
        },
        {
            "explanation": "the root dataType",
            "dataTypeName": "any"
        },
        {
            "traitName": "is.dataFormat",
            "extendsTrait": "is",
            "associatedProperties": [
                "dataFormat"
            ]
        },
        {
            "traitName": "is.dataFormat.integer",
            "extendsTrait": "is.dataFormat"
        },
        {
            "traitName": "is.dataFormat.big",
            "extendsTrait": "is.dataFormat"
        },
        {
            "traitName": "is.dataFormat.small",
            "extendsTrait": "is.dataFormat"
        },
        {
            "traitName": "is.dataFormat.floatingPoint",
            "extendsTrait": "is.dataFormat"
        },
        {
            "traitName": "is.dataFormat.array",
            "extendsTrait": "is.dataFormat"
        },
        {
            "traitName": "is.dataFormat.character",
            "extendsTrait": "is.dataFormat"
        },
        {
            "traitName": "is.dataFormat.byte",
            "extendsTrait": "is.dataFormat"
        },
        {
            "traitName": "is.dataFormat.numeric",
            "extendsTrait": "is.dataFormat"
        },
        {
            "traitName": "is.dataFormat.date",
            "extendsTrait": "is.dataFormat"
        },
        {
            "traitName": "is.dataFormat.time",
            "extendsTrait": "is.dataFormat"
        },
        {
            "traitName": "is.dataFormat.boolean",
            "extendsTrait": "is.dataFormat"
        },
        {
            "traitName": "is.dataFormat.guid",
            "extendsTrait": "is.dataFormat"
        },
        {
            "traitName": "is.dataFormat.timeOffset",
            "extendsTrait": "is.dataFormat"
        },
        {
            "dataTypeName": "integer",
            "extendsDataType": "any",
            "exhibitsTraits": [
                "is.dataFormat.integer"
            ]
        },
        {
            "dataTypeName": "float",
            "extendsDataType": "any",
            "exhibitsTraits": [
                "is.dataFormat.floatingPoint"
            ]
        },
        {
            "traitName": "is.dataFormat.numeric.shaped",
            "extendsTrait": "is.dataFormat.numeric",
            "hasParameters": [
                {
                    "name": "precision",
                    "dataType": "integer",
                    "explanation": "the total number of significant digits",
                    "required": false
                },
                {
                    "name": "scale",
                    "dataType": "integer",
                    "explanation": "the number of digits to the right of the decimal place",
                    "required": false
                }
            ],
            "explanation": "for setting the exact precision and scale of numeric values"
        },
        {
            "dataTypeName": "decimal",
            "extendsDataType": "any",
            "exhibitsTraits": [
                "is.dataFormat.numeric.shaped"
            ]
        },
        {
            "dataTypeName": "boolean",
            "extendsDataType": "any",
            "exhibitsTraits": [
                "is.dataFormat.boolean"
            ]
        },
        {
            "dataTypeName": "char",
            "extendsDataType": "any",
            "exhibitsTraits": [
                "is.dataFormat.character",
                "is.dataFormat.big"
            ]
        },
        {
            "dataTypeName": "string",
            "extendsDataType": "char",
            "exhibitsTraits": [
                "is.dataFormat.array"
            ]
        },
        {
            "dataTypeName": "byte",
            "extendsDataType": "any",
            "exhibitsTraits": [
                "is.dataFormat.byte"
            ]
        },
        {
            "dataTypeName": "binary",
            "extendsDataType": "byte",
            "exhibitsTraits": [
                "is.dataFormat.array"
            ]
        },
        {
            "dataTypeName": "smallInteger",
            "extendsDataType": "integer",
            "exhibitsTraits": [
                "is.dataFormat.small"
            ]
        },
        {
            "dataTypeName": "bigInteger",
            "extendsDataType": "integer",
            "exhibitsTraits": [
                "is.dataFormat.big"
            ]
        },
        {
            "dataTypeName": "double",
            "extendsDataType": "float",
            "exhibitsTraits": [
                "is.dataFormat.big"
            ]
        },
        {
            "dataTypeName": "guid",
            "extendsDataType": "string",
            "exhibitsTraits": [
                "is.dataFormat.guid"
            ]
        },
        {
            "traitName": "means.identity",
            "extendsTrait": "means"
        },
        {
            "traitName": "means.identity.entityId",
            "extendsTrait": "means.identity"
        },
        {
            "explanation": "a unique identier for entity instances",
            "dataTypeName": "entityId",
            "extendsDataType": "guid",
            "exhibitsTraits": [
                "means.identity.entityId"
            ]
        },
        {
            "explanation": "types for trait parameters that take objects as values",
            "dataTypeName": "object",
            "extendsDataType": "any"
        },
        {
            "explanation": "types for trait parameters that take CDM objects as values",
            "dataTypeName": "cdmObject",
            "extendsDataType": "object"
        },
        {
            "explanation": "types for trait parameters that take objects as values",
            "dataTypeName": "trait",
            "extendsDataType": "cdmObject"
        },
        {
            "explanation": "types for trait parameters that take objects as values",
            "dataTypeName": "dataType",
            "extendsDataType": "cdmObject"
        },
        {
            "explanation": "types for trait parameters that take objects as values",
            "dataTypeName": "purpose",
            "extendsDataType": "cdmObject"
        },
        {
            "explanation": "types for trait parameters that take objects as values",
            "dataTypeName": "entity",
            "extendsDataType": "cdmObject"
        },
        {
            "explanation": "type for trait parameters that take attribute names as values",
            "dataTypeName": "entityName",
            "extendsDataType": "string",
            "exhibitsTraits": [
                {
                    "traitReference": {
                        "traitName": "means.entityName",
                        "extendsTrait": "means"
                    }
                }
            ]
        },
        {
            "explanation": "types for trait parameters that take objects as values",
            "dataTypeName": "attribute",
            "extendsDataType": "cdmObject"
        },
        {
            "explanation": "types for trait parameters that take objects as values",
            "dataTypeName": "attributeGroup",
            "extendsDataType": "cdmObject"
        },
        {
            "explanation": "type for trait parameters that take attribute names as values",
            "dataTypeName": "attributeName",
            "extendsDataType": "string",
            "exhibitsTraits": [
                {
                    "traitReference": {
                        "traitName": "means.attributeName",
                        "extendsTrait": "means"
                    }
                }
            ]
        },
        {
            "traitName": "means.content",
            "extendsTrait": "means"
        },
        {
            "traitName": "means.content.text",
            "extendsTrait": "means.content"
        },
        {
            "traitName": "means.content.text.HTML",
            "extendsTrait": "means.content.text"
        },
        {
            "traitName": "means.content.text.JSON",
            "extendsTrait": "means.content.text"
        },
        {
            "traitName": "means.content.text.XML",
            "extendsTrait": "means.content.text"
        },
        {
            "traitName": "means.content.text.CSV",
            "extendsTrait": "means.content.text"
        },
        {
            "traitName": "means.content.binary",
            "extendsTrait": "means.content"
        },
        {
            "traitName": "means.content.binary.image",
            "extendsTrait": "means.content.binary"
        },
        {
            "traitName": "means.content.binary.image.BMP",
            "extendsTrait": "means.content.binary.image"
        },
        {
            "traitName": "means.content.binary.image.GIF",
            "extendsTrait": "means.content.binary.image"
        },
        {
            "traitName": "means.content.binary.image.JPG",
            "extendsTrait": "means.content.binary.image"
        },
        {
            "traitName": "means.content.binary.image.PNG",
            "extendsTrait": "means.content.binary.image"
        },
        {
            "traitName": "means.content.binary.image.TIFF",
            "extendsTrait": "means.content.binary.image"
        },
        {
            "explanation": "a CSV contained within one string value",
            "dataTypeName": "list",
            "extendsDataType": "string",
            "exhibitsTraits": [
                "means.content.text.CSV"
            ]
        },
        {
            "explanation": "a root entity for constant reference tables",
            "entityName": "reference"
        },
        {
            "explanation": "The root relationship for associating attributes with entities.",
            "purposeName": "hasA"
        },
        {
            "traitName": "is.hidden",
            "explanation": "All attributes with this trait should be hidden from view of the entity consumer."
        },
        {
            "traitName": "is.secret",
            "extendsTrait": "is"
        },
        {
            "traitName": "is.required",
            "extendsTrait": "is"
        },
        {
            "traitName": "is.sensitive",
            "extendsTrait": "is"
        },
        {
            "traitName": "does.elevateAttribute",
            "extendsTrait": "does",
            "hasParameters": [
                {
                    "name": "attribute",
                    "dataType": "attribute",
                    "required": true
                }
            ],
            "elevated": true,
            "explanation": "elevates (up to a entity) a trait that describes a specific attribute"
        },
        {
            "traitName": "is.identifiedBy",
            "extendsTrait": "does.elevateAttribute",
            "associatedProperties": [
                "primaryKey",
                "isPrimaryKey"
            ],
            "explanation": "names a specifc identity attribute to use with an entity"
        },
        {
            "explanation": "The attribute which supplies the unique identifier for the entity. Used by default in refereneces unless a different attribute is supplied with 'is.identifiedBy' trait.",
            "purposeName": "identifiedBy",
            "extendsPurpose": "hasA",
            "exhibitsTraits": [
                "is.identifiedBy"
            ]
        },
        {
            "traitName": "is.named",
            "extendsTrait": "does.elevateAttribute"
        },
        {
            "explanation": "The attribute which supplies the name for the entity.",
            "purposeName": "namedBy",
            "extendsPurpose": "hasA",
            "exhibitsTraits": [
                "is.named"
            ]
        },
        {
            "traitName": "is.ordered",
            "extendsTrait": "does.elevateAttribute"
        },
        {
            "explanation": "An attribute which determines the ordering of entity records",
            "purposeName": "orderedBy",
            "extendsPurpose": "hasA",
            "exhibitsTraits": [
                "is.ordered"
            ]
        },
        {
            "traitName": "is.locatable",
            "extendsTrait": "does.elevateAttribute"
        },
        {
            "explanation": "An attribute which identifies the location of an entity",
            "purposeName": "locatedAt",
            "extendsPurpose": "hasA",
            "exhibitsTraits": [
                "is.locatable"
            ]
        },
        {
            "traitName": "is.addedInSupportOf",
            "extendsTrait": "is",
            "hasParameters": [
                {
                    "name": "inSupportOf",
                    "dataType": "attributeName",
                    "explanation": "output parameter naming the attribute that is being supported",
                    "required": false
                }
            ]
        },
        {
            "traitName": "is.linkedEntity",
            "explanation": "base for traits that are used to decorate the attributes and artifacts created by the traits on the hasFlexibleRelationshipWithEntity relationship."
        },
        {
            "traitName": "is.linkedEntity.identifier",
            "extendsTrait": "is.linkedEntity",
            "hasParameters": [
                {
                    "name": "entityReferences",
                    "dataType": "entity",
                    "explanation": "a reference to the constant entity holding the list of entity references",
                    "required": false
                }
            ],
            "explanation": "Marks the attribute(s) that hold foreign key references to a linked (used as an attribute) entity. This attribute is added to the resolved entity to enumerate the referenced entities."
        },
        {
            "traitName": "is.linkedEntity.name",
            "extendsTrait": "is.linkedEntity",
            "explanation": "Marks an attribute that contains the entity name or 'class' for the situation where one entity links to (uses as an attribute) a set of possible entities."
        },
        {
            "traitName": "is.linkedEntity.array",
            "explanation": "Identifies the case when one entity links to (uses as an attribute) an array of other entities."
        },
        {
            "traitName": "is.linkedEntity.array.count",
            "explanation": "Marks an attribute that contains the count of items in the array of linked (used as an attribute) entities"
        }
    ]
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy