import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Applications (Experimental - Beta Feature)
## Why Would You Use Applications?
Applications are groupings of assets based on a particular purpose, similar to domains and data products.
For more information on what an Application is, and how it differs from other concepts, refer to [About DataHub Applications](/docs/features/feature-guides/applications.md).
### Goal Of This Guide
This guide will show you how to
- Create an application.
- Read the application attached to a dataset.
- Add a dataset to an application
- Remove the application from a dataset.
## Prerequisites
For this tutorial, you need to deploy DataHub Quickstart and ingest sample data.
For detailed steps, please refer to [Datahub Quickstart Guide](/docs/quickstart.md).
## Create Application
```json
mutation createApplication {
createApplication(
input: {
properties: {
name: "My New Application"
description: "An optional description"
}
}
)
}
```
If you see the following response, the operation was successful:
```json
{
"data": {
"createApplication": ""
},
"extensions": {}
}
```
```python
{{ inline /metadata-ingestion/examples/library/create_application.py show_path_as_comment }}
```
### Expected Outcomes of Creating Applications
You can now see the applications under `Applications` sidebar section.
## Read Applications
```json
query {
dataset(urn: "urn:li:dataset:(urn:li:dataPlatform:hive,fct_users_created,PROD)") {
application {
application {
urn
properties {
name
description
}
}
}
}
}
```
If you see the following response, the operation was successful:
```python
{
"data": {
"dataset": {
"application": {
"application": {
"urn": "urn:li:application:71b3bf7b-2e3f-4686-bfe1-93172c8c4e10",
"properties": {
"name": "Cancellation Processing"
}
}
}
}
},
"extensions": {}
}
```
## Add Application
```json
mutation batchSetApplication {
batchSetApplication(
input: {
resourceUrns: [
"urn:li:dataset:(urn:li:dataPlatform:bigquery,banking.public.customer,PROD)"
]
applicationUrn: "urn:li:application:new-customer-signup"
}
)
}
```
If you see the following response, the operation was successful:
```json
{
"data": {
"batchSetApplication": true
},
"extensions": {}
}
```
```python
{{ inline /metadata-ingestion/examples/library/add_application.py show_path_as_comment }}
```
### Expected Outcomes of Adding Application
You can now see the application has been added to the dataset.
## Remove Applications
```json
mutation batchSetApplication {
batchSetApplication(
input: {
resourceUrns: [
"urn:li:dataset:(urn:li:dataPlatform:bigquery,banking.public.customer,PROD)"
],
applicationUrn: null
}
)
}
```
Expected Response:
```python
{
"data": {
"batchSetApplication": true
},
"extensions": {}
}
```
```python
{{ inline /metadata-ingestion/examples/library/remove_application.py show_path_as_comment }}
```