//! Controlled vocabularies from the commonmeta schema.

/// All work types defined in the commonmeta schema.
pub const WORK_TYPES: &[&str] = &[
    "Article",
    "BlogPost",
    "Book",
    "BookChapter",
    "Collection",
    "Dataset",
    "Dissertation",
    "Document",
    "Entry",
    "Event",
    "Figure",
    "Grant",
    "Image",
    "Instrument",
    "JournalArticle",
    "LegalDocument",
    "Lesson",
    "Model",
    "OutputManagementPlan",
    "PeerReview",
    "PhysicalObject",
    "Preprint",
    "ProceedingsArticle",
    "ReportArticle",
    "Review",
    "Software",
    "Sound",
    "Standard",
    "StudyRegistration",
    "WebPage",
];

/// Contributor types.
pub const CONTRIBUTOR_TYPES: &[&str] = &["Person", "Organization"];

/// Standard contributor roles.
pub const CONTRIBUTOR_ROLES: &[&str] = &[
    "Author",
    "Editor",
    "Chair",
    "Reviewer",
    "ReviewAssistant",
    "StatsReviewer",
    "ReviewerExternal",
    "Reader",
    "Translator",
    "DataCollector",
    "DataCurator",
    "DataManager",
    "Distributor",
    "HostingInstitution",
    "Producer",
    "ProjectLeader",
    "ProjectManager",
    "ProjectMember",
    "RegistrationAgency",
    "RegistrationAuthority",
    "RelatedPerson",
    "ResearchGroup",
    "RightsHolder",
    "Researcher",
    "Sponsor",
    "WorkPackageLeader",
    "Other",
];

/// Identifier types.
pub const IDENTIFIER_TYPES: &[&str] = &[
    "ARK",
    "DOI",
    "GUID",
    "Handle",
    "ISBN",
    "ISSN",
    "ISTC",
    "LISSN",
    "LSID",
    "PISSN",
    "PMID",
    "PMCID",
    "PURL",
    "RID",
    "URL",
    "URN",
    "UUID",
    "w3id",
];

/// Relation types.
pub const RELATION_TYPES: &[&str] = &[
    "IsCitedBy",
    "Cites",
    "IsSupplementTo",
    "IsSupplementedBy",
    "IsContinuedBy",
    "Continues",
    "IsNewVersionOf",
    "IsPreviousVersionOf",
    "IsPartOf",
    "HasPart",
    "IsReferencedBy",
    "References",
    "IsDocumentedBy",
    "Documents",
    "IsCompiledBy",
    "Compiles",
    "IsVariantFormOf",
    "IsOriginalFormOf",
    "IsIdenticalTo",
    "HasMetadata",
    "IsMetadataFor",
    "Reviews",
    "IsReviewedBy",
    "IsDerivedFrom",
    "IsSourceOf",
    "Describes",
    "IsDescribedBy",
    "HasVersion",
    "IsVersionOf",
    "Requires",
    "IsRequiredBy",
    "IsTranslationOf",
    "HasTranslation",
    "IsPreprintOf",
    "HasPreprint",
    "IsReviewOf",
    "HasReview",
];
