The class representing trade documentation in the Skyocean ecosystem.
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.
| 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 |
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 |
This example shows a basic Document Knowledge Asset with public and private sections:
{
"@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"
}
{
"@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"
]
}
}
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.