Skip to main content

OpenAPI representation of the ISCC data model

Project description

ISCC - Schema

OpenAPI representation of the ISCC data model

Build Version

Introduction

This repository hosts all schema definitions of the ISCC. Schemas are defined in OpenAPI v3.1.0 format and serve as a single source of truth for auto-generated JSON Schema definitions, JSON-LD contexts, and other schema related artifacts.

Metadata for Digital Content

Metadata is data about data. For digital content, metadata may describe assets for different purposes such as data management, data provenance, allocation of royalties, indexing, disambiguation, process automation, etc.

ISCC Metadata

Calculating ISCC codes requires extensive processing of media assets. As a by-product, an ISCC processor can automatically produce and retain metadata that describes the asset and helps with comparing and matching digital content. ISCC creation is also an opportunity to embed metadata into a digital asset. Once the metadata is embedded, an ISCC processor will automatically regenerate the same ISCC Meta-Code without manually supplying custom metadata for processing. As the ISCC targets a broad set of use-cases, it comes with a minimal and generic metadata schema. This site documents the ISCC metadata model.

Types of Metadata

For the identification of digital assets, ISCC distinguishes between two major types of metadata:

Implicit Metadata

Implicit metadata is data that can be measured by analyzing a media asset. For example, an ISCC processor can infer pixel width and height from an image or duration from an audio file. The use of implicit metadata is very efficient and robust. It does not require a human to verify the correctness of the data because it can be measured and verified automatically.

Explicit Metadata

Explicit metadata is data about media assets assembled and curated by people. It is often stored separately from the files in databases but may also be embedded into media assets. In contrast to implicit metadata, human-curated metadata is prone to errors, laborious to manage, and often not up to date. Platforms also tend to remove embedded metadata from the files they are hosting.

Documentation

Documentation is hosted at schema.iscc.codes

Status

Under development. Expect breaking changes until we reach a version 1.0 release.

Generated files

The source of code generation are the files at iscc_schema/models/*. The outputs produced when running poe build are:

Published files

The generated files are published under the following canonical URLs:

OpenAPI Docs

OpenAPI Extensions

The OpenAPI Specification allows for extending the specification with custom fields. Extensions must start with x-. All ISCC extensions start with x-iscc-:

  • x-iscc-context - for documenting JSON-LD contexts.
  • x-iscc-schema-doc - for original descriptions from schema.org.
  • x-iscc-embed - for information on how to embed fields into media assets.
  • x-iscc-status - for information about status of the field

Changelog

0.3.6 - 2022-03-19

  • Use customized BaseModel for IsccMeta
  • Convert empty strings to None
  • Exclude None and unset in IsccMeta.dict() by default
  • Exclude None and use by_alis in IsccMeta.json()
  • Added IsccMeta.jcs() serialization
  • Added IsccMEta.iscc_obj property
  • Fixed JSON Schema code generation
  • Moved thumbnail field to the bottom
  • Added media_id vendor identifier
  • Added iscc_id field
  • Updated OpenAPI definitions.

0.3.5 - 2022-03-11

  • Added custom field AnyUrl to support Data-URLs
  • Fix typo in NftFrozen
  • Change endpoint /freeze to /nft/freeze

0.3.4 - 2022-03-08

  • Mark stable fields
  • Change iscc field to not required
  • Add schema.org context to thumbnail field
  • Updated dependencies

0.3.3 - 2022-03-06

  • Fixed typo in acquire field
  • Renamed main schema class ISCC to IsccMeta
  • Import schemas to package top-level
  • Updated dependencies

0.3.2 - 2022-03-01

  • Redesigned Generator API model
  • Added mode element
  • Added thumbnail element
  • Added versioned context and schema URIs
  • Added $schema element to context
  • Renamed verify to verifications

0.3.1 - 2022-02-10

  • Fixed packaging error

0.3.0 - 2022-02-10

  • Added draft API for ISCC Generator Service
  • Added new collection schema
  • Updated dependencies
  • Added new terms: verify, original, redirect

0.2.1 - 2022-01-19

  • Tweak code generator
  • Cleanup dependencies

0.2.0 - 2022-01-17

  • Added generator field
  • Changed properties field to support base64
  • Changed iscc validation to support Semantic-Code

0.1.0 - 2022-01-05

  • Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iscc-schema-0.3.6.tar.gz (30.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page