Skyocean Ontology

Structured vocabulary for agricultural commodities trading and humanitarian donation programs in decentralized knowledge graphs.

Base URI: https://skyocean.io/ontology/

Turtle JSON-LD

Introduction

Specialized vocabulary for global trade of agricultural commodities and traceable humanitarian donation programs: transparency, traceability, and financing. Enables semantic interoperability between ERP, DKG, and blockchain.

  • Trade transactions and lifecycle stages
  • Agricultural commodities and specifications
  • Trade parties and roles
  • Documents and verification status
  • Financing and payment processes
  • Donation campaigns, contributions, and distribution tracking

Compatible with OriginTrail DKG v8 and public/private assertion separation.

Core Classes

skyocean:Trade

Complete trade transaction between parties. Subclass: skyocean:CommodityTrade.

Details

skyocean:Commodity

Physical goods traded, including specifications and certifications.

Details

skyocean:TradeParty

Entities in a trade (buyer, seller, consignee, etc.).

Details

skyocean:Document

Trade-related documentation and verification status.

Details

skyocean:BlockchainTransaction

Records of trade events on the blockchain.

skyocean:FinancingRecord

Trade financing arrangements and token positions.

Verification & Convergence

Added v2.1.0, the richer classification of payment signal sources and institutional attestations lives here in the DKG, keeping the on-chain contract minimal.

skyocean:InstitutionalAttestation

An independent observation by an operational institution (port, customs, inspection, carrier, condition monitor, payment rail, financial institution, or human verifier) about a trade event.

skyocean:PaymentSource

A record of a signal confirming payment occurred, mobile money, national switch, regional settlement, SWIFT, LC, CAD, on-chain escrow, or human-attested. Subclass of InstitutionalAttestation.

skyocean:ConvergenceRecord

The aggregate cross-validated state of a trade, built from the convergence of independent institutional attestations. Carries the computed verification strength.

Insurance & Cargo Incident v2.1.1

Added v2.1.1, cargo insurance is a first-class element of every trade. The audit trail follows a damaged-cargo scenario from incident → surveyor attestation → claim filing → claim approval → payout.

skyocean:InsurancePolicy

A cargo or marine insurance policy bound to one or more trades. Subclass of Document. Carries policy number, insurer, coverage type, sum insured, deductible, effective and expiry dates.

skyocean:CargoIncident

An event affecting cargo that may trigger an insurance claim, damage, loss, theft, contamination, delay, casualty. Captures location, date, affected quantity, loss extent, and the surveyor attestation that grounds it.

skyocean:InsuranceClaim

A formal claim filed against an InsurancePolicy in respect of a CargoIncident. Carries claim status, claimed amount, payout amount and date, with references to both the policy and the incident.

Logistics & Trade Extensions v2.1.2

Added v2.1.2, logistics record, trade-level extensions (shipper, corridor, funding-branch, payment-trigger), on-chain anchoring, financing extensions, private-layer wrappers, and the trade: sub-namespace. Semantics align with GS1 / DCSA where applicable; canonical mapping reserved for a future major version.

skyocean:LogisticsRecord

A summary of the logistics for a shipping leg, vessel, voyage, carrier, loading / discharge ports, BL number, container count and type. Attaches to a Trade via skyocean:logistics.

skyocean:PublicTradeOverview

A typeable marker class indicating that a Trade KA is published as a public-overview assertion (paired with a private TradePrivateData KA). Used as a secondary @type alongside CommodityTrade.

trade: sub-namespace

High-level commodity attributes (trade:quantity, trade:origin, trade:destination) and timeline dates (trade:expectedShipmentDate, trade:expectedArrivalDate, trade:expectedSettlementDate, trade:originatedAt) under https://skyocean.io/ontology/trade/.

Donation Classes

Extension namespace: https://skyocean.io/ontology/donation/

donation:DonationCampaign

A bounded humanitarian-aid campaign with a packing list, target amount, and delivery timeline. Anchored by a backend-issued donation:campaignId; funding sources (wallets and/or bank accounts) are attached to the campaign rather than acting as its anchor.

donation:DonationContribution

A single donor contribution to a campaign, via stablecoin or bank transfer. Links to the campaign KA.

donation:DonationDistribution

A delivery event recording kits distributed to beneficiaries, verified by state officials on the ground.

donation:DonationCampaignPrivate

Private assertion data for a campaign: supplier details, distribution plan, bank account, and access permissions.

donation:SupplyChainSignal

Real-time signals from IoT sensors, partner confirmations, or field reports linked to a campaign.

donation:DonationKit

Specification of a kit's contents, food, medicine, prevention items, with quantities and sourcing details.

Document-Level Enrichment v2.1.3

Added v2.1.3, six new classes for granular operational signals (vessel position, production plot, cold-chain logging, donation aggregate receipt, distribution observation, last-mile acknowledgment) plus ~20 new properties used in the private layer of Document KAs (logistics, treatment, EDIFACT, SWIFT, insurance, EUDR, cold-chain, donation aggregation).

skyocean:VesselPosition

A point-in-time vessel position read (lat/lon/SOG/COG, timestamp, source AIS/SafeSeaNet). Series-style attestation produced by carrier or condition monitor; aggregated into the in-transit verification feed.

skyocean:ProductionPlot

EUDR plot record, geometry (WKT polygon or GeoJSON), country of production, deforestation-cut-off date, and sourcing-location reference. Attaches to a Document KA carrying the EUDR Due Diligence Statement.

skyocean:ColdChainLog

Continuous cold-chain telemetry, sensor reference, temperature range, deviation events, container/voyage scope. Used by donation campaigns shipping cold-chain medicines and by perishable trade corridors.

donation:DonorAggregateReceipt

Aggregated record of donor contributions for a campaign or wave, total amount, contributor count, channel mix (stablecoin / SEPA / SWIFT). Public-tier counts only; per-donor identities live in private contribution KAs.

donation:DistributionObservation

Independent observer's record of a distribution event (location, date, kit count handed out, observer DID, attestation hash). Pairs with a donation:DonationDistribution KA for verification.

donation:LastMileAcknowledgment

Last-mile recipient acknowledgment, distributor DID, recipient role (community lead / clinic / school), kit count, optional digital signature. Closes the loop on supply-chain visibility.

v2.1.3 Property Additions

New properties surfaced on Document KAs, organized by domain. Most live in the document's private assertion (auth-token-gated); a few are public-tier (issuer DID, attestor role, document number, doc type).

CategoryProperties
LogisticscontainerNumber, sealNumber, imoNumber, mmsiNumber, vesselName, bookingReference, grossWeight, netWeight
Treatment & InspectiontreatmentMethod, samplingMethod, qualityParameters, lotReference, hsCode
EDIFACTedifactMessageType, edifactStatus
SWIFTswiftUETR, senderReference, beneficiaryReference
InsuranceinsuredValue, premiumAmount
EUDRvia skyocean:ProductionPlot (plot geometry, country of production, deforestation cut-off date)
Cold-Chainvia skyocean:ColdChainLog (sensor reference, temperature range, deviation events)
Donationsvia donation:DonorAggregateReceipt, donation:DistributionObservation, donation:LastMileAcknowledgment

Key Properties

PropertyDomainRangeDescription
skyocean:tradeStatusTradexsd:stringTrade transaction status
skyocean:financingStatusTradexsd:stringFinancing status
skyocean:documentStatusDocumentxsd:stringDocument status
skyocean:verificationStatusDocumentxsd:stringVerification status
skyocean:roleTradePartyxsd:stringEntity role
skyocean:walletAddressTradePartyxsd:stringBlockchain wallet
skyocean:financierProfitRateFinancingRecordxsd:decimalFinancier profit rate
Verification & Convergence Properties (v2.1.0)
skyocean:attestorTypeInstitutionalAttestationxsd:stringCategory of institution (PortAuthority, CustomsAuthority, InspectionAgency, Carrier, ConditionMonitor, PaymentRail, FinancialInstitution, Human)
skyocean:attestorIdentityInstitutionalAttestationxsd:stringName of the specific attesting institution
skyocean:attestationTypeInstitutionalAttestationxsd:stringNature of the observation (VesselCall, CargoHandling, CustomsClearance, QualityInspection, ConditionReading, Departure, PaymentConfirmation)
skyocean:attestationTimestampInstitutionalAttestationxsd:dateTimeTime of the observation
skyocean:attestationSignatureInstitutionalAttestationxsd:stringIntegrity hash or signature of the payload
skyocean:tradeRefInstitutionalAttestationxsd:anyURILink to the Trade KA this attestation feeds
skyocean:sourceTypePaymentSourcexsd:stringMobileMoney, NationalSwitch, RegionalSettlement, SWIFT, LetterOfCredit, CashAgainstDocuments, OnChainEscrow, HumanAttested
skyocean:sourceProviderPaymentSourcexsd:stringSpecific rail or network (MTN MoMo, GhIPSS, PAPSS, etc.)
skyocean:confirmationReferencePaymentSourcexsd:stringExternal txn ID or reference
skyocean:confirmedAmountPaymentSourceschema:MonetaryAmountSettled amount as reported by the source
skyocean:attestationCountConvergenceRecordxsd:integerTotal attestations linked to the trade
skyocean:independentAttestorCountConvergenceRecordxsd:integerDistinct attesting institutions
skyocean:verificationStrengthConvergenceRecordxsd:decimalComputed score (0.0 to 1.0)
skyocean:consensusStatusConvergenceRecordxsd:stringInsufficient, Partial, Strong, Full
Donation Properties (donation: namespace, v2.1.0)
donation:campaignIdDonationCampaignxsd:stringCanonical anchor: backend-issued campaign ID (e.g. CMP-2026-SUD-001)
donation:statusDonationCampaignxsd:stringCampaign status (Active, Funded, Procuring, Shipping, Delivered)
donation:targetAmountDonationCampaignschema:MonetaryAmountFunding goal for the campaign
donation:currentAmountDonationCampaignschema:MonetaryAmountCurrent funds received
donation:fundingSourceDonationCampaignskyocean:PaymentSourceOne or more funding sources, wallet(s) and/or bank account(s) (Revolut, SEPA, SWIFT, stablecoin)
donation:campaignWalletDonationCampaignxsd:stringOptional. EVM wallet address, one possible funding source, never the anchor
donation:consignedToDonationCampaignskyocean:PartySkyocean in-region entity (e.g. Skyocean Sudan) that receives the goods on consignment
donation:packingListDonationCampaigndonation:DonationKitCampaign packing list (kits, quantities, specs), analog to trade agreement in core flow
donation:costSummaryDonationCampaignschema:MonetaryAmountPublic. Top-level cost summary (kits vs operations)
donation:operationalCostBreakdownDonationCampaignPrivateschema:MonetaryAmountPrivate. Detailed ops breakdown (freight, customs, insurance, last-mile, platform)
donation:contributorCountDonationCampaignxsd:integerNumber of contributors
donation:targetBeneficiariesDonationCampaignxsd:integerTarget number of families served
donation:regionDonationCampaignxsd:stringTarget distribution region
donation:campaignRefDonationContribution, DonationDistribution, SupplyChainSignalxsd:stringReference to parent campaign by donation:campaignId (and optionally KA UAL)
donation:methodDonationContributionxsd:stringPayment rail (stablecoin, revolut, sepa, swift)
donation:paymentSourceDonationContributionskyocean:PaymentSourceRail-specific payment record (provider, reference, institutional flag)
donation:onChainTxHashDonationContributionxsd:stringOn-chain transaction hash
donation:kycRefDonationContributionxsd:stringKYC attestation reference, required for every contribution (no anonymous donations)
donation:deliveryStatusDonationDistributionxsd:stringPublic. Delivered / partially-delivered / not-delivered + recipient category
donation:familiesServedDonationDistributionxsd:integerPrivate. Number of families who received kits
donation:kitsDistributedDonationDistributionxsd:integerPrivate. Number of kits delivered
donation:verifiedByDonationDistributionskyocean:PartyState official, NGO or partner witness
donation:attestationRefDonationDistributionskyocean:InstitutionalAttestationReference to an independent institutional attestation feeding the convergence evaluator
donation:signalTypeSupplyChainSignalxsd:stringSignal type (contribution, procurement, shipment, customs, handover, distribution)

Vocabulary Terms

Transaction Status

  • Pending Initial
  • PendingFinancing Awaiting financier
  • FinancingSecured Finance complete
  • DocumentsSubmitted Awaiting verification
  • DocumentsVerified Awaiting payment
  • PaymentConfirmed Payment received
  • TokensReleased Financier paid
  • Completed Final

Document Status

  • Pending Not submitted
  • Submitted Awaiting verification
  • Verified Approved
  • Rejected Failed
  • Expired Time exceeded

Financing Status

  • NotStarted Initial
  • InProgress Underway
  • Completed Obtained
  • Failed Not secured

Payment Source Types v2.1.0

Values for skyocean:sourceType. The on-chain contract only knows CAD / LetterOfCredit / OnChainEscrow; this richer set lives in the DKG.

  • MobileMoney MTN MoMo, M-Pesa, Orange Money, Wave
  • NationalSwitch GhIPSS, NIBSS, UPI
  • RegionalSettlement PAPSS, SEPA Instant
  • SWIFT Wire / MT103
  • LetterOfCredit LC / documentary
  • CashAgainstDocuments CAD
  • OnChainEscrow Stablecoin
  • HumanAttested Operator confirmation

Attestor Types v2.1.0

Values for skyocean:attestorType. Each attestation comes from one of these categories.

  • PortAuthority Vessel call, gate events
  • CustomsAuthority Clearance, declaration
  • InspectionAgency SGS, Cotecna, Bureau Veritas
  • Carrier Shipping line, freight forwarder
  • ConditionMonitor IoT, temperature, GPS
  • PaymentRail MoMo, switch, settlement
  • FinancialInstitution Bank, LC issuer
  • Human Operator / field verifier

Consensus Status v2.1.0

Values for skyocean:consensusStatus. Derived from verificationStrength and the mix of independent attestors.

  • Insufficient < threshold
  • Partial Some corroboration
  • Strong Multiple independents agree
  • Full All expected attestors present

Attestation Types v2.1.0 extended v2.1.1

Values for skyocean:attestationType.

  • VesselCall
  • CargoHandling
  • CustomsClearance
  • QualityInspection
  • ConditionReading
  • Departure
  • PaymentConfirmation
  • IncidentReport v2.1.1
  • ClaimDecision v2.1.1
  • ComplianceVerification v2.1.1

Donation Campaign Status

  • Active Accepting contributions
  • Funded Target reached
  • Procuring Kits being sourced
  • Shipping In transit
  • Delivered Final
  • Cancelled Cancelled

Donation Signal Types

  • IoT-Temperature Container sensor
  • IoT-GPS Location tracking
  • PartnerConfirmation Port, customs, logistics
  • FieldReport Distribution evidence
  • Verification Third-party audit

Usage Example

Basic Trade Knowledge Asset

"@context": {
  "schema": "http://schema.org/",
  "skyocean": "https://skyocean.io/ontology/",
  "xsd": "http://www.w3.org/2001/XMLSchema#"
},
"@id": "urn:skyocean:trade:PO-12345678",
"@type": ["skyocean:Trade", "skyocean:CommodityTrade"],
"schema:identifier": "PO-12345678",
"schema:name": "Soybean Shipment PO-12345678",
"skyocean:tradeStatus": "Pending",
"skyocean:financingStatus": "NotStarted"
}

Payment Source Knowledge Asset v2.1.0

"@context": {
  "schema": "http://schema.org/",
  "skyocean": "https://skyocean.io/ontology/"
},
"@id": "urn:skyocean:paymentsource:MOMO-2026-0042",
"@type": ["skyocean:PaymentSource", "skyocean:InstitutionalAttestation"],
"skyocean:tradeRef": "urn:skyocean:trade:PO-12345678",
"skyocean:attestorType": "PaymentRail",
"skyocean:attestorIdentity": "MTN MoMo Ghana",
"skyocean:attestationType": "PaymentConfirmation",
"skyocean:sourceType": "MobileMoney",
"skyocean:sourceProvider": "MTN MoMo",
"skyocean:confirmationReference": "MOMO-TXN-8846201",
"skyocean:confirmedAmount": { "schema:value": 185000, "schema:currency": "USD" },
"skyocean:attestationTimestamp": "2026-04-02T09:00:00Z"
}

Donation Campaign Knowledge Asset

"@context": {
  "schema": "http://schema.org/",
  "skyocean": "https://skyocean.io/ontology/",
  "donation": "https://skyocean.io/ontology/donation/"
},
"@id": "urn:skyocean:donation:CMP-2026-SUD-001",
"@type": ["donation:DonationCampaign"],
"donation:campaignId": "CMP-2026-SUD-001",
"schema:name": "Sudan Relief, Food & Medicine Kits (Batch 001)",
"donation:status": "Active",
"donation:targetAmount": { "schema:value": 100000, "schema:currency": "EUR" },
"donation:currentAmount": { "schema:value": 47500, "schema:currency": "EUR" },
"donation:consignedTo": "Skyocean Sudan",
"donation:fundingSource": [
  { "skyocean:rail": "stablecoin", "skyocean:provider": "Polygon", "skyocean:reference": "0xabc...def" },
  { "skyocean:rail": "sepa",       "skyocean:provider": "Revolut",  "skyocean:reference": "LT00 0000 0000 0000 0001" }
],
"donation:costSummary": [
  { "schema:name": "Kits",       "schema:value": 75000, "schema:currency": "EUR" },
  { "schema:name": "Operations", "schema:value": 25000, "schema:currency": "EUR" }
],
"donation:contributorCount": 38,
"donation:targetBeneficiaries": 500,
"donation:region": "Khartoum State, Sudan"
}