Skip to content

Commit e444e4f

Browse files
authored
Merge pull request #447 from ResearchObject/fix/issue-446-cosmeticfixes-12-RC1
applying some cosmetics to 1.2-RC1
2 parents d819c3e + bf0e362 commit e444e4f

41 files changed

Lines changed: 49 additions & 53079 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Makefile

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -86,19 +86,19 @@ release/:
8686

8787
release/ro-crate-${TAG}.md: dependencies release/ docs/_specification/${RELEASE}/_metadata.liquid docs/_specification/${RELEASE}/.references.md docs/_specification/${RELEASE}/*.md docs/_specification/${RELEASE}/appendix/*.md docs/_includes/references.liquid
8888
cp docs/_specification/${RELEASE}/_metadata.liquid docs/_specification/${RELEASE}/.metadata.md
89-
pandoc --from=markdown+gfm_auto_identifiers --to=markdown+gfm_auto_identifiers \
89+
pandoc --wrap=none --from=markdown+gfm_auto_identifiers --to=markdown+gfm_auto_identifiers \
9090
docs/_specification/${RELEASE}/.metadata.md \
9191
`grep ^nav_order: docs/_specification/${RELEASE}/*.md | sort -n -k 2 | grep -v index.md| grep -v about.md | sed s/:.*//` \
9292
`grep ^nav_order: docs/_specification/${RELEASE}/appendix/*.md | sort -n -k 2 | sed s/:.*//` \
9393
docs/_includes/references.liquid docs/_specification/${RELEASE}/.references.md \
9494
> release/ro-crate-${TAG}.md
9595
# Our own rendering of Note/Warning/Tip
9696
sed -i -E 's/\{% include callout.html //g' release/ro-crate-${TAG}.md
97-
sed -i -E 's/\" %}//g' release/ro-crate-${TAG}.md
98-
sed -i -E 's/type=\"note\" content=\"/**Note**: /g' release/ro-crate-${TAG}.md
99-
sed -i -E 's/type=\"warning\" content=\"/**Warning** :/g' release/ro-crate-${TAG}.md
100-
sed -i -E 's/type=\"tip\" content=\"/**Tip**: /g' release/ro-crate-${TAG}.md
101-
sed -i -E 's/type=\"important\" content=\"/**Important**: /g' release/ro-crate-${TAG}.md
97+
sed -i -E "s/[\"'] ?\n?%}//g" release/ro-crate-${TAG}.md # note that this assumes the closing string-quote to be followed by «space»%} on the same line !
98+
sed -i -E "s/type=[\"']note[\"'] content=[\"']/**Note**: /g" release/ro-crate-${TAG}.md
99+
sed -i -E "s/type=[\"']warning[\"'] content=[\"']/**Warning** :/g" release/ro-crate-${TAG}.md
100+
sed -i -E "s/type=[\"']tip[\"'] content=[\"']/**Tip**: /g" release/ro-crate-${TAG}.md
101+
sed -i -E "s/type=[\"']important[\"'] content=[\"']/**Important**: /g" release/ro-crate-${TAG}.md
102102
# remove any remaining lines beginning with {%
103103
sed -i -E 's/\{%.*//g' release/ro-crate-${TAG}.md
104104
# Skip intermediate table-of-contents

docs/_data/sidebars/spec.yml

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -33,42 +33,42 @@ versions:
3333
url: /specification/1.1/appendix/implementation-notes.html
3434
- title: RO-Crate JSON-LD
3535
url: /specification/1.1/appendix/jsonld.html
36-
- title: RO-Crate 1.2 RC1 (release candidate)
37-
url: /specification/1.2-RC1/index.html
36+
- title: RO-Crate 1.2
37+
url: /specification/1.2/index.html
3838
subitems:
3939
- title: Introduction
40-
url: /specification/1.2-RC1/introduction.html
40+
url: /specification/1.2/introduction.html
4141
- title: Terminology
42-
url: /specification/1.2-RC1/terminology.html
42+
url: /specification/1.2/terminology.html
4343
- title: RO-Crate Structure
44-
url: /specification/1.2-RC1/structure.html
44+
url: /specification/1.2/structure.html
4545
- title: Metadata of the RO-Crate
46-
url: /specification/1.2-RC1/metadata.html
46+
url: /specification/1.2/metadata.html
4747
- title: Root Data Entity
48-
url: /specification/1.2-RC1/root-data-entity.html
48+
url: /specification/1.2/root-data-entity.html
4949
- title: Data Entities
50-
url: /specification/1.2-RC1/data-entities.html
50+
url: /specification/1.2/data-entities.html
5151
- title: Contextual Entities
52-
url: /specification/1.2-RC1/contextual-entities.html
52+
url: /specification/1.2/contextual-entities.html
5353
- title: The focus of an RO-Crate
54-
url: /specification/1.2-RC1/crate-focus.html
54+
url: /specification/1.2/crate-focus.html
5555
- title: Provenance of entities
56-
url: /specification/1.2-RC1/provenance.html
56+
url: /specification/1.2/provenance.html
5757
- title: Profiles
58-
url: /specification/1.2-RC1/profiles.html
58+
url: /specification/1.2/profiles.html
5959
- title: Workflows and scripts
60-
url: /specification/1.2-RC1/workflows.html
60+
url: /specification/1.2/workflows.html
6161
- title: Appendix
62-
url: /specification/1.2-RC1/appendix/index.html
62+
url: /specification/1.2/appendix/index.html
6363
subitems:
6464
- title: Changelog
65-
url: /specification/1.2-RC1/appendix/changelog.html
65+
url: /specification/1.2/appendix/changelog.html
6666
- title: Handling relative URI references
67-
url: /specification/1.2-RC1/appendix/relative-uris.html
67+
url: /specification/1.2/appendix/relative-uris.html
6868
- title: Implementation notes
69-
url: /specification/1.2-RC1/appendix/implementation-notes.html
69+
url: /specification/1.2/appendix/implementation-notes.html
7070
- title: RO-Crate JSON-LD
71-
url: /specification/1.2-RC1/appendix/jsonld.html
71+
url: /specification/1.2/appendix/jsonld.html
7272
- title: RO-Crate 1.2-DRAFT (draft for next release)
7373
url: /specification/1.2-DRAFT/index.html
7474
subitems:

docs/_specification/1.2-DRAFT/appendix/implementation-notes.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ nav_order: 21
3737

3838
When implementing tools to work with RO-Crate it is not necessary to use JSON-LD software libraries, however, programmers should keep in mind the following:
3939

40-
- **_RO-Crate JSON-lD_ has a flat structure**; every entity is a JSON object directly within the `@graph` array in the _RO-Crate Metadata Document_. A useful strategy when processing a crate is to build a look-up table and/or function so that entities can be found via their ID, for example provide a method such as `getEntity(id)` which returns an entity by its id or a `null` value if it's not there.
40+
- **_RO-Crate JSON-LD_ has a flat structure**; every entity is a JSON object directly within the `@graph` array in the _RO-Crate Metadata Document_. A useful strategy when processing a crate is to build a look-up table and/or function so that entities can be found via their ID, for example provide a method such as `getEntity(id)` which returns an entity by its id or a `null` value if it's not there.
4141

4242
- **Code defensively**. Code should not assume that values will always be a String; values for properties may be single scalar values such as strings or integers (`"2"` or 2), or references to other entities such as `{"@id", "_:1"}` (where the referenced entity may or may not be described in the crate, see the point above about having a `getEntity()` method).
4343

@@ -135,9 +135,9 @@ b0556450…8802 bag-info.txt
135135
000b27e3…c52e manifest-sha512.txt
136136
```
137137

138-
{% include callout.html type="warning" content='The BagIt manifest is intended to detect "bit rot" and accidental damage,
139-
it does not provide proof the RO-Crate has not been deliberately
140-
tampered with, as a malicious actor can also update the checksums.' %}
138+
{% include callout.html type="warning" content="The BagIt manifest is intended to detect \"bit rot\" and accidental damage,
139+
it does not provide proof the RO-Crate has not been deliberately tampered with, as a malicious actor can also update the checksums."
140+
%}
141141

142142
Guarding against such scenarious would require additional cryptographic
143143
measures, e.g.

docs/_specification/1.2-DRAFT/appendix/relative-uris.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,11 +135,13 @@ Converting a Detached Crate to an Attached Crate can mean multiple things depend
135135
First, check if the Root Data Entity already have a [distribution download](../data-entities#directories-on-the-web-dataset-distributions) listed, in which case that can be retrieved as the corresponding Attached Crate.
136136

137137
To archive a snapshot of an Detached Crate's metadata, keeping all data entities [web-based](../data-entities#web-based-data-entities):
138-
* Crate a new folder as the _RO-Crate Root_, save the _RO-Crate Metadata Document_ as the _RO-Crate Metadata File_ according to [Attached RO-Crate Package](../structure#attached-ro-crate-package) structure
138+
139+
* Create a new folder as the _RO-Crate Root_, save the _RO-Crate Metadata Document_ as the _RO-Crate Metadata File_ according to [Attached RO-Crate Package](../structure#attached-ro-crate-package) structure
139140
* Copy the absolute `@id` to become an `identifier` according to recommendations for [Root Data Entity identifier](../root-data-entity#root-data-entity-identifier)
140141
* Optional: Change the `@id` of the Root Data Entity to `./` and update all references to it, including from the [Metadata Descriptor](../root-data-entity#ro-crate-metadata-descriptor)
141142

142143
If the new Attached Crate is intended as a _fork_ that will evolve independently of the Detached Crate, then:
144+
143145
* Delete the `identifier`, add the previous `@id` as `isBasedOn`
144146
* Delete/update `datePublished` and `publisher`
145147
* Add yourself as `author` or `contributor` to the Root Data Entity
@@ -444,7 +446,7 @@ WHERE {
444446
}
445447
```
446448

447-
{% 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.2-DRAFT/data-entities.html#referencing-other-ro-crates).' %}
449+
{% 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.2-DRAFT/data-entities.html#referencing-other-ro-crates)." %}
448450

449451

450452
## Parsing as RDF with a different RO-Crate Root

docs/_specification/1.2-DRAFT/contextual-entities.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -505,9 +505,9 @@ This example shows how to define a place, using a [geonames] ID:
505505
}
506506
```
507507

508-
{% include callout.html type="tip" content='To find the `@id` and `identifier` corresponding to a GeoNames HTML page like <https://www.geonames.org/8152662/catalina-park.html>, click its `.rdf` button to download the RDF metadata (<https://sws.geonames.org/8152662/about.rdf>). In the RDF metadata, find the line that looks like the following:
509-
`<gn:Feature rdf:about="http://sws.geonames.org/8152662/">`. The part in the quotes is the identifier (in this case, <http://sws.geonames.org/8152662/>) .
510-
' %}
508+
{% include callout.html type="tip" content="To find the `@id` and `identifier` corresponding to a GeoNames HTML page like <https://www.geonames.org/8152662/catalina-park.html>, click its `.rdf` button to download the RDF metadata (<https://sws.geonames.org/8152662/about.rdf>). In the RDF metadata, find the line that looks like the following:
509+
`<gn:Feature rdf:about=\"http://sws.geonames.org/8152662/\">`. The part in the quotes is the identifier (in this case, <http://sws.geonames.org/8152662/>)."
510+
%}
511511

512512
{% include callout.html type="tip" content="Note the use of a JSON-LD [blank node](https://www.w3.org/TR/rdf11-concepts/#dfn-blank-node) identifier here (starting with `_:`) - this indicates to an RO-Crate presentation application that the entity does not stand in its own right, and may be displayed inline (in this case as a map)." %}
513513

docs/_specification/1.2-DRAFT/crate-focus.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ For example, RO-Crates can be used as containers for Schema.org-style vocabulari
151151

152152

153153
The following example shows how both `mainEntity` and `mentions` can be used together, in this case to describe a workflow with a test suite:
154+
154155
* the `mainEntity` is the workflow file, a _Data Entity_
155156
* the test suite `#test1` is a _Contextual Entity_ highlighted using `mentions`.
156157

docs/_specification/1.2-DRAFT/data-entities.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ The primary purpose for RO-Crate is to gather and describe a set of _Data Entiti
3838
* Folders (or directories) of files -- represented using the type `Dataset`.
3939

4040
An entity which has `File` or `Dataset` as one of its `@type` values:
41+
4142
* Is considered to be a _Data Entity_ if its `@id` is an absolute URI or a relative URI.
4243
* MAY have an `@id` which is a local identifier beginning with a `#`, in which case it is **not** considered to be a `Data Entity`.
4344

@@ -50,6 +51,7 @@ The Data Entities can be further described by referencing [contextual entities](
5051
Where files and folders are represented as _Data Entities_ in the RO-Crate JSON-LD, these MUST be linked to, either directly or indirectly, from the [Root Data Entity](root-data-entity) using the [hasPart] property. Directory hierarchies MAY be represented with nested [Dataset] _Data Entities_, or the Root Data Entity MAY refer to files anywhere in the hierarchy using [hasPart].
5152

5253
_Data Entities_ representing files MUST have `"File"` as a value for `@type`. `File` is an RO-Crate alias for <http://schema.org/MediaObject>. The term _File_ includes:
54+
5355
- Resources which are available locally (applicable only in the context of _Attached RO-Crate Packages_) and
5456
- [Web-based Data Entities](#web-based-data-entities) which can be downloaded and saved as a file.
5557

@@ -178,7 +180,7 @@ RO-Crate's `File` is an alias for schema.org type [MediaObject], any of its prop
178180

179181
A `File` entity MAY have an `@id` that is a local identifier beginning with `#`, in which case it is **not** considered to be a Data Entity, though it MAY still be linked to the _Root Data Entity_ via [hasPart]. This is useful for describing physical files which are deliberately not present, for example if they are expected to be created by running a process. In this case, the `localPath` property SHOULD be used to indicate that a `File` could be found at that path in some circumstances.
180182

181-
{% include callout.html type="note" content='It is up to implementers to decide whether to offer some form of URL "link checker" service for [Web-based Data Entities](#web-based-data-entities) for both attached and detached RO-Crate Packages. If `contentUrl` has more than one value, then a checker service SHOULD try each provided value until one resolves and returns a correct [contentSize].' %}
183+
{% include callout.html type="note" content="It is up to implementers to decide whether to offer some form of URL \"link checker\" service for [Web-based Data Entities](#web-based-data-entities) for both attached and detached RO-Crate Packages. If `contentUrl` has more than one value, then a checker service SHOULD try each provided value until one resolves and returns a correct [contentSize]." %}
182184

183185

184186

@@ -315,7 +317,8 @@ Web-based entities MAY use the property [localPath] to indicate a path that can
315317

316318

317319

318-
{% include callout.html type="note" content="Do not use web-based URI identifiers for files which _are_ present in the crate root, see [below](#data-entities-in-an-attached-ro-crate-that-are-also-on-the-web)." %}
320+
{% include callout.html type="note" content="Do not use web-based URI identifiers for files which _are_ present in the crate root, see [below](#data-entities-in-an-attached-ro-crate-that-are-also-on-the-web)."
321+
%}
319322

320323
### Data entities in an _Attached RO-Crate_ that are also on the web
321324

@@ -379,7 +382,8 @@ Similarly, the _RO-Crate Root_ entity (or a reference to another RO-Crate as a `
379382
{
380383
"@id": "./",
381384
"@type": "Dataset",
382-
"identifier": "https://doi.org/10.48546/workflowhub.workflow.775.1",
385+
"identifier": {"@id": "https://doi.org/10.48546/workflowhub.workflow.775.1"},
386+
"cite-as": "https://doi.org/10.48546/workflowhub.workflow.775.1",
383387
"name": "Research Object Crate for Jupyter Notebook Molecular Structure Checking",
384388
"distribution": {"@id": "https://workflowhub.eu/workflows/775/ro_crate?version=1"},
385389
"…": ""

docs/_specification/1.2-DRAFT/metadata.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@ From [Dublin Core Terms](http://purl.org/dc/terms/) RO-Crate uses:
130130
- `Standard` mapped to <http://purl.org/dc/terms/Standard>
131131

132132
From the [IANA link relations] registry:
133+
133134
- `cite-as` mapped to <http://www.iana.org/assignments/relation/cite-as> (defined by [RFC8574])
134135

135136
These terms are being proposed by [Bioschemas profile ComputationalWorkflow 1.0-RELEASE][ComputationalWorkflow profile 1.0] and [FormalParameter 1.0-RELEASE][FormalParameter profile 1.0] to be integrated into Schema.org:

docs/_specification/1.2-DRAFT/root-data-entity.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,13 +148,15 @@ The _Root Data Entity_'s `@id` SHOULD be either `./` (indicating the directory o
148148

149149
{% include callout.html type="note" content="RO-Crates that have been assigned a _persistent identifier_ (e.g. a DOI) MAY indicate this using [identifier] on the _Root Data Entity_ using the approach set out in the [Science On Schema.org guides], that is through a `PropertyValue` or MAY use a full persistent URL as the `@id` for the _Root Data Entity_." %}
150150

151-
{% include callout.html type="note" content="RO-Crate 1.1 and earlier recommended `identifier` to be plain string URIs. Clients SHOULD be permissive of an RO-Crate `identifier` being a string (which MAY be a URI), or a `@id` reference, which SHOULD be represented as a `PropertyValue` entity which MUST have a human readable `value`, and SHOULD have a `url` if the identifier is Web-resolvable. A citable representation of this persistent identifier MAY be given as a `description` of the `PropertyValue`, but as there are more than 10.000 known [citation styles], no attempt should be made to parse this string."%}
151+
{% include callout.html type="note" content="RO-Crate 1.1 and earlier recommended `identifier` to be plain string URIs. Clients SHOULD be permissive of an RO-Crate `identifier` being a string (which MAY be a URI), or a `@id` reference, which SHOULD be represented as a `PropertyValue` entity which MUST have a human readable `value`, and SHOULD have a `url` if the identifier is Web-resolvable. A citable representation of this persistent identifier MAY be given as a `description` of the `PropertyValue`, but as there are more than 10.000 known [citation styles], no attempt should be made to parse this string."
152+
%}
152153

153154
#### Resolvable persistent identifiers and citation text
154155

155156
It is RECOMMENDED that resolving the `identifier` programmatically returns the _RO-Crate Metadata Document_ or an archive (e.g. ZIP) that contains the _RO-Crate Metadata File_, using [content negotiation](data-entities#retrieving-an-ro-crate) and/or [Signposting]. With an RO-Crate identifier that is persistent and resolvable in this way from a URI, the _Root Data Entity_ SHOULD indicate this using the `cite-as` property according to [RFC8574]. Likewise, an HTTP/HTTPS server of the resolved RO-Crate Metadata Document or archive (possibly after redirection) SHOULD indicate that persistent identifier in its [Signposting] headers using `Link rel="cite-as"`.
156157

157-
{% include callout.html type="tip" content='The above `cite-as` MAY go to a repository landing page, and MAY require authentication, but MUST ultimately have the RO-Crate as a downloadable item, which SHOULD be programmatically accessible through content negotiation or [Signposting] (`Link rel="describedby"` for an _RO-Crate Metadata Document_, or `Link rel="item"` for an archive). To rather associate a textual scholarly citation for a crate (e.g. journal article), indicate instead a [publication via `citation` property](contextual-entities#publications-via-citation-property).' %}
158+
{% include callout.html type="tip" content="The above `cite-as` MAY go to a repository landing page, and MAY require authentication, but MUST ultimately have the RO-Crate as a downloadable item, which SHOULD be programmatically accessible through content negotiation or [Signposting] (`Link rel=\"describedby\"` for an _RO-Crate Metadata Document_, or `Link rel=\"item\"` for an archive). To rather associate a textual scholarly citation for a crate (e.g. journal article), indicate instead a [publication via `citation` property](contextual-entities#publications-via-citation-property)."
159+
%}
158160

159161
Any entity which is a subclass of [CreativeWork], including [Dataset]s like the _Root Data Entity_, MAY have a `creditText` property which provides a textual citation for the entity.
160162

docs/_specification/1.2-DRAFT/structure.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ When processing an _Attached RO-Crate Package_ the _RO-Crate Metadata Document_
9090

9191

9292
An _Attached RO-Crate Package_ can be stored and published in multiple ways depending on its use:
93+
9394
* On a typical hierarchical _file system_ (e.g. `/files/shared/crates/my-crate-01/`)
9495
* Exposed as a _Web resource_ within a folder structure (e.g. <https://www.researchobject.org/2021-packaging-research-artefacts-with-ro-crate/>)
9596
* [_Packaged_](appendix/implementation-notes#combining-with-other-packaging-schemes) within a ZIP file, [BagIt] archive or [OCFL] structure

0 commit comments

Comments
 (0)