skyocean:Document

The class representing trade documentation in the Skyocean ecosystem.

Class URI: https://skyocean.io/ontology/Document

Description

A skyocean:Document represents any type of trade documentation used in international commodity trading. This includes shipping documents, financial documents, quality certificates, and regulatory compliance documents. The document class provides a structured way to store, track, and verify the authenticity of critical trade documents on the blockchain.

Subclasses

Properties

Property Type Description Cardinality
schema:identifier xsd:string Unique identifier for the document 1..1
schema:name xsd:string Human-readable name for the document 1..1
skyocean:documentType URI The type of the document from a controlled vocabulary 1..1
schema:dateCreated xsd:dateTime Date and time when the document was created 1..1
schema:dateModified xsd:dateTime Date and time when the document was last modified 0..1
skyocean:documentStatus xsd:string Current status of the document (Draft, Issued, Verified, etc.) 1..1
skyocean:issuingParty skyocean:TradeParty The party that issued the document 1..1
skyocean:receivingParty skyocean:TradeParty The party that receives the document 0..1
skyocean:relatedTrade skyocean:Trade The trade this document is related to 1..1
skyocean:publicReference URI Public reference identifier for this document 0..1
skyocean:documentHash xsd:string Cryptographic hash of the document content 1..1
skyocean:verificationStatus xsd:string Status of document verification process 1..1
skyocean:signatureInfo Object Information about digital signatures on the document 0..1

Private Properties

In DKG v8, the following properties are typically stored in the private section of the Knowledge Asset:

Property Type Description Cardinality
skyocean:referenceId URI Reference to the public section URI 1..1
skyocean:documentContent xsd:string Actual content of the document (encoded or raw) 0..1
skyocean:documentURL schema:URL URL to access the document content 0..1
skyocean:documentDetails Object Detailed information specific to document type 0..1
skyocean:accessControl Object Access control specifications 0..1
skyocean:encryptionInfo Object Information about encryption used for document 0..1

Example Usage

This example shows a basic Document Knowledge Asset with public and private sections:

Public Section

{
  "@context": {
    "schema": "http://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "skyocean": "https://skyocean.io/ontology/",
    "trade": "https://vocab.trade/terms#",
    "country": "http://publications.europa.eu/resource/authority/country/"
  },
  "@id": "urn:skyocean:document:BL-2023-45678",
  "@type": ["skyocean:Document", "skyocean:BillOfLading"],
  "schema:identifier": "BL-2023-45678",
  "schema:name": "Bill of Lading for PO-12345678",
  "skyocean:documentType": {
    "@id": "https://skyocean.io/ontology/terms/BillOfLading"
  },
  "schema:dateCreated": {
    "@type": "xsd:dateTime",
    "@value": "2023-07-12T09:15:00Z"
  },
  "skyocean:documentStatus": "Issued",
  "skyocean:issuingParty": {
    "@type": "skyocean:TradeParty",
    "schema:name": "Oceanic Shipping Co.",
    "schema:identifier": "OSC-12345"
  },
  "skyocean:relatedTrade": {
    "@id": "urn:skyocean:trade:PO-12345678"
  },
  "skyocean:documentHash": "3f8a7b6c5d4e3f2a1b0c9d8e7f6a5b4c3d2e1f0a",
  "skyocean:verificationStatus": "Verified"
}

Private Section

{
  "@context": {
    "schema": "http://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "skyocean": "https://skyocean.io/ontology/"
  },
  "@id": "urn:skyocean:document:BL-2023-45678#private",
  "@type": ["skyocean:DocumentPrivateData"],
  "skyocean:referenceId": "urn:skyocean:document:BL-2023-45678",
  "skyocean:documentURL": "https://secure.skyocean.io/documents/BL-2023-45678.pdf",
  "skyocean:documentDetails": {
    "skyocean:vesselName": "MV Atlantic Star",
    "skyocean:voyageNumber": "AS-2307-12",
    "skyocean:containerIds": [
      "MSCU1234567",
      "MSCU7654321"
    ],
    "skyocean:cargoWeight": {
      "@type": "schema:QuantitativeValue",
      "schema:value": 24000,
      "schema:unitCode": "KGM"
    },
    "skyocean:shipper": {
      "@type": "skyocean:TradeParty",
      "schema:name": "Skyocean Trading LLC",
      "schema:address": {
        "@type": "schema:PostalAddress",
        "schema:streetAddress": "123 Trade Avenue",
        "schema:addressLocality": "Chicago",
        "schema:addressRegion": "IL",
        "schema:postalCode": "60007",
        "schema:addressCountry": {
          "@id": "country:USA"
        }
      }
    },
    "skyocean:consignee": {
      "@type": "skyocean:TradeParty",
      "schema:name": "Ghana Agri-Processors Ltd",
      "schema:address": {
        "@type": "schema:PostalAddress",
        "schema:streetAddress": "45 Industrial Road",
        "schema:addressLocality": "Accra",
        "schema:addressCountry": {
          "@id": "country:GHA"
        }
      }
    }
  },
  "skyocean:accessControl": {
    "skyocean:allowedUsers": [
      "did:ethr:0x1234567890abcdef1234567890abcdef12345678",
      "did:ethr:0xabcdef1234567890abcdef1234567890abcdef12"
    ],
    "skyocean:allowedRoles": [
      "Buyer",
      "Seller",
      "Carrier",
      "Financier"
    ]
  }
}

Document Status Values

  • Draft - Document is in draft stage
  • Issued - Document has been issued
  • Submitted - Document submitted for verification
  • Verified - Document has been verified
  • Rejected - Document was rejected
  • Expired - Document has expired
  • Revoked - Document has been revoked

Verification Status Values

  • NotVerified - Initial state
  • VerificationPending - In verification process
  • Verified - Successfully verified
  • VerificationFailed - Verification failed

DKG Integration

Documents in the Skyocean ecosystem are stored as Knowledge Assets in the DKG network. The public part contains metadata that can be discovered, while sensitive content is stored in the private section with appropriate access controls.

Document hashes are stored on-chain to enable verification of document integrity without revealing sensitive content.