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
59 changes: 41 additions & 18 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,54 @@

Crosswalks are developed in
[the main CodeMeta repository](https://github.com/codemeta/codemeta) and are
periodically synchronised into the website.
periodically synchronised into the website. A markdown file is
automatically generated on the website for each Crosswalk when the `Makefile`
is run during deployment.

A markdown file must be created on this website before that synchronised
Crosswalk data is displayed. Refer to existing files for examples of the
format. The file must contain the following frontmatter fields:
[!WARNING] Do *not* manually create these markdown files. They will be
overwritten or duplicated.

- `title` in the format `Crosswalk for <target>` where `<target>` is the name
of the system the Crosswalk maps to. It can include spaces and symbols.
- `image` in the format `/img/<filename>` where `<filename>` is the name of
the logo filename, including extension. This file must be added to the
`/static/img/` directory. Do *not* use the source path.
By default, the generated markdown files are very basic and variations may
be desired. To allow for custom information, overrides can be defined in
`/data/crosswalk_pages.json`. Many Crosswalks have already been enhanced.

The content after the frontmatter should include a short description of the
target system. A link to the system or its metadata documentation should be
included in this description.

The following code required on the last line of the file, where
`<source filename>` is the filename of
[the Crosswalk source file in the main repository](https://github.com/codemeta/codemeta.github.io/tree/master/content/crosswalk),
including spaces and symbols, but _without_ the extension:
A complete set of the override fields would look like this:

```
{{% crosswalk name="<source filename>" %}}
{
"stem":"My Crosswalk",
"name":"My Crosswalk metadata",
"short":"mycrosswalk",
"desc":"My Crosswalk metadata is very cool. [This field can have markdown](https://codemeta.github.io).",
"foot":"See crosswalk for [My Other Crosswalk](https://codemeta.github.io).",
"img":"codemeta.png",
"date":"2026-07-04"
},
```

[!NOTE] Remember to escape `"` if used.

- `stem` _(required)_ must be *exactly* what the vocabulary's header is
[in its crosswalk .csv](https://github.com/codemeta/codemeta/blob/master/crosswalks).
It is the only individually required field, but there is no point to adding it if
no other fields are populated.
- `name` is the full name of the crosswalk, if it is longer than in the header,
- `short` is a short name for the crosswalk for a cleaner or shorter url,
- `desc` is a more verbose description than the default provided by the script,
- `foot` is an extension of the description that appears after the crosswalk table,
- `img` is the filename and extension of the image. If it is not already in *this*
repository, you will need to include it in your Pull Request that adds it to this JSON.
Image files go in `static/img`,
- `date` is the date that the vocabulary's crosswalk was added to CodeMeta.

Page generation can be triggered by running `python3 scripts/crosswalk_to_pages`.

If you add or change a `short` override, your local copy may retain the previously named
file in the directory. Rebuilding with `--cleanDestinationDir` may fix this.

Any issues with the automatic generation of the markdown files should be raised against this
repository.

Any other issues, requests, or contributions for the content of Crosswalks
should go to the main repository.

Expand Down
2 changes: 2 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@ data/crosswalk.csv:
wget https://github.com/codemeta/codemeta/raw/master/crosswalk.csv -O data/crosswalk.csv

# Convert crosswalk.csv to crosswalk.json so Hugo can parse it
# Additionally generate the individual crosswalk pages that will desplay the json.
data/crosswalk.json: scripts/crosswalk_to_json.py data/crosswalk.csv
python3 scripts/crosswalk_to_json.py
python3 scripts/crosswalk_to_pages.py

# properties_description.csv file was only split off from crosswalks.csv starting with
# v2.1, so we can't download v2.0 itself. There were no major changes between the two,
Expand Down
9 changes: 0 additions & 9 deletions content/crosswalk/R.md

This file was deleted.

47 changes: 30 additions & 17 deletions content/crosswalk/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,33 +3,46 @@ title: "Crosswalks"
layout: list
---

## What are they?

CodeMeta Crosswalks provide an explicit map between the fields of existing
metadata standards, as used by a broad range of software repositories,
registries, and archives. When mapped by a Crosswalk, CodeMeta's terms act as
a common set of properties, providing a pathway for metadata to be translated
between standards.
metadata standards. These other standards are used by software repositories,
registries, archives, and more.

Once mapped by a Crosswalk, CodeMeta's terms act as a common set of properties,
providing a way for metadata to be translated between standards. The
[user guide](/user-guide) explains some key concepts to help with understanding
the CodeMeta metadata.

Crosswalks are not required to have a one-to-one mapping for every field.
Because Crosswalks only map fields common between a standard and CodeMeta, the
subset of common fields may differ a lot between Crosswalks. The diagram below
demonstrates how CodeMeta maps between standards when there are differences.
Crosswalks do not need a one-to-one mapping for every field. Because Crosswalks
only map fields common between a standard and CodeMeta, the subset of common
fields may differ a lot between Crosswalks. The diagram below shows how CodeMeta
maps between standards when there are differences.

![Diagram of CodeMeta mapping between two metadata standards. It shows a common term, terms unique to each standard, and terms common to only CodeMeta and each standard.](/img/crosswalkdiagram.svg)

### Contribute!
## How to use Crosswalks

By comparing Vocabulary A to CodeMeta and comparing CodeMeta to Vocabulary
B, you are able to see if there is a term equivalent, and what it is.

If manual conversion is not what you want, there are also [tools](/tools) to
convert between some formats, or to create a `codemeta.json` file.

### How to contribute?

To contribute a new Crosswalk mapping, refer to the
[CodeMeta repository contribution guide](https://github.com/codemeta/codemeta?tab=contributing-ov-file#contributing-a-new-mapping).
Suggest changes in the [CodeMeta issues tracker](https://github.com/codemeta/codemeta/issues).

CodeMeta encourages submissions of additional vocabularies. Refer to the
[CodeMeta repository contribution guide](https://github.com/codemeta/codemeta?tab=contributing-ov-file#contributing-a-new-mapping)
to submit a new Crosswalks.

Crosswalks are not automatically listed on this website.
[The guide for contributing to this website](https://github.com/codemeta/codemeta.github.io?tab=contributing-ov-file#adding-new-crosswalks)
explains how to set that up.
Improve other information about a Crosswalk in the directory below by
[reporting an issue](https://github.com/codemeta/codemeta.github.io/issues)
or [by submitting a change](https://github.com/codemeta/codemeta.github.io?tab=contributing-ov-file#adding-new-crosswalks).

Please feel welcome to propose corrections or extensions in the [CodeMeta issues tracker](https://github.com/codemeta/codemeta/issues).

## Crosswalk directory

This directory contains many of the available Crosswalks. The full Crosswalk table is
the full Crosswalk table is
[available as a `.csv`](https://github.com/codemeta/codemeta/tree/master/crosswalk.csv)
file in the CodeMeta repository.
13 changes: 0 additions & 13 deletions content/crosswalk/cargo.md

This file was deleted.

9 changes: 0 additions & 9 deletions content/crosswalk/datacite.md

This file was deleted.

15 changes: 0 additions & 15 deletions content/crosswalk/dcat-2.md

This file was deleted.

15 changes: 0 additions & 15 deletions content/crosswalk/dcat-3.md

This file was deleted.

9 changes: 0 additions & 9 deletions content/crosswalk/debian.md

This file was deleted.

9 changes: 0 additions & 9 deletions content/crosswalk/doap.md

This file was deleted.

8 changes: 0 additions & 8 deletions content/crosswalk/dublincore.md

This file was deleted.

8 changes: 0 additions & 8 deletions content/crosswalk/figshare.md

This file was deleted.

11 changes: 0 additions & 11 deletions content/crosswalk/github.md

This file was deleted.

9 changes: 0 additions & 9 deletions content/crosswalk/java.md

This file was deleted.

11 changes: 0 additions & 11 deletions content/crosswalk/node.md

This file was deleted.

9 changes: 0 additions & 9 deletions content/crosswalk/publiccode.md

This file was deleted.

9 changes: 0 additions & 9 deletions content/crosswalk/python.md

This file was deleted.

9 changes: 0 additions & 9 deletions content/crosswalk/ruby.md

This file was deleted.

22 changes: 0 additions & 22 deletions content/crosswalk/spdx-2-3.md

This file was deleted.

11 changes: 0 additions & 11 deletions content/crosswalk/swo.md

This file was deleted.

8 changes: 0 additions & 8 deletions content/crosswalk/trove.md

This file was deleted.

12 changes: 0 additions & 12 deletions content/crosswalk/wikidata.md

This file was deleted.

8 changes: 0 additions & 8 deletions content/crosswalk/zenodo.md

This file was deleted.

Loading
Loading