Naming scheme

Warning

🚧 This section is still in active development and is subject to changes 🚧

This document describes a general naming scheme for Sprout that is guided by our style guide as well as by the Frictionless Framework and Data Package structure. This naming scheme only applies to data objects, functions, URLs, API endpoints, and command line interfaces that are exposed to or associated with user-facing content. It does not apply to internal content; see the style guide for details on naming internal (developer-facing) content.

We’ll compose names based on the objects we and our users interact with as well as the actions taken on those objects. Following along with the Frictionless Data Package terminology, we simplify “data package” to “package” and “data resource” to “resource”. We use the words “property” or “properties” to describe package and resource metadata contained in the datapackage.json file that follows the Frictionless Data specification.

Important

While we use the term “properties” to mean anything related to the metadata contained within the datapackage.json file, the Frictionless Data Package specification uses the term “descriptor” to describe metadata as the structure of the properties (the metadata as a whole) and as the file itself. Since we mainly create, modify, or delete properties not descriptors and since we want to minimize using and introducing additional terms, for simplicity we use “properties” to refer to the content of the datapackage.json file rather than its structure. We may also occasionally use “properties” to refer to the file itself.

Objects

General objects used throughout Sprout.
Object Description
package(s) A data package that contains a collection of related data resources and properties.
resource(s) A single data file within a package, along with its properties and associated raw data files.
properties or property Metadata about a package or resource.
file structure or structure The file and folder structure of a package.
path A file path listing the location of folders or files that Sprout interacts with.
data The data file within a resource. Within Sprout, this includes the table in the database, the Parquet file, as well as raw files.
identifier A unique identifier for a package or resource, denoted as id.
Specific files and folders used within or output by Sprout.
File or folder Description
packages The folder that contains all packages.
resources The folder that contains all resource files in a package.
raw The folder that contains raw data files for a data resource.
raw data file A compressed raw data file format, such as a .zip, .gzip, or .tar.gz file.
JSON The main way we save and pass information around on the package’s or resource’s properties.
Parquet A columnar, efficient storage file format that we use to save data within a resource.
SQLite A relational database file format that we use to contain all data resources in a package.

Actions

General actions that Sprout can take on objects or files/folders.
Action Description
create Create a new object.
construct Construct or reconstruct a data file (like the Parquet file).
view View details about an object.
list List basic details about many objects.
edit Edit an object, specifically the properties object.
add Add another object to an existing object, specifically adding data to a resource.
write Write an object to a file.
copy Copy a file from one location to another.
delete Permanently delete an object.
extract Extract specific information from an object, specifically the properties from a data file.