Datasets

Models representing datasets.

Dataset object

class renku.core.models.dataset.Dataset(*, creators: Optional[List[renku.core.models.provenance.agent.Person]] = None, dataset_files: Optional[List[renku.core.models.dataset.DatasetFile]] = None, date_created: Optional[datetime.datetime] = None, date_published: Optional[datetime.datetime] = None, date_removed: Optional[datetime.datetime] = None, derived_from: Optional[str] = None, description: Optional[str] = None, id: Optional[str] = None, identifier: Optional[str] = None, images: Optional[List[renku.core.models.dataset.ImageObject]] = None, in_language: Optional[renku.core.models.dataset.Language] = None, initial_identifier: Optional[str] = None, keywords: Optional[List[str]] = None, license: Optional[str] = None, name: Optional[str] = None, same_as: Optional[renku.core.models.dataset.Url] = None, title: Optional[str] = None, version: Optional[str] = None)[source]

Represent a dataset.

add_or_update_files(files: Union[renku.core.models.dataset.DatasetFile, List[renku.core.models.dataset.DatasetFile]])[source]

Add new files or update existing files.

clear_files()[source]

Remove all files.

copy()renku.core.models.dataset.Dataset[source]

Return a clone of this dataset.

property creators_csv

Comma-separated list of creators associated with dataset.

property creators_full_csv

Comma-separated list of creators with full identity.

derive_from(dataset: renku.core.models.dataset.Dataset, creator: Optional[renku.core.models.provenance.agent.Person], identifier: Optional[str] = None)[source]

Make self a derivative of dataset and update related fields.

property files

Return list of existing files.

find_file(path: Union[pathlib.Path, str])Optional[renku.core.models.dataset.DatasetFile][source]

Find a file in the dataset using its relative path.

freeze()

Set immutable property.

classmethod from_jsonld(data, schema_class=None)[source]

Create an instance from JSON-LD data.

static generate_id(identifier: str)str[source]

Generate an identifier for Dataset.

property immutable

Return if object is immutable.

is_removed()bool[source]

Return true if dataset is removed.

property keywords_csv

Comma-separated list of keywords associated with dataset.

reassign_oid()

Reassign oid (after assigning a new identifier for example).

remove(date: Optional[datetime.datetime] = None)[source]

Mark the dataset as removed.

replace_identifier(identifier: Optional[str] = None)[source]

Replace dataset’s identifier and update relevant fields.

NOTE: Call this only for newly-created/-imported datasets that don’t have a mutability chain because it sets initial_identifier.

to_jsonld()[source]

Create JSON-LD.

Mark a file as removed using its relative path.

update_files_from(current_dataset: renku.core.models.dataset.Dataset, date: Optional[datetime.datetime] = None)[source]

Check current_files to reuse existing entries and mark removed files.

update_metadata(**kwargs)[source]

Updates metadata.

update_metadata_from(other: renku.core.models.dataset.Dataset)[source]

Update metadata from another dataset.

Dataset file

Manage files in the dataset.

class renku.core.models.dataset.DatasetFile(*, based_on: Optional[renku.core.models.dataset.RemoteEntity] = None, date_added: Optional[datetime.datetime] = None, date_removed: Optional[datetime.datetime] = None, entity: Optional[renku.core.models.entity.Entity] = None, id: Optional[str] = None, is_external: bool = False, source: Optional[Union[pathlib.Path, str]] = None)[source]

A file in a dataset.

copy()renku.core.models.dataset.DatasetFile[source]

Return a clone of this object.

classmethod from_path(client, path: Union[str, pathlib.Path], source=None, based_on: Optional[renku.core.models.dataset.RemoteEntity] = None)Optional[renku.core.models.dataset.DatasetFile][source]

Return an instance from a path.

static generate_id()[source]

Generate an identifier for DatasetFile.

NOTE: ID should not rely on Entity properties because the same Entity can be added and removed multiple times. So, it should be marked by different DatasetFiles.

is_equal_to(other: renku.core.models.dataset.DatasetFile)[source]

Compare content.

NOTE: id is generated randomly and should not be included in this comparison.

is_removed()bool[source]

Return true if dataset is removed and should not be accessed.

classmethod make_instance(**kwargs)

Instantiate from the given parameters.

remove(date: Optional[datetime.datetime] = None)[source]

Create a new instance and mark it as removed.

to_jsonld()[source]

Create JSON-LD.