The JSON key:value pairs that describe data attributes in call responses.
Attributes are associated with datasets and are defined by their name and type.
This JSON object provides data and metadata about an attribute:
Key | Value Description | Type |
---|---|---|
name | The user-defined name of the attribute. Must be unique to the dataset. | String |
description | Optional. The description of the attribute. Defaults to an empty string | String |
type | The type of the attribute, expressed in a baseType object. The type object can include:
See Attribute Types. If the baseType is primitive, the type object includes only baseType and attributes. If the baseType is complex, an additional innerType object describes:
The attributes array describes any associated attributes, which can also be complex or primitive. If there are no attributes associated with the base type of an attribute, such as for primitive types, an empty array [ ] is returned. | Object |
isNullable | Whether the attribute can be empty. Defaults to false. | Boolean |
Attribute Types
The primitive types in Tamr Core are:
- BOOLEAN
- DOUBLE
- INT
- LONG
- NULL
- STRING
The complex types in Tamr Core are:
- ARRAY - Arrays are multi-value fields, and are common in many Tamr datasets.
- MAP - Maps are defined by keys and values, where the key is a STRING. The values can be of any type, primitive or complex.
- RECORD - Records contain a list of attributes, and each of these attributes can be simple or complex. For example, a pairs deduplication dataset.
An attribute is described by its "base" type. Complex types (ARRAY, MAP, and RECORD) need to also specify the types of the values they contain. To do so, ARRAY and MAP also specify an "inner" type, and RECORD specifies associated attributes. For example, an attribute with a base type of ARRAY also specifies an inner type of STRING.
Examples
{
"name": "zipcodes",
"description": "",
"type": {
"baseType": "ARRAY",
"innerType": {
"baseType": "STRING",
"attributes": []
},
},
"isNullable": true
}
{
"name": "feedback",
"description": "",
"type": {
"baseType": "MAP",
"innerType": {
"baseType": "RECORD",
"attributes": [
{
"name": "username",
"type": {
"baseType": "STRING",
"attributes": []
},
"isNullable": false
},
{
"name": "assignmentInfo",
"type": {
"baseType": "RECORD",
"attributes": [
{
"name": "status",
"type": {
"baseType": "STRING",
"attributes": []
},
"isNullable": true
},
{
"name": "created",
"type": {
"baseType": "LONG",
"attributes": []
},
"isNullable": true
},
{
"name": "lastModified",
"type": {
"baseType": "LONG",
"attributes": []
},
"isNullable": true
}
]
},
"isNullable": false
}
]
},
"isNullable": false
},
"isNullable": false
}
{
"name": "record1",
"description": "",
"type": {
"baseType": "RECORD",
"attributes": [
{
"name": "foo",
"type": {
"baseType": "STRING",
"attributes": []
},
"isNullable": true
},
{
"name": "bar",
"type": {
"baseType": "LONG",
"attributes": []
},
"isNullable": true
},
{
"name": "baz",
"type": {
"baseType": "ARRAY",
"innerType": {
"baseType": "STRING",
"attributes": []
},
"isNullable": true
},
"isNullable": true
}
]
},
"isNullable": false
}