Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
# RO-Crate Metadata Specification 1.3-DRAFT
# RO-Crate Metadata Specification 1.4-DRAFT

<!-- NOTE: Before release, update and uncomment below (permalink, DOI, published, authors)
* Permalink: <https://w3id.org/ro/crate/1.3>
* Permalink: <https://w3id.org/ro/crate/1.4>
* Published: 2025-04-04
* Publisher: [researchobject.org](https://www.researchobject.org/) community
END NOTE -->
* Status: Editor's Draft
* JSON-LD context: <https://w3id.org/ro/crate/1.3-DRAFT/context>
* This version: <https://w3id.org/ro/crate/1.3-DRAFT>
* Alternate formats: [Web pages](https://www.researchobject.org/ro-crate/specification/1.3-DRAFT/),
* JSON-LD context: <https://w3id.org/ro/crate/1.4-DRAFT/context>
* This version: <https://w3id.org/ro/crate/1.4-DRAFT>
* Alternate formats: [Web pages](https://www.researchobject.org/ro-crate/specification/1.4-DRAFT/),
[single-page HTML](https://github.com/ResearchObject/ro-crate/releases/download/TAG/ro-crate-TAG.html),
[PDF](https://github.com/ResearchObject/ro-crate/releases/download/TAG/ro-crate-TAG.pdf),
[RO-Crate JSON-LD](ro-crate-metadata.json), [RO-Crate HTML](ro-crate-preview.html)
* Previous version: <https://w3id.org/ro/crate/1.2>
* Previous version: <https://w3id.org/ro/crate/1.3>
* Cite as: <!-- <https://doi.org/10.5281/zenodo.13751027> (this version) -->
<https://doi.org/10.5281/zenodo.3406497> (any version)
* Editors: [Peter Sefton](https://orcid.org/0000-0002-3545-944X), [Stian Soiland-Reyes](https://orcid.org/0000-0001-9842-9718), [Eli Chadwick](https://orcid.org/0000-0002-0035-6475)
Expand Down Expand Up @@ -41,6 +41,6 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
</small>

**Note**: The RO-Crate [JSON-LD context](https://w3id.org/ro/crate/1.3-DRAFT/context) and JSON-LD examples within this specification are distributed under [CC0 1.0 Universal (CC0 1.0) Public Domain Dedication][CC0].
**Note**: The RO-Crate [JSON-LD context](https://w3id.org/ro/crate/1.4-DRAFT/context) and JSON-LD examples within this specification are distributed under [CC0 1.0 Universal (CC0 1.0) Public Domain Dedication][CC0].

> The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL in this document are to be interpreted as described in [RFC 2119].
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: Changelog
redirect_from:
- /1.3-DRAFT/appendix/changelog
- /1.4-DRAFT/appendix/changelog
parent: Appendix
grand_parent: RO-Crate 1.3-DRAFT
grand_parent: RO-Crate 1.4-DRAFT
nav_order: 30
excerpt: List of changes in releases of this specifications
---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
title: Implementation notes
description: Guidance on programming with JSON-LD, combining RO-Crate with other packaging schemes, and repository-specific identifiers
redirect_from:
- /1.3-DRAFT/appendix/implementation-notes
- /1.4-DRAFT/appendix/implementation-notes
parent: Appendix
grand_parent: RO-Crate 1.3-DRAFT
grand_parent: RO-Crate 1.4-DRAFT
nav_order: 21
---
<!--
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: Appendix
redirect_from:
- /1.3-DRAFT/appendix
- /1.4-DRAFT/appendix
nav_order: 20
parent: RO-Crate 1.3-DRAFT
parent: RO-Crate 1.4-DRAFT
has_children: true
---
<!--
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
---
title: RO-Crate JSON-LD
redirect_from:
- /1.3-DRAFT/appendix/jsonld
- /1.4-DRAFT/appendix/jsonld
excerpt: |
It is not necessary to use [JSON-LD tooling] to generate or parse the _RO-Crate Metadata Document_, although JSON-LD tools may make it easier to conform to this specification, e.g. handling relative URIs. It is however RECOMMENDED to use [JSON tooling][JSON] to handle [JSON][RFC 7159] syntax and escaping rules.

This appendix shows a brief JSON-LD introduction for complying with the _RO-Crate Metadata Document_ requirements.

parent: Appendix
grand_parent: RO-Crate 1.3-DRAFT
grand_parent: RO-Crate 1.4-DRAFT
nav_order: 22
---
<!--
Expand Down Expand Up @@ -45,13 +45,13 @@ This appendix shows a brief JSON-LD introduction for complying with the _RO-Crat
The example below shows the overall structure of a flattened, compacted _RO-Crate Metadata Document_ where `@context` refers to the _RO-Crate JSON-LD Context_, while `@graph` is a flat array of the entities that constitute this RO-Crate.

```json
{ "@context": "https://w3id.org/ro/crate/1.3-DRAFT/context",
{ "@context": "https://w3id.org/ro/crate/1.4-DRAFT/context",
"@graph": [

{
"@type": "CreativeWork",
"@id": "ro-crate-metadata.json",
"conformsTo": {"@id": "https://w3id.org/ro/crate/1.3-DRAFT"},
"conformsTo": {"@id": "https://w3id.org/ro/crate/1.4-DRAFT"},
"about": {"@id": "./"},
"description": "RO-Crate Metadata Descriptor (this file)"
},
Expand Down Expand Up @@ -125,24 +125,24 @@ The main purpose of the `@context` is to relate JSON property keys and `@type` r

In other uses of JSON-LD the context may perform more automatic or detailed mapping, but the `RO-Crate JSON-LD context` is deliberately flat, listing every property and type.

To find the full description of a particular property or type, follow its URI from the context. For instance, we can find within the context <https://w3id.org/ro/crate/1.3-DRAFT/context> that `author` above is mapped to <http://schema.org/author>:
To find the full description of a particular property or type, follow its URI from the context. For instance, we can find within the context <https://w3id.org/ro/crate/1.4-DRAFT/context> that `author` above is mapped to <http://schema.org/author>:

```json
"author": "http://schema.org/author",
```

The _RO-Crate JSON-LD Context_ may either be set by reference to <https://w3id.org/ro/crate/1.3-DRAFT/context> or by value (merging the two documents).
The _RO-Crate JSON-LD Context_ may either be set by reference to <https://w3id.org/ro/crate/1.4-DRAFT/context> or by value (merging the two documents).

Consider the below (simplified) example of _by reference_ using a versioned permalink:

```json
{ "@context": "https://w3id.org/ro/crate/1.3-DRAFT/context",
{ "@context": "https://w3id.org/ro/crate/1.4-DRAFT/context",
"@graph": [
{
"@id": "ro-crate-metadata.json",
"@type": "CreativeWork",
"description": "RO-Crate Metadata Descriptor (this file)",
"conformsTo": {"@id": "https://w3id.org/ro/crate/1.3-DRAFT"},
"conformsTo": {"@id": "https://w3id.org/ro/crate/1.4-DRAFT"},
"about": {"@id": "./"}
}
]
Expand All @@ -163,7 +163,7 @@ The above is equivalent to the following JSON-LD using an embedded context, by a
"@id": "ro-crate-metadata.json",
"@type": "CreativeWork",
"description": "RO-Crate Metadata Descriptor (this file)",
"conformsTo": {"@id": "https://w3id.org/ro/crate/1.3-DRAFT"},
"conformsTo": {"@id": "https://w3id.org/ro/crate/1.4-DRAFT"},
"about": {"@id": "./"}
}
]
Expand Down Expand Up @@ -239,7 +239,7 @@ For example. The `@id` URI <http://purl.org/ontology/bibo/interviewee> from the
```json
{
"@context": [
"https://w3id.org/ro/crate/1.3-DRAFT/context",
"https://w3id.org/ro/crate/1.4-DRAFT/context",
{"interviewee": "http://purl.org/ontology/bibo/interviewee"},
],
"@graph": [
Expand Down Expand Up @@ -288,7 +288,7 @@ In both cases, to use an ad-hoc term in an RO-Crate, the URI MUST be included in
```json
{
"@context": [
"https://w3id.org/ro/crate/1.3-DRAFT/context",
"https://w3id.org/ro/crate/1.4-DRAFT/context",
{"education": "https://example.com/some-project/terms#education",
"interests": "https://w3id.org/ro/terms/some-project#interests"},
],
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Handling relative URI references
redirect_from:
- /1.3-DRAFT/appendix/relative-uris
- /1.4-DRAFT/appendix/relative-uris
excerpt: |
In an _Attached RO-Crate Package_, the _RO-Crate Metadata File_ use _relative URI references_
to identify files and directories
Expand All @@ -10,7 +10,7 @@ excerpt: |
relative URI references are also frequently used for
identifying _Contextual entities_.
parent: Appendix
grand_parent: RO-Crate 1.3-DRAFT
grand_parent: RO-Crate 1.4-DRAFT
nav_order: 23
---
<!--
Expand Down Expand Up @@ -214,12 +214,12 @@ Example, this JSON-LD is in [compacted form][compacted] which may be beneficial
```json
{
"@context": [
"https://w3id.org/ro/crate/1.3-DRAFT/context"
"https://w3id.org/ro/crate/1.4-DRAFT/context"
],
"@id": "ro-crate-metadata.json",
"@type": "CreativeWork",
"description": "RO-Crate Metadata Descriptor (this file)",
"conformsTo": {"@id": "https://w3id.org/ro/crate/1.3-DRAFT"},
"conformsTo": {"@id": "https://w3id.org/ro/crate/1.4-DRAFT"},
"about": {
"@id": "./",
"@type": "Dataset",
Expand All @@ -242,21 +242,21 @@ Performing [JSON-LD flattening] with:

```json
{ "@context":
"https://w3id.org/ro/crate/1.3-DRAFT/context"
"https://w3id.org/ro/crate/1.4-DRAFT/context"
}
```

Results in a valid _RO-Crate JSON-LD_ (actual order in `@graph` may differ):

```json
{
"@context": "https://w3id.org/ro/crate/1.3-DRAFT/context",
"@context": "https://w3id.org/ro/crate/1.4-DRAFT/context",
"@graph": [
{
"@id": "ro-crate-metadata.json",
"@type": "CreativeWork",
"conformsTo": {
"@id": "https://w3id.org/ro/crate/1.3-DRAFT"
"@id": "https://w3id.org/ro/crate/1.4-DRAFT"
},
"about": {
"@id": "./"
Expand Down Expand Up @@ -307,15 +307,15 @@ For example, expanding this JSON-LD:
```json
{
"@context": [
"https://w3id.org/ro/crate/1.3-DRAFT/context",
"https://w3id.org/ro/crate/1.4-DRAFT/context",
{"@base": null}
],
"@graph": [
{
"@id": "ro-crate-metadata.json",
"@type": "CreativeWork",
"conformsTo": {
"@id": "https://w3id.org/ro/crate/1.3-DRAFT"
"@id": "https://w3id.org/ro/crate/1.4-DRAFT"
},
"about": {
"@id": "./"
Expand Down Expand Up @@ -356,7 +356,7 @@ Results in a [expanded form][JSON-LD expanded form] without `@context`, using ab
],
"http://purl.org/dc/terms/conformsTo": [
{
"@id": "https://w3id.org/ro/crate/1.3-DRAFT"
"@id": "https://w3id.org/ro/crate/1.4-DRAFT"
}
],
"http://schema.org/description": [
Expand Down Expand Up @@ -474,7 +474,7 @@ WHERE {
}
```

{% include callout.html type="note" content="The query above will find _all_ Root Data Entities in the RDF graph. This is useful when querying RDF triple stores which contain many RO-Crates, but it also means that multiple results could be returned when the query is used on single RO-Crates which contain other [nested or referenced RO-Crates](https://www.researchobject.org/ro-crate/specification/1.3-DRAFT/data-entities.html#referencing-other-ro-crates)." %}
{% include callout.html type="note" content="The query above will find _all_ Root Data Entities in the RDF graph. This is useful when querying RDF triple stores which contain many RO-Crates, but it also means that multiple results could be returned when the query is used on single RO-Crates which contain other [nested or referenced RO-Crates](https://www.researchobject.org/ro-crate/specification/1.4-DRAFT/data-entities.html#referencing-other-ro-crates)." %}


## Parsing as RDF with a different RO-Crate Root
Expand All @@ -495,15 +495,15 @@ If a web-based URI for the _RO-Crate root_ is known, then this can be supplied a
```json
{
"@context": [
"https://w3id.org/ro/crate/1.3-DRAFT/context",
"https://w3id.org/ro/crate/1.4-DRAFT/context",
{"@base": "http://example.com/crate255/"}
],
"@graph": [
{
"@id": "ro-crate-metadata.json",
"@type": "CreativeWork",
"conformsTo": {
"@id": "https://w3id.org/ro/crate/1.3-DRAFT"
"@id": "https://w3id.org/ro/crate/1.4-DRAFT"
},
"about": {
"@id": "./"
Expand Down Expand Up @@ -540,7 +540,7 @@ Parsing this will generate triples like below using `http://example.com/crate255
```turtle
<http://example.com/crate255/ro-crate-metadata.json>
<http://purl.org/dc/terms/conformsTo>
<https://w3id.org/ro/crate/1.3-DRAFT> .
<https://w3id.org/ro/crate/1.4-DRAFT> .

<http://example.com/crate255/ro-crate-metadata.json>
<http://schema.org/about>
Expand Down Expand Up @@ -580,15 +580,15 @@ For instance, given a randomly generated UUID `b7749d0b-0e47-5fc4-999d-f154abe68
```json
{
"@context": [
"https://w3id.org/ro/crate/1.3-DRAFT/context",
"https://w3id.org/ro/crate/1.4-DRAFT/context",
{"@base": "arcp://uuid,b7749d0b-0e47-5fc4-999d-f154abe68065/"}
],
"@graph": [
{
"@id": "ro-crate-metadata.json",
"@type": "CreativeWork",
"conformsTo": {
"@id": "https://w3id.org/ro/crate/1.3-DRAFT"
"@id": "https://w3id.org/ro/crate/1.4-DRAFT"
},
"about": {
"@id": "./"
Expand Down Expand Up @@ -645,13 +645,13 @@ Assuming a repository at `example.com` has JSON-LD with absolute URIs:

```json
{
"@context": "https://w3id.org/ro/crate/1.3-DRAFT",
"@context": "https://w3id.org/ro/crate/1.4-DRAFT",
"@graph": [
{
"@id": "http://example.com/crate415/ro-crate-metadata.json",
"@type": "CreativeWork",
"conformsTo": {
"@id": "https://w3id.org/ro/crate/1.3-DRAFT"
"@id": "https://w3id.org/ro/crate/1.4-DRAFT"
},
"about": {
"@id": "http://example.com/crate415/"
Expand Down Expand Up @@ -680,7 +680,7 @@ Then performing [JSON-LD flattening] with this `@context`:
```json
{ "@context": [
{"@base": "http://example.com/crate415/"},
"https://w3id.org/ro/crate/1.3-DRAFT"
"https://w3id.org/ro/crate/1.4-DRAFT"
]
}
```
Expand All @@ -693,7 +693,7 @@ Will output _RO-Crate JSON-LD_ with relative URIs:
{
"@base": "http://example.com/crate415/"
},
"https://w3id.org/ro/crate/1.3-DRAFT"
"https://w3id.org/ro/crate/1.4-DRAFT"
],
"@graph": [
{
Expand All @@ -714,7 +714,7 @@ Will output _RO-Crate JSON-LD_ with relative URIs:
"@id": "ro-crate-metadata.json",
"@type": "CreativeWork",
"conformsTo": {
"@id": "https://w3id.org/ro/crate/1.3-DRAFT"
"@id": "https://w3id.org/ro/crate/1.4-DRAFT"
},
"about": {
"@id": "./"
Expand Down
Loading
Loading