Skip to content

Examples

A collection of ISCC metadata samples for different use cases.

Minimal ISCC Metadata

The simplest valid ISCC metadata, just an iscc field with the $schema reference:

{
  "$schema": "http://purl.org/iscc/schema/0.8.0.json",
  "iscc": "ISCC:KACYPXW445FTYNJ3CYSXHAFJMA2HUWULUNRFE3BLHRSCXYH2M5AEGQY"
}

Content Description

ISCC metadata with descriptive fields for a video:

{
  "@context": "http://purl.org/iscc/context/0.8.0.jsonld",
  "@type": "VideoObject",
  "$schema": "http://purl.org/iscc/schema/0.8.0.json",
  "iscc": "ISCC:KACYPXW445FTYNJ3CYSXHAFJMA2HUWULUNRFE3BLHRSCXYH2M5AEGQY",
  "name": "The Never Ending Story",
  "description": "a 1984 fantasy film co-written and directed by Wolfgang Petersen",
  "creator": "Wolfgang Petersen"
}

Content with TDM Rights

ISCC metadata with embedded TDM (text and data mining) reservation signals:

{
  "@context": "http://purl.org/iscc/context/0.8.0.jsonld",
  "@type": "CreativeWork",
  "$schema": "http://purl.org/iscc/schema/0.8.0.json",
  "iscc": "ISCC:KACYPXW445FTYNJ3CYSXHAFJMA2HUWULUNRFE3BLHRSCXYH2M5AEGQY",
  "name": "The Never Ending Story",
  "tdm": {
    "tdm_reservation": 1,
    "tdm_policy": "https://example.com/tdmrep-policy.json"
  }
}

ISBN Seed Metadata

Seed metadata for interoperable Meta-Code generation from book industry data. The $schema reference makes the data self-describing - any consumer can recover the full JSON-LD context from the schema on demand (see Schema-Driven Context Recovery):

{
  "$schema": "http://purl.org/iscc/schema/isbn-0.8.0.json",
  "isbn": "9789295055124",
  "productform": "EA",
  "title": "The Never Ending Story",
  "language": "eng",
  "imprint": "Penguin Classics",
  "publisher": "Penguin Random House",
  "country": "US",
  "pubdate": "20240214"
}

ISRC Seed Metadata

Seed metadata for interoperable Meta-Code generation from sound recording data. Like ISBN seed metadata, the $schema reference enables JSON-LD context recovery without carrying the full context in every object:

{
  "$schema": "http://purl.org/iscc/schema/isrc-0.8.0.json",
  "isrc": "AA6Q72000047",
  "main_artist": "The Beatles",
  "track_title": "Yesterday",
  "version_title": "Remastered 2009",
  "duration": 125,
  "content_type": "sound",
  "pubdate": "20090909"
}

STM Seed Metadata

Seed metadata for DOI-identified scholarly works (scientific, technical, medical), populated from Crossref/DataCite records for interoperable Meta-Code generation:

{
  "$schema": "http://purl.org/iscc/schema/stm-0.8.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"
}

TDM Service Metadata

Standalone TDM reservation signals served by an ISCC registry:

{
  "@context": "http://purl.org/iscc/context/0.8.0.jsonld",
  "@type": "TDM",
  "$schema": "http://purl.org/iscc/schema/tdm-0.8.0.json",
  "iscc": "ISCC:MAACAJINXFXA2SQX",
  "tdm_reservation": 1,
  "tdm_policy": "https://example.com/tdmrep-policy.json"
}

GenAI Service Metadata

Standalone generative AI disclosure signals for content transparency:

{
  "@context": "http://purl.org/iscc/context/0.8.0.jsonld",
  "@type": "GenAI",
  "$schema": "http://purl.org/iscc/schema/genai-0.8.0.json",
  "involvement": "ai_generated",
  "ai_system": "DALL-E 3",
  "digital_source_type": "http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia"
}

IsccNote Protocol Record

A permanent ISCC Declaration log record for ISCC-HUB timestamping. Protocol records default to compact JSON with a version-specific $schema as the sole version anchor:

{
  "$schema": "http://purl.org/iscc/schema/iscc-note-0.8.0.json",
  "iscc_code": "ISCC:KACYPXW445FTYNJ3CYSXHAFJMA2HUWULUNRFE3BLHRSCXYH2M5AEGQY",
  "datahash": "1e20253d0f3460085c276f038de345c8e953a306f4a07f9fa77f5af8563c3d7274c5",
  "nonce": "0013a3c214c05796673503e6e549446d",
  "signature": {
    "version": "ISCC-SIG v1.0",
    "controller": "did:web:example.com",
    "pubkey": "z6MkmeDbeC5BecFmVnTHA5PWEBaVUrGLdB3weGE2KYnXfHso",
    "proof": "z5j9nrpPw3oYSAN4XbCvk2sUtkwrueTD6V2Y35gS1KFTode2ED2YQWokPmoXw6QBYtYEFxtAQfzBhdNyr8PMwP79G"
  }
}

Schema-Driven Context Recovery

Plain JSON data can be upgraded to JSON-LD using recover_context(). The function reads the $schema reference and injects the matching @context:

from iscc_schema import recover_context

# Plain JSON without @context
data = {
    "$schema": "http://purl.org/iscc/schema/0.8.0.json",
    "iscc": "ISCC:KACYPXW445FTYNJ3CYSXHAFJMA2HUWULUNRFE3BLHRSCXYH2M5AEGQY",
    "name": "The Never Ending Story",
}

# Recover JSON-LD context from the schema reference
result = recover_context(data)

# Result is now valid JSON-LD
assert "@context" in result

When $schema is absent, context can be recovered from @type:

from iscc_schema import recover_context

data = {"@type": "ISBN", "isbn": "9789295055124"}
result = recover_context(data)
assert "@context" in result

Python Usage

Creating and serializing ISCC metadata objects:

from iscc_schema import IsccMeta

meta = IsccMeta(
    iscc="ISCC:KACYPXW445FTYNJ3CYSXHAFJMA2HUWULUNRFE3BLHRSCXYH2M5AEGQY",
    name="The Never Ending Story",
)

# Dict serialization (set fields only)
meta.dict()
# {'iscc': 'ISCC:KACY...', 'name': 'The Never Ending Story'}

# JSON serialization (includes schema defaults)
meta.json()
# '{"@context":"http://purl.org/iscc/context/0.8.0.jsonld","@type":"CreativeWork","$schema":"http://purl.org/iscc/schema/0.8.0.json",...}'

# JCS canonical bytes (deterministic, for hashing)
meta.jcs()
# b'{"$schema":"http://purl.org/iscc/schema/0.8.0.json","@context":...}'

Seed metadata defaults to compact JSON (ld=False), service metadata to full JSON-LD (ld=True). All methods accept an ld parameter to override:

from iscc_schema import ISBN, TDM

seed = ISBN(
    isbn="9789295055124",
    productform="EA",
    title="The Never Ending Story",
    language="eng",
    imprint="Penguin Classics",
    publisher="Penguin Random House",
    country="US",
    pubdate="20240214",
)

# Compact by default for seed metadata
seed.json()
# '{"$schema":"http://purl.org/iscc/schema/isbn-0.8.0.json","isbn":"9789295055124",...}'

# Full JSON-LD when needed
seed.json(ld=True)
# '{"@context":"http://purl.org/iscc/context/0.8.0.jsonld","@type":"ISBN","$schema":...}'

# Service metadata defaults to full JSON-LD
tdm = TDM(iscc="ISCC:MAACAJINXFXA2SQX", tdm_reservation=1)
tdm.json()
# '{"@context":"http://purl.org/iscc/context/0.8.0.jsonld","@type":"TDM",...}'