{
  "@context": {
    "STM": "http://purl.org/iscc/terms/#STM",
    "doi": "http://purl.org/ontology/bibo/doi",
    "resource_type": {
      "@id": "http://schema.org/additionalType",
      "@type": "@id"
    },
    "JournalArticle": "http://schema.org/ScholarlyArticle",
    "Preprint": "http://purl.org/spar/fabio/Preprint",
    "ConferencePaper": "http://purl.org/spar/fabio/ConferencePaper",
    "ReviewArticle": "http://purl.org/spar/fabio/ReviewArticle",
    "BookChapter": "http://schema.org/Chapter",
    "Book": "http://schema.org/Book",
    "Dissertation": "http://schema.org/Thesis",
    "Report": "http://schema.org/Report",
    "ReferenceEntry": "http://purl.org/spar/fabio/ReferenceEntry",
    "Dataset": "http://schema.org/Dataset",
    "Software": "http://schema.org/SoftwareSourceCode",
    "Model": "http://purl.org/spar/fabio/Model",
    "Workflow": "http://purl.org/spar/fabio/Workflow",
    "Protocol": "http://purl.org/spar/fabio/ExperimentalProtocol",
    "Image": "http://schema.org/ImageObject",
    "PeerReview": "http://schema.org/Review",
    "Other": "http://schema.org/CreativeWork",
    "title": "http://schema.org/name",
    "publisher": "http://schema.org/publisher",
    "pubyear": "http://schema.org/datePublished",
    "version_type": "http://purl.org/iscc/terms/#version_type",
    "container_title": "http://prismstandard.org/namespaces/basic/2.0/publicationName",
    "issn": "http://schema.org/issn"
  },
  "x-iscc-jsonld": {
    "context": "http://purl.org/iscc/context/0.7.0.jsonld",
    "type": "STM",
    "upgrade": "Compact records omit @context and @type. To obtain JSON-LD, set @context to this schema's top-level @context term map (or to the versioned context URL in this extension's `context` field) and set @type to this extension's `type` value."
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "http://purl.org/iscc/schema/stm.json",
  "title": "STM",
  "type": "object",
  "description": "STM (Scientific/Technical/Medical) Seed Metadata for interoperable Meta-Code generation. Minimal distinguishing metadata for scholarly works identified by a DOI, populatable from any DOI via Crossref/DataCite content negotiation (CSL-JSON).",
  "properties": {
    "@context": {
      "oneOf": [
        {
          "type": "string",
          "format": "uri"
        },
        {
          "type": "object"
        }
      ],
      "default": "http://purl.org/iscc/context/0.7.0.jsonld",
      "description": "The JSON-LD Context URI for ISCC metadata."
    },
    "@type": {
      "type": "string",
      "const": "STM",
      "description": "The type of seed metadata."
    },
    "$schema": {
      "type": "string",
      "format": "uri",
      "const": "http://purl.org/iscc/schema/stm-0.7.0.json",
      "description": "The JSON Schema URI for STM seed metadata. See the top-level `x-iscc-jsonld` extension for the JSON-LD upgrade path."
    },
    "doi": {
      "type": "string",
      "description": "Digital Object Identifier of the work, lowercased, in bare prefix form (without the https://doi.org/ resolver prefix).",
      "pattern": "^10\\.\\d{4,}/.+$",
      "example": "10.5555/example.2020.0001",
      "x-iscc-context": "http://purl.org/ontology/bibo/doi"
    },
    "resource_type": {
      "type": "string",
      "description": "The kind of research output as a readable token. Tokens follow the DataCite resource-type vocabulary and are populated from the Crossref/DataCite work type (for example, journal-article maps to JournalArticle). Each token is mapped to a resolvable schema.org or FaBiO class IRI in the JSON-LD context (see x-iscc-enum-context). This is the work-kind axis; version_type is the orthogonal version-stage axis.",
      "enum": [
        "JournalArticle",
        "Preprint",
        "ConferencePaper",
        "ReviewArticle",
        "BookChapter",
        "Book",
        "Dissertation",
        "Report",
        "ReferenceEntry",
        "Dataset",
        "Software",
        "Model",
        "Workflow",
        "Protocol",
        "Image",
        "PeerReview",
        "Other"
      ],
      "example": "JournalArticle",
      "x-iscc-context": "http://schema.org/additionalType",
      "x-iscc-enum-context": {
        "JournalArticle": "http://schema.org/ScholarlyArticle",
        "Preprint": "http://purl.org/spar/fabio/Preprint",
        "ConferencePaper": "http://purl.org/spar/fabio/ConferencePaper",
        "ReviewArticle": "http://purl.org/spar/fabio/ReviewArticle",
        "BookChapter": "http://schema.org/Chapter",
        "Book": "http://schema.org/Book",
        "Dissertation": "http://schema.org/Thesis",
        "Report": "http://schema.org/Report",
        "ReferenceEntry": "http://purl.org/spar/fabio/ReferenceEntry",
        "Dataset": "http://schema.org/Dataset",
        "Software": "http://schema.org/SoftwareSourceCode",
        "Model": "http://purl.org/spar/fabio/Model",
        "Workflow": "http://purl.org/spar/fabio/Workflow",
        "Protocol": "http://purl.org/spar/fabio/ExperimentalProtocol",
        "Image": "http://schema.org/ImageObject",
        "PeerReview": "http://schema.org/Review",
        "Other": "http://schema.org/CreativeWork"
      }
    },
    "title": {
      "type": "string",
      "description": "The primary title of the work.",
      "maxLength": 128,
      "example": "On the Stability of Quasilinear Forms",
      "x-iscc-context": "http://schema.org/name"
    },
    "publisher": {
      "type": "string",
      "description": "Name of the publishing entity.",
      "maxLength": 100,
      "example": "Meridian Academic Press",
      "x-iscc-context": "http://schema.org/publisher"
    },
    "pubyear": {
      "type": "integer",
      "description": "Year of publication. Crossref guarantees year-level precision only; using an integer avoids the false precision of a full date.",
      "minimum": 1000,
      "maximum": 9999,
      "example": 2020,
      "x-iscc-context": "http://schema.org/datePublished"
    },
    "version_type": {
      "type": "string",
      "description": "Manifestation version using the NISO JAV (RP-8-2008) vocabulary. Publisher-specific version taxonomies are mapped into these values. Lets a Version-of-Record and an Accepted-Manuscript of the same work produce different Meta-Codes while a shared work-level `doi` links them.",
      "enum": [
        "AO",
        "SMUR",
        "AM",
        "P",
        "VoR",
        "CVoR",
        "EVoR"
      ],
      "example": "VoR",
      "x-iscc-context": "http://purl.org/iscc/terms/#version_type"
    },
    "container_title": {
      "type": "string",
      "description": "Title of the serial or collection the work is part of (journal, proceedings, book). Not guaranteed for standalone works.",
      "maxLength": 200,
      "example": "Journal of Applied Analysis",
      "x-iscc-context": "http://prismstandard.org/namespaces/basic/2.0/publicationName"
    },
    "issn": {
      "type": "string",
      "description": "ISSN of the container serial. Only present for serial publications.",
      "pattern": "^\\d{4}-\\d{3}[\\dxX]$",
      "example": "1234-5678",
      "x-iscc-context": "http://schema.org/issn"
    }
  },
  "required": [
    "$schema",
    "doi",
    "resource_type",
    "title",
    "publisher",
    "pubyear"
  ],
  "examples": [
    {
      "$schema": "http://purl.org/iscc/schema/stm-0.7.0.json",
      "doi": "10.5555/example.2020.0001",
      "resource_type": "JournalArticle",
      "title": "On the Stability of Quasilinear Forms",
      "publisher": "Meridian Academic Press",
      "pubyear": 2020,
      "version_type": "VoR",
      "container_title": "Journal of Applied Analysis",
      "issn": "1234-5678"
    }
  ]
}