Declaring the root folder
Last updated on 2025-07-25 | Edit this page
Estimated time: 3 minutes
Overview
Questions
- What is the root folder?
Objectives
- Create a top-level entity that can list the parts of the crate
RO-Crate Root
First we’ll add an entity to the @graph
array, to
describe the RO-Crate
Root:
By convention, in RO-Crate the @id
value of
./
means that this entity describes the folder in which the
RO-Crate metadata file is located. The root data entity always has the
@type
value of Dataset
, which is a schema.org type. This will be
referenced from ro-crate-metadata.json
, semantically
marking the crate1
folder as being the RO-Crate Root.
RO-Crates can be published on the Web
This example is a folder-based RO-Crate stored on disk, and therefore absolute paths are avoided, e.g. in case the root folder is moved or archived as a ZIP file.
If the crate is being served from a Web service, such as a data
repository or database where files are not organized in folders, then
the @id
might be an absolute URI instead of ./
– this is one reason why we point to the root entity from the metadata
descriptor, as you will see in the next section.
Add an additional type
- Navigate the schema.org type list to find a subtype of
CreativeWork
that is suitable for a learning resource. - Modify the root entity’s
@type
to be an array. - Add the type name for learning resource at the end of the array.
The root has several metadata properties that describe the RO-Crate
as a whole, considering it as a Research Object of collected resources.
In the next section we will cover the required and recommended
properties of the root ./
.
Key Points
- The RO-Crate Root is the top-level object of the RO-Crate
- The root identifier is commonly just ./ for the current folder, but can be a URL
- The root is always typed as a Dataset, but can have additional types