# `owns` statement

The statement `<LABEL> owns <ATTRIBUTE LABEL>` is used to identify the `<LABEL>` type as an owner of `<ATTRIBUTE LABEL>`.

Schema for the following examples

```typeql
#!test[schema, commit]
define
entity user;
attribute email value string;
```

## [](#_defining_ownership)Defining ownership

The `owns` keyword can be used to define a type as an owner of an attribute type.

```typeql
#!test[schema]
define user owns email;
```

## [](#_undefining_ownership)Undefining ownership

The `owns` keyword can be used to undefine a type’s ownership of an attribute type.

```typeql
#!test[schema]
undefine owns email from user;
```

## [](#_matching)Matching

### [](#_matching_owned_attribute_types)Matching owned attribute types

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

```typeql
#!test[read]
match user owns $a;
```

### [](#_matching_owner_types)Matching owner types

The `owns` keyword can be used to match all owner types for an attribute type.

```typeql
#!test[read]
match $o owns email;
```

[value](../value/index.md) [alias](../alias/index.md)

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