# Finding a dataset’s RID

Client code and streaming tools point at a [dataset](https://dev.nominal.io/platform/data-model.md#data-model-time-series) by its resource identifier (RID), which looks like `<ri.catalog.instance.dataset.identifier>`.

## In code

**Python**

```python
from nominal.core import NominalClient

client = NominalClient.from_profile("default")

dataset = client.create_dataset("My dataset")
print(dataset.rid)

# or find an existing dataset by name; the search also matches parts of names
existing = [d for d in client.search_datasets(exact_match="My dataset") if d.name == "My dataset"]
print(existing[0].rid)
```

**MATLAB**

```matlab
client = nominal.Client.fromProfile();

dataset = client.createDataset("My dataset");
disp(dataset.Rid)

% or find an existing dataset by name: a table of the datasets whose names contain it
t = client.datasets("My dataset");
rid = t.Rid(1);
```

**Rust**

```rust
use nominal::core::{DatasetCreate, DatasetQuery};

let client = nominal::NominalClient::from_profile("default")?;

let dataset = client.catalog().create_dataset(DatasetCreate::new("My dataset")).await?;
println!("{}", dataset.rid());

// or find an existing dataset by name; the search also matches parts of names
let existing = client.catalog().search_datasets(DatasetQuery::substring_match("My dataset")).await?;
let rid = existing.iter().find(|d| d.name() == "My dataset").map(|d| d.rid());
```

## In the Nominal app

- On the **Data sources** page (in the sidebar, click **Data**, then **Data sources**), right-click the dataset’s row, or hover over it and click its **⋯** button, then choose **Copy** ▸ **Copy RID**.
- On the dataset’s own page, hover over **RID** in the **Details** section on the right and click the copy icon.

To create a dataset first, click **NEW DATASET** on the **Data sources** page, enter a name, and click **CREATE DATASET**. The new dataset’s page opens.
