From 5e11392a86547600733a1ef4792e3b1f8d4b0316 Mon Sep 17 00:00:00 2001 From: simleo Date: Mon, 4 May 2026 12:27:33 +0200 Subject: [PATCH 1/2] converting to detached: metadata descriptor must be ro-crate-metadata.json --- docs/_specification/1.3-DRAFT/appendix/relative-uris.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/_specification/1.3-DRAFT/appendix/relative-uris.md b/docs/_specification/1.3-DRAFT/appendix/relative-uris.md index 8b7f5de5..066b724b 100644 --- a/docs/_specification/1.3-DRAFT/appendix/relative-uris.md +++ b/docs/_specification/1.3-DRAFT/appendix/relative-uris.md @@ -114,7 +114,7 @@ Example output (abbreviated): } ``` -Notice how identifiers like `ro-crate-metadata.json`, `./`, `index.html` and `example/` have been translated to absolute URIs. +Identifiers like `ro-crate-metadata.json`, `./`, `index.html` and `example/` have been translated to absolute URIs. However, even in detached RO-Crates, the [RO-Crate Metadata Descriptor](../root-data-entity#ro-crate-metadata-descriptor) is required to have an `@id` of `ro-crate-metadata.json`, so this needs to be manually changed to the required value. The above JSON-LD processing will also expand any `#`-based local identifiers of contextual entities: @@ -130,7 +130,7 @@ The above JSON-LD processing will also expand any `#`-based local identifiers of } ``` -In this approach, the Detached RO-Crate Package can be resolved to the corresponding Attached RO-Crate Package by following the `@id` of the Root Data Set or the Root Metadata File entity. +In this approach, the Detached RO-Crate Package can be resolved to the corresponding Attached RO-Crate Package by following the `@id` of the Root Data Set. If the new Detached RO-Crate Package is not meant as a snapshot of the corresponding Attached RO-Crate Package, then such contextual entities should be assigned new `@id`, e.g. by generating random UUIDs like `urn:uuid:e47e41d9-f924-4c07-bc90-97e7ed34fe35`. Such tranformations are typically not catered for by traditional JSON-LD tooling and require additional implementation. From 7b96bad0182612a4757087e62aa0e5676b2f7a2d Mon Sep 17 00:00:00 2001 From: simleo Date: Mon, 4 May 2026 12:43:53 +0200 Subject: [PATCH 2/2] converting to detached: add recommendation to provide full URI with contentUrl --- .../1.3-DRAFT/appendix/relative-uris.md | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/docs/_specification/1.3-DRAFT/appendix/relative-uris.md b/docs/_specification/1.3-DRAFT/appendix/relative-uris.md index 066b724b..c5573192 100644 --- a/docs/_specification/1.3-DRAFT/appendix/relative-uris.md +++ b/docs/_specification/1.3-DRAFT/appendix/relative-uris.md @@ -114,7 +114,28 @@ Example output (abbreviated): } ``` -Identifiers like `ro-crate-metadata.json`, `./`, `index.html` and `example/` have been translated to absolute URIs. However, even in detached RO-Crates, the [RO-Crate Metadata Descriptor](../root-data-entity#ro-crate-metadata-descriptor) is required to have an `@id` of `ro-crate-metadata.json`, so this needs to be manually changed to the required value. +Identifiers like `ro-crate-metadata.json`, `./`, `index.html` and `example/` have been translated to absolute URIs. However, even in detached RO-Crates, the [RO-Crate Metadata Descriptor](../root-data-entity#ro-crate-metadata-descriptor) is required to have an `@id` of `ro-crate-metadata.json`, so this needs to be manually changed to the required value. The full URI can be provided by adding a `contentUrl` that points to it: + + +```json +{ + "@context": [ + {"@base": "arcp://uuid,d6be5c9b-132a-4a93-9837-3e02e06c08e6/"}, + "https://w3id.org/ro/crate/1.1/context" + ], + "@graph": [ + { + "@id": "ro-crate-metadata.json", + "@type": "CreativeWork", + "conformsTo": {"@id": "https://w3id.org/ro/crate/1.1"}, + "about": {"@id": "https://about.workflowhub.eu/Workflow-RO-Crate/1.0/"}, + "contentUrl": "https://about.workflowhub.eu/Workflow-RO-Crate/1.0/ro-crate-metadata.json", + "creator": {"@id": "https://orcid.org/0000-0001-9842-9718"} + }, + ... + ] +} +``` The above JSON-LD processing will also expand any `#`-based local identifiers of contextual entities: