ror

package
v0.17.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 8, 2025 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

Package ror converts ROR (Research Organization Registry) metadata.

Index

Constants

This section is empty.

Variables

View Source
var RORVersions = map[string]string{
	"v1.50": "2024-07-29",
	"v1.51": "2024-08-21",
	"v1.52": "2024-09-16",
	"v1.53": "2023-10-14",
	"v1.54": "2024-10-21",
	"v1.55": "2024-10-31",
	"v1.56": "2024-11-19",
	"v1.58": "2024-12-11",
	"v1.59": "2025-01-23",
	"v1.60": "2025-02-27",
	"v1.61": "2025-03-18",
	"v1.62": "2025-03-27",
	"v1.63": "2025-04-03",
}

RORVersions contains the ROR versions and their release dates, published on Zenodo. The ROR version is the first part of the filename, e.g., v1.63-2025-04-03-ror-data_schema_v2.json Beginning with release v1.45 on 11 April 2024, data releases contain JSON and CSV files formatted according to both schema v1 and schema v2. Version 2 files have _schema_v2 appended to the end of the filename, e.g., v1.45-2024-04-11-ror-data_schema_v2.json.

Functions

func ExtractAll added in v0.17.1

func ExtractAll(content []commonmeta.Data) ([]byte, error)

ExtractAll extracts ROR metadata from a JSON file in commonmeta format.

func LoadBuiltin added in v0.17.5

func LoadBuiltin() ([]byte, error)

LoadBuiltin loads the embedded ROR metadata from the ZIP file with all ROR records.

func Write

func Write(data ROR, type_ string) ([]byte, error)

Write writes ROR metadata to InvenioRDM YAML format.

func WriteAll

func WriteAll(list []ROR, to string, type_ string) ([]byte, error)

WriteAll writes a list of ROR metadata in InvenioRDM YAML format.

Types

type Content

type Content struct {
	*ROR
	Established   int            `json:"established"`
	ExternalIDs   []ExternalID   `json:"external_ids"`
	Links         []Link         `json:"links"`
	Relationships []Relationship `json:"relationships"`
	Types         []string       `json:"types"`
	Status        string         `json:"status"`
}

Content represents the full ROR metadata record.

type ExternalID

type ExternalID struct {
	Type      string   `json:"type"`
	All       []string `json:"all"`
	Preferred string   `json:"preferred"`
}

type GeonamesDetails

type GeonamesDetails struct {
	ContinentCode          string  `json:"continent_code"`
	ContinentName          string  `json:"continent_name"`
	CountryCode            string  `json:"country_code"`
	CountryName            string  `json:"country_name"`
	CountrySubdivisionCode string  `json:"country_subdivision_code"`
	CountrySubdivisionName string  `json:"country_subdivision_name"`
	Lat                    float64 `json:"lat"`
	Lng                    float64 `json:"lng"`
	Name                   string  `json:"name"`
}

type Identifier

type Identifier struct {
	Identifier string `json:"identifier"`
	Scheme     string `json:"scheme"`
}

type InvenioRDM

type InvenioRDM struct {
	Acronym     string       `yaml:"acronym,omitempty"`
	ID          string       `yaml:"id"`
	Country     string       `yaml:"country,omitempty"`
	Identifiers []Identifier `yaml:"identifiers"`
	Name        string       `yaml:"name"`
	Title       Title        `yaml:"title"`
}

InvenioRDM represents the ROR metadata record in InvenioRDM format.

func Convert

func Convert(data ROR, type_ string) (InvenioRDM, error)

Convert converts ROR metadata into InvenioRDM format.

type Link struct {
	Type  string `json:"type"`
	Value string `json:"value"`
}

type Location

type Location struct {
	GeonamesID      int             `json:"geonames_id"`
	GeonamesDetails GeonamesDetails `json:"geonames_details"`
}

type Name

type Name struct {
	Value string   `json:"value"`
	Types []string `json:"types"`
	Lang  string   `json:"lang"`
}

type ROR

type ROR struct {
	ID        string     `json:"id"`
	Locations []Location `json:"locations"`
	Names     []Name     `json:"names"`
	Admin     struct {
		Created struct {
			Date          string `json:"date"`
			SchemaVersion string `json:"schema_version"`
		} `json:"created"`
		LastModified struct {
			Date          string `json:"date"`
			SchemaVersion string `json:"schema_version"`
		} `json:"last_modified"`
	}
}

ROR represents the minimal ROR metadata record.

func LoadAll

func LoadAll(filename string, type_ string, country string) ([]ROR, error)

LoadAll loads the metadata for a list of organizations from a ROR JSON file

func Read

func Read(content Content) (ROR, error)

Read reads ROR full metadata and converts it into ROR minimal metadata.

func ReadAll

func ReadAll(content []Content, type_ string, country string) ([]ROR, error)

ReadAll reads a list of ROR JSON organizations

type Relationship

type Relationship struct {
	Type  string `json:"type"`
	Label string `json:"label"`
	ID    string `json:"id"`
}

type Title added in v0.17.4

type Title struct {
	Aa string `yaml:"aa,omitempty"` // Afar
	Af string `yaml:"af,omitempty"` // Afrikaans
	Am string `yaml:"am,omitempty"` // Amharic
	Ar string `yaml:"ar,omitempty"` // Arabic
	As string `yaml:"as,omitempty"` // Assamese
	Az string `yaml:"az,omitempty"` // Azerbaijani
	Ba string `yaml:"ba,omitempty"` // Bashkir
	Be string `yaml:"be,omitempty"` // Belgian
	Bg string `yaml:"bg,omitempty"` // Bulgarian
	Bi string `yaml:"bi,omitempty"` // Bislama
	Bn string `yaml:"bn,omitempty"` // Bengali
	Bs string `yaml:"bs,omitempty"` // Bosnian
	Ca string `yaml:"ca,omitempty"` // Catalan
	Ch string `yaml:"ch,omitempty"` // Chamorro
	Co string `yaml:"co,omitempty"` // Corsican
	Cs string `yaml:"cs,omitempty"` // Czech
	Cu string `yaml:"cu,omitempty"` // Church Slavic
	Cy string `yaml:"cy,omitempty"` // Welsh
	Da string `yaml:"da,omitempty"` // Danish
	De string `yaml:"de,omitempty"` // German
	Dv string `yaml:"dv,omitempty"` // Divehi
	Dz string `yaml:"dz,omitempty"` // Dzongkha
	El string `yaml:"el,omitempty"` // Greek
	En string `yaml:"en,omitempty"` // English
	Es string `yaml:"es,omitempty"` // Spanish
	Et string `yaml:"et,omitempty"` // Estonian
	Eu string `yaml:"eu,omitempty"` // Basque
	Fa string `yaml:"fa,omitempty"` // Persian
	Fo string `yaml:"fo,omitempty"` // Faroese
	Fi string `yaml:"fi,omitempty"` // Finnish
	Fr string `yaml:"fr,omitempty"` // French
	Fy string `yaml:"fy,omitempty"` // Frisian
	Ga string `yaml:"ga,omitempty"` // Irish
	Gd string `yaml:"gd,omitempty"` // Scottish Gaelic
	Gl string `yaml:"gl,omitempty"` // Galician
	Gu string `yaml:"gu,omitempty"` // Gujarati
	Gv string `yaml:"gv,omitempty"` // Manx
	Ha string `yaml:"ha,omitempty"` // Hausa
	He string `yaml:"he,omitempty"` // Hebrew
	Hi string `yaml:"hi,omitempty"` // Hindi
	Hr string `yaml:"hr,omitempty"` // Croatian
	Ht string `yaml:"ht,omitempty"` // Haitian
	Hu string `yaml:"hu,omitempty"` // Hungarian
	Hy string `yaml:"hy,omitempty"` // Armenian
	Id string `yaml:"id,omitempty"` // Indonesian
	Is string `yaml:"is,omitempty"` // Icelandic
	It string `yaml:"it,omitempty"` // Italian
	Iu string `yaml:"iu,omitempty"` // Inuktitut
	Ja string `yaml:"ja,omitempty"` // Japanese
	Jv string `yaml:"jv,omitempty"` // Javanese
	Ka string `yaml:"ka,omitempty"` // Georgian
	Kg string `yaml:"kg,omitempty"` // Kongo
	Ki string `yaml:"ki,omitempty"` // Kikuyu
	Kk string `yaml:"kk,omitempty"` // Kazakh
	Kl string `yaml:"kl,omitempty"` // Greenlandic
	Km string `yaml:"km,omitempty"` // Khmer
	Kn string `yaml:"kn,omitempty"` // Kannada
	Ko string `yaml:"ko,omitempty"` // Korean
	Kr string `yaml:"kr,omitempty"` // Kanuri
	Ku string `yaml:"ku,omitempty"` // Kurdish
	Ky string `yaml:"ky,omitempty"` // Kyrgyz
	La string `yaml:"la,omitempty"` // Latin
	Lb string `yaml:"lb,omitempty"` // Luxembourgish
	Lo string `yaml:"lo,omitempty"` // Lao
	Lt string `yaml:"lt,omitempty"` // Lithuanian
	Lu string `yaml:"lu,omitempty"` // Luba-Katanga
	Lv string `yaml:"lv,omitempty"` // Latvian
	Mg string `yaml:"mg,omitempty"` // Malagasy
	Mi string `yaml:"mi,omitempty"` // Maori
	Mk string `yaml:"mk,omitempty"` // Macedonian
	Ml string `yaml:"ml,omitempty"` // Malayalam
	Mn string `yaml:"mn,omitempty"` // Mongolian
	Mr string `yaml:"mr,omitempty"` // Marathi
	Ms string `yaml:"ms,omitempty"` // Malay
	Mt string `yaml:"mt,omitempty"` // Maltese
	My string `yaml:"my,omitempty"` // Burmese
	Na string `yaml:"na,omitempty"` // Nauru
	Nb string `yaml:"nb,omitempty"` // Norwegian Bokmål
	Ne string `yaml:"ne,omitempty"` // Nepali
	Nl string `yaml:"nl,omitempty"` // Dutch
	Nn string `yaml:"nn,omitempty"` // Norwegian Nynorsk
	No string `yaml:"no,omitempty"` // Norwegian
	Oc string `yaml:"oc,omitempty"` // Occitan
	Om string `yaml:"om,omitempty"` // Oromo
	Or string `yaml:"or,omitempty"` // Oriya
	Pa string `yaml:"pa,omitempty"` // Punjabi
	Pl string `yaml:"pl,omitempty"` // Polish
	Ps string `yaml:"ps,omitempty"` // Pashto
	Pt string `yaml:"pt,omitempty"` // Portuguese
	Rm string `yaml:"rm,omitempty"` // Romansh
	Ro string `yaml:"ro,omitempty"` // Romanian
	Ru string `yaml:"ru,omitempty"` // Russian
	Rw string `yaml:"rw,omitempty"` // Kinyarwanda
	Sa string `yaml:"sa,omitempty"` // Sanskrit
	Sd string `yaml:"sd,omitempty"` // Sindhi
	Se string `yaml:"se,omitempty"` // Northern Sami
	Sh string `yaml:"sh,omitempty"` // Serbo-Croatian
	Si string `yaml:"si,omitempty"` // Sinhalese
	Sk string `yaml:"sk,omitempty"` // Slovak
	Sl string `yaml:"sl,omitempty"` // Slovenian
	Sm string `yaml:"sm,omitempty"` // Samoan
	So string `yaml:"so,omitempty"` // Somali
	Sq string `yaml:"sq,omitempty"` // Albanian
	Sr string `yaml:"sr,omitempty"` // Serbian
	St string `yaml:"st,omitempty"` // Southern Sotho
	Sv string `yaml:"sv,omitempty"` // Swedish
	Sw string `yaml:"sw,omitempty"` // Swahili
	Ta string `yaml:"ta,omitempty"` // Tamil
	Te string `yaml:"te,omitempty"` // Telugu
	Tg string `yaml:"tg,omitempty"` // Tajik
	Th string `yaml:"th,omitempty"` // Thai
	Ti string `yaml:"ti,omitempty"` // Tigrinya
	Tk string `yaml:"tk,omitempty"` // Turkmen
	Tl string `yaml:"tl,omitempty"` // Tagalog
	Tr string `yaml:"tr,omitempty"` // Turkish
	Tt string `yaml:"tt,omitempty"` // Tatar
	Ug string `yaml:"ug,omitempty"` // Uighur
	Uk string `yaml:"uk,omitempty"` // Ukrainian
	Ur string `yaml:"ur,omitempty"` // Urdu
	Uz string `yaml:"uz,omitempty"` // Uzbek
	Vi string `yaml:"vi,omitempty"` // Vietnamese
	Xh string `yaml:"xh,omitempty"` // Xhosa
	Yo string `yaml:"yo,omitempty"` // Yoruba
	Zh string `yaml:"zh,omitempty"` // Chinese
	Zu string `yaml:"zu,omitempty"` // Zulu
}

func GetTitle added in v0.17.4

func GetTitle(names []Name) Title

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL