# `value` statement

The statement `<LABEL> value <VALUE TYPE>` is used to identify `<VALUE TYPE>` as the value type of the `<LABEL>` attribute type.

`<VALUE TYPE>` should be a built-in or a user-defined [value type](../../values/index.md).

Schema for the following examples

```typeql
#!test[schema]
define attribute name @abstract;
```

## [](#_defining_attribute_types_value_types)Defining attribute type’s value types

The `value` keyword can be used to define a value type of an attribute type.

```typeql
#!test[schema]
define name value string;
```

## [](#_undefining_attribute_types_value_type)Undefining attribute type’s value type

The `value` keyword can be used to undefine an attribute type’s value type.

```typeql
#!test[schema]
undefine value string from name;
```

## [](#_matching)Matching

The `value` keyword can be used to match all attribute types with a value type.

```typeql
#!test[read]
match $a value string;
```

[plays](../plays/index.md) [owns](../owns/index.md)

[Edit on GitHub](https://github.com/typedb/typedb-docs/edit/3.x-development/typeql-reference/modules/ROOT/pages/statements/value.adoc) Edit this page on GitHub.