<!-- # hard line break macro for HTML -->

# fiftyone.core.selection_refs

Source identities for whole frames and clips captured from generated views.

Copyright 2017-2026, Voxel51, Inc.
<br/>
[voxel51.com](https://voxel51.com/)
<br/>
<br/>

**Classes:**

| [`SourceReferenceDomain`](#fiftyone.core.selection_refs.SourceReferenceDomain)(source, kind[, field])   | Source identity metadata for membership work without generating a view.   |
|---------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------|

**Functions:**

| [`normalize_reference`](#fiftyone.core.selection_refs.normalize_reference)(reference)   | Validates source identity independently of the current grid row ID.   |
|-----------------------------------------------------------------------------------------|-----------------------------------------------------------------------|
| [`reference_fields`](#fiftyone.core.selection_refs.reference_fields)(view)              | The durable fields identifying rows of a generated frame/clip view.   |
| [`is_trajectory`](#fiftyone.core.selection_refs.is_trajectory)(view)                    | Whether clips represent tracks rather than anonymous frame ranges.    |
| [`trajectory_field`](#fiftyone.core.selection_refs.trajectory_field)(view)              | The source frame label field defining a trajectory view.              |
| [`reference_expression`](#fiftyone.core.selection_refs.reference_expression)(view)      | A row's canonical Mongo reference, or None for source samples.        |
| [`reference_match`](#fiftyone.core.selection_refs.reference_match)(view[, variable])    | Indexed source-coordinate match against a captured reference.         |
| [`row_query`](#fiftyone.core.selection_refs.row_query)(view, reference)                 | Validates the entity domain and returns its materialized row query.   |
| [`source_lookup`](#fiftyone.core.selection_refs.source_lookup)(view, reference[, name]) | Tests live source availability without relying on a generated cache.  |
| [`iter_members`](#fiftyone.core.selection_refs.iter_members)(view)                      | Streams whole entities with source references, deduplicating ranges.  |

### *class* fiftyone.core.selection_refs.SourceReferenceDomain(source, kind, field=None)

Bases: `object`

Source identity metadata for membership work without generating a view.

* **Parameters:**
  * **source** – the source dataset
  * **kind** – the reference kind
  * **field** (*None*) – the source label field for label clips or trajectories

### fiftyone.core.selection_refs.normalize_reference(reference)

Validates source identity independently of the current grid row ID.

### fiftyone.core.selection_refs.reference_fields(view)

The durable fields identifying rows of a generated frame/clip view.

### fiftyone.core.selection_refs.is_trajectory(view)

Whether clips represent tracks rather than anonymous frame ranges.

### fiftyone.core.selection_refs.trajectory_field(view)

The source frame label field defining a trajectory view.

### fiftyone.core.selection_refs.reference_expression(view)

A row’s canonical Mongo reference, or None for source samples.

### fiftyone.core.selection_refs.reference_match(view, variable='$$reference')

Indexed source-coordinate match against a captured reference.

### fiftyone.core.selection_refs.row_query(view, reference)

Validates the entity domain and returns its materialized row query.

### fiftyone.core.selection_refs.source_lookup(view, reference, name='_fo_parent')

Tests live source availability without relying on a generated cache.

### fiftyone.core.selection_refs.iter_members(view)

Streams whole entities with source references, deduplicating ranges.
