Categorygithub.com/front-matter/commonmeta
modulepackage
0.6.27
Repository: https://github.com/front-matter/commonmeta.git
Documentation: pkg.go.dev

# README

License: MIT Go Reference Go Report Card

commonmeta

commonmeta is a Go library to implement Commonmeta, the common Metadata Model for Scholarly Metadata. Use commonmeta to convert scholarly metadata, in a variety of formats, listed below. Commonmeta is work in progress, the first release was on April 19, 2024. Implementations in other languages are also available (Ruby, Python).

commonmeta uses semantic versioning. Currently, its major version number is still at 0, meaning the API is not yet stable, and breaking changes are expected in the internal API and commonmeta JSON format.

Supported Metadata Formats

Commonmeta reads and/or writes these metadata formats:

FormatNameContent TypeReadWrite
Commonmetacommonmetaapplication/vnd.commonmeta+jsonyesyes
CrossRef XMLcrossrefxmlapplication/vnd.crossref.unixref+xmlyesyes
Crossrefcrossrefapplication/vnd.crossref+jsonyesn/a
DataCitedataciteapplication/vnd.datacite.datacite+jsonyesyes
Schema.org (in JSON-LD)schemaorgapplication/vnd.schemaorg.ld+jsonlateryes
RDF XMLrdfapplication/rdf+xmlnolater
RDF Turtleturtletext/turtlenolater
CSL-JSONcslapplication/vnd.citationstyles.csl+jsonyesyes
Formatted text citationcitationtext/x-bibliographyn/ayes
Codemetacodemetaapplication/vnd.codemeta.ld+jsonlaterlater
Citation File Format (CFF)cffapplication/vnd.cff+yamllaterlater
JATSjatsapplication/vnd.jats+xmllaterlater
CSVcsvtext/csvnolater
BibTexbibtexapplication/x-bibtexlaterlater
RISrisapplication/x-research-info-systemslaterlater
InvenioRDMinveniordmapplication/vnd.inveniordm.v1+jsonyesyes
JSON Feedjsonfeedapplication/feed+jsonyeslater

commonmeta: the Commonmeta format is the native format for the library and used internally. Planned: we plan to implement this format for the v1.0 public release.
Later: we plan to implement this format in a later release.

Installation

Commonmeta is a single Go binary, available for download from the releases page. Download the binary for your platform (Linux, Mac, Windows; X86 or ARM architecture), and place it in your PATH.

Homebrew

To install commonmeta on macOS using Homebrew, run:

brew tap front-matter/commonmeta
brew install commonmeta

Go

To install commonmeta using Go, run:

go install github.com/front-matter/commonmeta@latest

Meta

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

License: MIT

# Packages

Package authorutils provides utility functions to work with authors.
No description provided by the author
Package cff provides a function to read CFF and convert it to commonmeta.
Copyright © 2024 Front Matter <[email protected]> */.
Package codemeta provides a function to read Codemeta metadata and convert it to commonmeta.
Package commonmeta provides functions to read and write commonmeta metadata.
No description provided by the author
Package crossref provides function to convert Crossref metadata to/from the commonmeta metadata format.
Package crossrefxml provides function to convert Crossref XML metadata to/from the commonmeta metadata format.
Package csl converts citation-style language (CSL) metadata to/from the commonmeta metadata format.
No description provided by the author
Package datacite provides function to convert DataCite metadata to/from the commonmeta metadata format.
Package dateutils provides functions to work with dates.
Package doiutils provides a set of functions to work with DOIs.
No description provided by the author
Package inveniordm provides functions to convert InvenioRDM metadata to/from the commonmeta metadata format.
Package jsonfeed converts JSON Feed metadata to/from the commonmeta metadata format.
No description provided by the author
No description provided by the author
Package schemaorg converts Schema.org metadata to/from the commonmeta metadata format.
Package schemautils provides functions to validate JSON documents against JSON Schema files.
Package utils provides utility functions for commonmeta.