Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

CDIF Core Profile — Schema.org Implementation

This page documents the mapping between CDIF content items and their schema.org implementation. Some example metadata documents are accessible in the Core Github repository. The 'Obl.' column specifies the cardinality Cardinality for the property; '1' means one value required; 1..* means at least one value is required; 0..* means the property is optional and more that one value can be provided. Properties with path from “subjectOf” describe the metadata.

All property names use namespace prefixes as declared in the @context (e.g. schema:, dcterms:). The schema: prefix is required for all schema.org properties. The CDIF JSON-LD implementation uses a hierarchical JSON structure, and CURIE syntax to abbreviate URIs using prefixes defined in the JSON-LD context. The implementation does not map un-prefixed JSON keys to URIs, rather prefixes a namespace abbreviation on the key label to represent the URI. This enables using standard JSON schema to validate documents and avoids confusion about the vocabulary origin of keys used in the JSON.

Each item lists its Cardinality, JSON encoding, and a Description explaining usage.

See also graphical presentation of the core profile

Artefacts for the core profile are in this Github repository (TBD--update link to release tag)

Metadata identifier

Resource identifier

Title

Distribution

Rights

Metadata profile identifier

Metadata date

Metadata contact

Metadata catalog

Resource type

Description

Originators

Publication Date

Modification Date

Other identifiers

Version

Language

Keyword

Distribution Agent

Funding

Policies

Checksum

Provenance for discovery

Provenance for discovery is limited to documenting technology used in the creation of the dataset and documenting other datasets that were inputs to the content of the described resource. The cdifDiscovery profile specifies only that prov:wasGeneratedBy has a prov:Activity with prov:used items that are strings or @id references. Any additional structure under prov:used is optional and defined by extended profiles.

Provenance (instruments, software, etc.)

Provenance (input datasets)

Service-based distribution

An API builds on a basic communication protocol (e.g. HTTP) by defining functionality and formatting to enable providing the specific data a user requires. This might involve filtering, subsetting, or various transformations for e.g. schema mapping, aggregating or anonymizing data. The focus here is on Web APIs that provide data using a URL for the endpoint location (the server that implements the data access protocol), with parameters to specify the particular data requested. The query parameters might be appended to this base URL as part of the URL, or provided as a message with the request. The implementation is based on the schema.org Action patterns. A WebAPI distribution is included as an item in the schema:distribution array alongside DataDownload items.

Implementation of metadata to describe a service-based (API) distribution:

Service type

  "schema:distribution": [{
    "@type": ["schema:WebAPI"],
    "schema:serviceType": "{string or DefinedTerm}"
  }]

Service description document

Endpoint URL

  "@type": ["schema:Action"],
  "schema:target": {
    "@type": "schema:EntryPoint",
    "schema:urlTemplate": "..."
  }
}]

Access constraints