diff --git a/docs/context/0.4.1.jsonld b/docs/context/0.4.1.jsonld new file mode 100644 index 0000000..4dd894e --- /dev/null +++ b/docs/context/0.4.1.jsonld @@ -0,0 +1,56 @@ +{ + "@context": { + "iscc": "@id", + "CreativeWork": "http://schema.org/CreativeWork", + "TextDigitalDocument": "http://schema.org/TextDigitalDocument", + "ImageObject": "http://schema.org/ImageObject", + "AudioObject": "http://schema.org/AudioObject", + "VideoObject": "http://schema.org/VideoObject", + "$schema": "http://purl.org/iscc/terms/#$schema", + "name": "http://schema.org/name", + "description": "http://schema.org/disambiguatingDescription", + "meta": "http://purl.org/iscc/terms/#meta", + "creator": "http://schema.org/creator", + "license": "http://schema.org/license", + "acquire": "http://schema.org/acquireLicensePage", + "credit": "http://schema.org/creditText", + "rights": "http://schema.org/copyrightNotice", + "media_id": "http://schema.org/identifier", + "iscc_id": "http://schema.org/identifier", + "image": "http://schema.org/image", + "identifier": "http://schema.org/identifier", + "content": "http://schema.org/contentUrl", + "keywords": "http://schema.org/keywords", + "previous": "http://purl.org/iscc/terms/#previous", + "version": "http://schema.org/version", + "created": "http://schema.org/dateCreated", + "filename": "http://purl.org/iscc/terms/#filename", + "filesize": "http://schema.org/fileSize", + "mediatype": "http://schema.org/encodingFormat", + "duration": "http://schema.org/duration", + "fps": "http://purl.org/iscc/terms/#fps", + "width": "http://purl.org/iscc/terms/#width", + "height": "http://purl.org/iscc/terms/#height", + "characters": "http://purl.org/iscc/terms/#characters", + "pages": "http://schema.org/numberOfPages", + "language": "http://schema.org/inLanguage", + "parts": "http://purl.org/iscc/terms/#parts", + "part_of": "http://purl.org/iscc/terms/#part_of", + "features": "http://purl.org/iscc/terms/#features", + "generator": "http://purl.org/iscc/terms/#generator", + "thumbnail": "http://schema.org/thumbnailUrl", + "external_url": "http://purl.org/iscc/terms/#external_url", + "animation_url": "http://purl.org/iscc/terms/#animation_url", + "properties": "http://purl.org/iscc/terms/#properties", + "attributes": "http://purl.org/iscc/terms/#attributes", + "nft": "http://purl.org/iscc/terms/#nft", + "tophash": "http://purl.org/iscc/terms/#tophash", + "metahash": "http://purl.org/iscc/terms/#metahash", + "datahash": "http://purl.org/iscc/terms/#datahash", + "original": "http://purl.org/iscc/terms/#original", + "redirect": "http://purl.org/iscc/terms/#redirect", + "chain": "http://purl.org/iscc/terms/#chain", + "wallet": "http://purl.org/iscc/terms/#wallet", + "verifications": "http://purl.org/iscc/terms/#verifications" + } +} \ No newline at end of file diff --git a/docs/schema/0.4.1.json b/docs/schema/0.4.1.json new file mode 100644 index 0000000..89484dd --- /dev/null +++ b/docs/schema/0.4.1.json @@ -0,0 +1,502 @@ +{ + "title": "iscc-collection", + "type": "object", + "description": "Collection of all ISCC Metadata fields", + "examples": [ + { + "iscc": "ISCC:KACYPXW445FTYNJ3CYSXHAFJMA2HUWULUNRFE3BLHRSCXYH2M5AEGQY" + } + ], + "properties": { + "@context": { + "type": "string", + "format": "uri", + "default": "http://purl.org/iscc/context/0.3.7.jsonld", + "description": "The [JSON-LD](https://json-ld.org/) Context URI for ISCC metadata.", + "readOnly": true + }, + "@type": { + "type": "string", + "readOnly": true, + "default": "CreativeWork", + "enum": [ + "CreativeWork", + "TextDigitalDocument", + "ImageObject", + "AudioObject", + "VideoObject" + ], + "description": "The type of digital content according to schema.org classes (TextDigitalDocument, ImageObject, AudioObject, VideoObject)." + }, + "$schema": { + "type": "string", + "format": "uri", + "default": "http://purl.org/iscc/schema/0.3.7.json", + "description": "The [JSON Schema](https://json-schema.org/) URI for ISCC metadata.", + "readOnly": true, + "x-iscc-context": "http://purl.org/iscc/terms/#$schema" + }, + "iscc": { + "type": "string", + "description": "An **ISCC-CODE** in canonical representation. This is the minimal required field for a valid ISCC Metadata object.", + "example": "ISCC:KACYPXW445FTYNJ3CYSXHAFJMA2HUWULUNRFE3BLHRSCXYH2M5AEGQY", + "minLength": 15, + "maxLength": 73, + "pattern": "^ISCC:[A-Z2-7]{10,73}$" + }, + "iscc_id": { + "type": "string", + "description": "The **ISCC-ID** of the digital content in canonical representation.", + "example": "ISCC:MAACAJINXFXA2SQX", + "minLength": 15, + "maxLength": 73, + "pattern": "^ISCC:[A-Z2-7]{10,73}$", + "x-iscc-context": "http://schema.org/identifier", + "x-iscc-schema-doc": "The identifier property represents any kind of identifier for any kind of Thing, such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links." + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 128, + "example": "The Never Ending Story", + "description": "The title or name of the intangible creation manifested by the identified *digital content*. **Used as input for ISCC Meta-Code generation**.", + "x-iscc-context": "http://schema.org/name", + "x-iscc-schema-doc": "The name of the item.", + "x-iscc-embed": "Use `Iptc.Application2.Headline` and `Xmp.photoshop.Headline` for image embedding" + }, + "description": { + "type": "string", + "example": "a 1984 fantasy film co-written and directed by *Wolfgang Petersen*", + "minLength": 1, + "maxLength": 4096, + "description": "Description of the *digital content* identified by the **ISCC**. **Used as input for ISCC Meta-Code generation**. Any user presentable text string (including Markdown text) indicative of the identity of the referent may be used.", + "x-iscc-context": "http://schema.org/disambiguatingDescription", + "x-iscc-schema-doc": "A sub property of description. A short description of the item used to disambiguate from other, similar items. Information from other properties (in particular, name) may be necessary for the description to be useful for disambiguation.", + "x-iscc-embed": "Use `Exif.Image.ImageDescription`, `Iptc.Application2.Caption` and `Xmp.dc.description` for image embedding." + }, + "meta": { + "type": "string", + "maxLength": 16384, + "example": "data:application/json;charset=utf-8;base64,eyJleHRlbmRlZCI6Im1ldGFkYXRhIn0=", + "description": "Subject, industry, or use-case specific metadata encoded as Data-URL.", + "x-iscc-context": "http://purl.org/iscc/terms/#meta", + "x-iscc-status": "stable" + }, + "mode": { + "type": "string", + "enum": [ + "text", + "image", + "audio", + "video", + "mixed" + ], + "example": "video", + "description": "The perceptual mode used to create the ISCC-CODE." + }, + "creator": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": [ + { + "type": "string" + } + ] + } + ], + "description": "An entity primarily responsible for making the resource.", + "example": "Joanne K. Rowling", + "x-iscc-context": "http://schema.org/creator", + "x-iscc-schema-doc": "The creator/author of this CreativeWork. This is the same as the Author property for CreativeWork.", + "x-iscc-embed": "Use `Exif.Image.Artist`, `Iptc.Application2.Byline` and `Xmp.dc.creator` for emedding this field into image metadata." + }, + "license": { + "type": "string", + "format": "uri", + "description": "URI of license for the identified *digital content*.", + "example": "https://example.com/license-terms-for-this-item", + "x-iscc-context": "http://schema.org/license", + "x-iscc-schema-doc": "A license document that applies to this content, typically indicated by URL.", + "x-iscc-embed": "Use `Xmp.xmpRights.WebStatement` for embedding as image metadata." + }, + "acquire": { + "type": "string", + "format": "uri", + "description": "This field must contain a valid URL referring to a page showing information about how one can acquire a license for the item. This may be a page of a web shop or NFT marketplace ready for providing a license.", + "example": "https://example.com/buy-license-for-item-here", + "x-iscc-context": "http://schema.org/acquireLicensePage", + "x-iscc-schema-doc": "Indicates a page documenting how licenses can be purchased or otherwise acquired, for the current item.", + "x-iscc-embed": "Use `Xmp.plus.Licensor[1]/plus:LicensorURL` for embedding in images." + }, + "credit": { + "type": "string", + "description": "A line of text that you expect users of the image (such as Google Images) to display alongside the image.", + "example": "Frank Farian - Getty Images", + "x-iscc-context": "http://schema.org/creditText", + "x-iscc-schema-doc": "Text that can be used to credit person(s) and/or organization(s) associated with a published Creative Work.", + "x-iscc-embed": "Use `Iptc.Application2.Credit` and `Xmp.photoshop.Credit` for metadata embedding." + }, + "rights": { + "type": "string", + "description": "Contains any necessary copyright notice and should identify the current owner of the copyright of this work with associated intellectual property rights.", + "example": "© Copyright 2022 ISCC Foundation - www.iscc.codes", + "x-iscc-context": "http://schema.org/copyrightNotice", + "x-iscc-schema-doc": "Text of a notice appropriate for describing the copyright aspects of this Creative Work, ideally indicating the owner of the copyright for the Work.", + "x-iscc-embed": "Use `Exif.Image.Copyright`, `Iptc.Application2.Copyright` and `Xmp.dc.rights` for embedding." + }, + "original": { + "type": "boolean", + "description": "The signee of the declaring transaction claims to be the original creator of the work manifested by the identified digital content.", + "example": true, + "x-iscc-context": "http://purl.org/iscc/terms/#original" + }, + "verifications": { + "description": "A list of self-verifications. Self-verifications are public URLs under the account/authority of the signee. The verification URL must respond to a GET request with text that contains a multihash of the ISCC declaration signees wallet address in the format of `verify::verify`.", + "example": [ + { + "url": "https://twitter.com/titusz/status/1490104312051257347" + } + ], + "type": "array", + "items": { + "type": "object" + }, + "maxItems": 128, + "uniqueItems": true, + "x-iscc-context": "http://purl.org/iscc/terms/#verifications" + }, + "media_id": { + "type": "string", + "description": "Vendor specific (internal) identifier for the source media file.", + "example": "05VQ3BGTGFCJA", + "x-iscc-context": "http://schema.org/identifier", + "x-iscc-schema-doc": "The identifier property represents any kind of identifier for any kind of Thing, such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links." + }, + "image": { + "type": "string", + "format": "uri", + "description": "URI for a user-presentable image that serves as a preview of the *digital content*. The URI may be a Data-URL [RFC2397](https://datatracker.ietf.org/doc/html/rfc2397). If **ISCC** metadata is used as NFT metadata according to [ERC-721](https://ethereum.org/en/developers/docs/standards/tokens/erc-721/) or [ERC-1155](https://ethereum.org/en/developers/docs/standards/tokens/erc-1155/) the URI should reference the actual digital content represented by the NFT.", + "example": "https://picsum.photos/200/300.jpg", + "x-iscc-context": "http://schema.org/image", + "x-iscc-schema-doc": "An image of the item. This can be a URL or a fully described ImageObject." + }, + "identifier": { + "description": "Other identifier(s) referencing the work, product or other abstraction of which the referenced **digital content** is a full or partial manifestation.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": [ + { + "type": "string" + } + ] + } + ], + "x-iscc-context": "http://schema.org/identifier", + "x-iscc-schema-doc": "The identifier property represents any kind of identifier for any kind of Thing, such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links. See background notes for more details." + }, + "content": { + "description": "URI of the *digital content* that was used to create this ISCC.", + "type": "string", + "format": "uri", + "x-iscc-context": "http://schema.org/contentUrl", + "x-iscc-schema-doc": "Actual bytes of the media object, for example the image file or video file." + }, + "keywords": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": [ + { + "type": "string" + } + ] + } + ], + "description": "Keywords or tags used to describe this content. Multiple entries in a keywords list are typically delimited by commas.", + "x-iscc-context": "http://schema.org/keywords", + "x-iscc-schema-doc": "Keywords or tags used to describe this content. Multiple entries in a keywords list are typically delimited by commas." + }, + "redirect": { + "type": "string", + "description": "URL to which an ISCC resolver should redirect the ISCC-ID. **Supports URI template `(iscc-id)`**", + "example": "https://example.com/land-here-when-resolving-iscc-id", + "format": "uri", + "x-iscc-context": "http://purl.org/iscc/terms/#redirect" + }, + "previous": { + "description": "ISCC of the preceding version of this item.", + "type": "string", + "x-iscc-context": "http://purl.org/iscc/terms/#previous" + }, + "version": { + "description": "The version of the CreativeWork embodied by a specified resource.", + "type": [ + "integer", + "string" + ], + "x-iscc-context": "http://schema.org/version", + "x-iscc-schema-doc": "The version of the *digital content* identified by the ISCC." + }, + "created": { + "description": "Datetime the ISCC was created for the item.", + "type": "string", + "format": "date-time", + "readOnly": true, + "x-iscc-context": "http://schema.org/dateCreated", + "x-iscc-schema-doc": "The date on which the CreativeWork was created or the item was added to a DataFeed." + }, + "filename": { + "type": "string", + "readOnly": true, + "description": "Filename of the referenced **digital content** (automatically used as fallback if the `name` field was not specified for ISCC processing)", + "x-iscc-context": "http://purl.org/iscc/terms/#filename" + }, + "filesize": { + "type": "integer", + "readOnly": true, + "description": "File size of media asset in number of bytes.", + "x-iscc-context": "http://schema.org/fileSize", + "x-iscc-schema-doc": "Size of the application / package (e.g. 18MB). In the absence of a unit (MB, KB etc.), KB will be assumed." + }, + "mediatype": { + "type": "string", + "readOnly": true, + "description": "An [IANA Media Type](https://www.iana.org/assignments/media-types/media-types.xhtml) (MIME type)", + "example": "image/png", + "x-iscc-context": "http://schema.org/encodingFormat", + "x-iscc-schema-doc": "Media type typically expressed using a MIME format (see IANA site and MDN reference) e.g. application/zip for a SoftwareApplication binary, audio/mpeg for .mp3 etc.). In cases where a CreativeWork has several media type representations, encoding can be used to indicate each MediaObject alongside particular encodingFormat information. Unregistered or niche encoding and file formats can be indicated instead via the most appropriate URL, e.g. defining Web page or a Wikipedia/Wikidata entry." + }, + "duration": { + "type": "integer", + "readOnly": true, + "description": "Duration of audio-visual media in secondes.", + "x-iscc-context": "http://schema.org/duration", + "x-iscc-schema-doc": "The duration of the item (movie, audio recording, event, etc.) in [ISO 8601 date format](https://en.wikipedia.org/wiki/ISO_8601)." + }, + "fps": { + "readOnly": true, + "type": "number", + "description": "Frames per second of video assets.", + "format": "float", + "example": 24, + "x-iscc-context": "http://purl.org/iscc/terms/#fps", + "minimum": 1 + }, + "width": { + "readOnly": true, + "type": "integer", + "description": "Width of visual media in number of pixels.", + "format": "int32", + "example": 640, + "x-iscc-context": "http://purl.org/iscc/terms/#width" + }, + "height": { + "readOnly": true, + "type": "integer", + "description": "Height of visual media in number of pixels.", + "format": "int32", + "example": 480, + "minimum": 1, + "x-iscc-context": "http://purl.org/iscc/terms/#height" + }, + "characters": { + "readOnly": true, + "type": "integer", + "description": "Number of text characters (code points after Unicode normalization)", + "example": 55689, + "x-iscc-context": "http://purl.org/iscc/terms/#characters" + }, + "pages": { + "readOnly": true, + "type": "integer", + "description": "Number of pages (for paged documents only)", + "example": 77, + "x-iscc-context": "http://schema.org/numberOfPages", + "x-iscc-schema-doc": "The number of pages in the book." + }, + "language": { + "description": "Language(s) of content [BCP 47](https://tools.ietf.org/search/bcp47).", + "example": "en-US", + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": [ + { + "type": "string" + } + ] + } + ], + "x-iscc-context": "http://schema.org/inLanguage", + "x-iscc-schema-doc": "The language of the content or performance or used in an action. Please use one of the language codes from the [IETF BCP 47 standard](https://www.rfc-editor.org/info/bcp47). See also [availableLanguage](https://schema.org/availableLanguage)." + }, + "parts": { + "type": "array", + "description": "Indicates items that are part of this item via Content-Codes (inverse-property belongs).", + "x-iscc-context": "http://purl.org/iscc/terms/#parts", + "items": { + "type": "string" + } + }, + "part_of": { + "type": "array", + "description": "Indicates that this item is part of other items via their Content-Code.", + "x-iscc-context": "http://purl.org/iscc/terms/#part_of", + "items": { + "type": "string" + } + }, + "features": { + "readOnly": true, + "type": "array", + "description": "Granular features of the *digital content*.", + "x-iscc-context": "http://purl.org/iscc/terms/#features", + "items": { + "type": "object" + } + }, + "generator": { + "readOnly": true, + "type": "string", + "description": "Name and version of the software that generated the ISCC", + "x-iscc-context": "http://purl.org/iscc/terms/#generator" + }, + "external_url": { + "description": "This is the URL that will appear below the asset's image on some NFT Marketplaces and will allow users to leave the site and view the item on your site. **Supports URI template `(iscc-id)`**.", + "type": "string", + "format": "uri", + "x-iscc-context": "http://purl.org/iscc/terms/#external_url", + "x-iscc-category": "nft" + }, + "animation_url": { + "description": "A URL to a multi-media attachment for the item.", + "type": "string", + "format": "uri", + "x-iscc-context": "http://purl.org/iscc/terms/#animation_url", + "x-iscc-category": "nft" + }, + "properties": { + "description": "Arbitrary properties. Values may be strings, numbers, object or arrays. Properties defined here may show up on NFT marketplaces. See [ERC-1155](https://eips.ethereum.org/EIPS/eip-1155#metadata)", + "type": "object", + "example": { + "simple_property": "example value", + "rich_property": { + "name": "Name", + "value": "123", + "display_value": "123 Example Value", + "class": "emphasis", + "css": { + "color": "#ffffff", + "font-weight": "bold", + "text-decoration": "underline" + } + }, + "array_property": { + "name": "Name", + "value": [ + 1, + 2, + 3, + 4 + ], + "class": "emphasis" + } + }, + "x-iscc-context": "http://purl.org/iscc/terms/#properties", + "x-iscc-category": "nft" + }, + "attributes": { + "description": "Similar to `properties` but as an array of objects. These attributes will show up on some NFT marketplaces.", + "example": [ + { + "trait_type": "METAL", + "value": "SILVER" + }, + { + "display_type": "number", + "trait_type": "GENERATION", + "value": 1 + } + ], + "type": "array", + "items": { + "type": "object" + }, + "x-iscc-context": "http://purl.org/iscc/terms/#attributes", + "x-iscc-category": "nft" + }, + "nft": { + "description": "A unique URI for a non-fungible token of the identified content. The URI must contain references to the blockchain, smart-contract and token. The recommended schemes are [CAIP-22](https://github.com/ChainAgnostic/CAIPs/blob/master/CAIPs/caip-22.md) and [CAIP-29](https://github.com/ChainAgnostic/CAIPs/blob/master/CAIPs/caip-29.md).", + "type": "string", + "format": "uri", + "example": "eip155:1/erc721:0x06012c8cf97BEaD5deAe237070F9587f8E7A266d/771769", + "x-iscc-context": "http://purl.org/iscc/terms/#nft", + "x-iscc-category": "nft" + }, + "tophash": { + "type": "string", + "readOnly": true, + "minLength": 40, + "example": "bdyqnosmb56tqudeibogyygmf2b25xs7wpg4zux4zcts2v6llqmnj4ja", + "description": "A [Multihash](https://multiformats.io/multihash/) of the concatenation (binding) of metahash and datahash (default blake3).", + "x-iscc-context": "http://purl.org/iscc/terms/#tophash" + }, + "metahash": { + "type": "string", + "minLength": 40, + "example": "f01551220b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9", + "readOnly": true, + "description": "A [Multiformats](https://multiformats.io) multihash or IPFS CIDv1 of the supplied metadata. The hash is created from `name` and `description` fields or `meta` if supplied.", + "x-iscc-context": "http://purl.org/iscc/terms/#metahash" + }, + "datahash": { + "type": "string", + "minLength": 40, + "example": "bdyqk6e2jxh27tingubae32rw3teutg6lexe23qisw7gjve6k4qpteyq", + "readOnly": true, + "description": "A [Multihash](https://multiformats.io/multihash/) of the *digital content* (default blake3).", + "x-iscc-context": "http://purl.org/iscc/terms/#datahash" + }, + "chain": { + "type": "string", + "description": "The blockchain on which an ISCC-CODE is declared.", + "example": "ETHEREUM", + "enum": [ + "PRIVATE", + "BITCOIN", + "ETHEREUM", + "POLYGON" + ], + "x-iscc-context": "http://purl.org/iscc/terms/#chain" + }, + "wallet": { + "type": "string", + "description": "The wallet-address that signs an ISCC declaration.", + "example": "0xb794f5ea0ba39494ce839613fffba74279579268", + "x-iscc-context": "http://purl.org/iscc/terms/#wallet" + }, + "thumbnail": { + "type": "string", + "description": "URI an autogenerated user-presentable thumbnail-image that serves as a preview of the digital content. The URI may be a Data-URL RFC2397.", + "format": "uri", + "example": "https://picsum.photos/200/300.jpg", + "x-iscc-context": "http://schema.org/thumbnailUrl", + "x-iscc-schema-doc": "A thumbnail image relevant to the Thing.", + "x-iscc-status": "stable" + } + } +} \ No newline at end of file