User GuidesAPI ReferenceRelease Notes
Doc HomeHelp CenterLog In

The Attribute JSON Object

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 "". Does not apply to the attributes contained within a RECORD attribute.

String

type

The type of the attribute, expressed in a baseType object.

The type object can include:

  • baseType
  • innerType
  • attributes

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:

  • baseType for its nested values (for ARRAY and MAP)
  • attributes (for RECORD)

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
isNullableWhether 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
}

See List a dataset's attributes.