lamindb.ULabel¶
- class lamindb.ULabel(name: str, description: str | None = None, reference: str | None = None, reference_type: str | None = None)¶
Bases:
Registry
,HasParents
,CanValidate
,TracksRun
,TracksUpdates
Universal labels (valid categories).
- Parameters:
name –
str
A name.description –
str
A description.reference –
str | None = None
For instance, an external ID or a URL.reference_type –
str | None = None
For instance,"url"
.
A
ULabel
record provides the easiest way to annotate an artifact or collection with a label:"My project"
,"curated"
, or"Batch X"
:>>> my_project = ULabel(name="My project") >>> my_project.save() >>> collection.ulabels.add(my_project)
In some cases, a label is measured within an artifact or collection a feature (a
Feature
record) denotes the column name in which the label is stored. For instance, the collection might contain measurements across 2 organism of the Iris flower:"setosa"
&"versicolor"
.See Tutorial: Features & labels to learn more.
Note
If you work with complex entities like cell lines, cell types, tissues, etc., consider using the pre-defined biological registries in
bionty
to label artifacts & collections.If you work with biological samples, likely, the only sustainable way of tracking metadata, is to create a custom schema module.
See also
Examples
Create a new label:
>>> my_project = ln.ULabel(name="My project") >>> my_project.save()
Label a artifact without associating it to a feature:
>>> ulabel = ln.ULabel.filter(name="My project").one() >>> artifact = ln.Artifact("./myfile.csv") >>> artifact.save() >>> artifact.ulabels.add(ulabel) >>> artifact.ulabels.list("name") ['My project']
Organize labels in a hierarchy:
>>> ulabels = ln.ULabel.lookup() # create a lookup >>> is_project = ln.ULabel(name="is_project") # create a super-category `is_project` >>> is_project.save() >>> ulabels.my_project.parents.add(is_project)
Query by
ULabel
:>>> ln.Artifact.filter(ulabels=project).first()
Attributes¶
- objects Manager¶
Fields¶
- created_at DateTimeField¶
Time of creation of record.
- updated_at DateTimeField¶
Time of last update to record.
- id AutoField¶
Internal id, valid only in one DB instance.
- uid CharField¶
A universal random id, valid across DB instances.
- name CharField¶
Name or title of ulabel (required).
- description TextField¶
A description (optional).
- reference CharField¶
A reference like URL or external ID.
- reference_type CharField¶
Type of reference, e.g., donor_id from Vendor X.
- previous_runs ManyToManyField¶
Sequence of runs that created or updated the record.
- parents ManyToManyField¶
Parent labels, useful to hierarchically group labels (optional).
Methods¶