Skip to content

Commit

Permalink
Merge branch 'main' into feat/merge-ppq587
Browse files Browse the repository at this point in the history
  • Loading branch information
rhofvendahl committed Mar 5, 2024
2 parents 119fbd4 + 8b5efda commit a655124
Show file tree
Hide file tree
Showing 18 changed files with 128 additions and 76 deletions.
49 changes: 43 additions & 6 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -204,12 +204,49 @@
<h2>Introduction</h2>

<p>
This specification is designed to enable global supply chain stakeholders to benefit from emerging technological web
standards like the Verifiable Credential (VC) Data Model, Linked Data (i.e. JSON-LD), and the Decentralized Identifier
(DID) Spec. This specification is relevant to prevalent supply chains but also allows for other use cases across a
variety of market segments. The corresponding data exchange schemas are modeled for Verifiable Credentials, which is a
standard for cryptographically signing business data. Schema semantics are precisely defined by use of Linked Data
which leverage established vocabularies such as schema.org, GS1, and UN/CEFACT.
In streamlining operations and reacting to increasing expectations of market transparency and traceability,
global supply chains are undergoing continuous digital transformation. At the same time, the surfaces
exposed to cyber attacks are increasing. These vulnerabilities of critical society infrastructure are
recognized by governments around the world, clearly described in this US Presidential Order:
</p>

<p>
<cite>
The private sector must adapt to the continuously changing threat environment, ensure its products are built and operate
securely, and partner with governments to foster a more secure cyberspace. In the end, the trust we place in
our digital infrastructure should be proportional to [the trustworthiness and transparency of that infrastructure, and] to the
consequences [that may be incurred] if that trust is misplaced.
</cite>
<br/>
Source: <a href="https://www.whitehouse.gov/briefing-room/presidential-actions/2021/05/12/executive-order-on-improving-the-nations-cybersecurity/">
https://www.whitehouse.gov/briefing-room/presidential-actions/2021/05/12/executive-order-on-improving-the-nations-cybersecurity/</a>
</p>

<p>
Similar recognition is seen in this Digital Strategy statement from the European Commission:
</p>

<p>
<cite>
The digital transformation of society [...] has expanded the threat landscape and is
bringing about new challenges, which require adapted and innovative responses.
Now any disruption, even one initially confined to one entity or one sector, can have [more broad, cascading effects],
potentially resulting in far-reaching and long-lasting negative impacts in the delivery of services across the whole
internal market.
</cite>
<br/>
Source: <a href="https://digital-strategy.ec.europa.eu/en/library/proposal-directive-measures-high-common-level-cybersecurity-across-union">
https://digital-strategy.ec.europa.eu/en/library/proposal-directive-measures-high-common-level-cybersecurity-across-union</a>
</p>
<p>
The goal of this specification is to provide a path towards a secure digitized global supply chain. It does so by
leveraging modern cryptography and web technology standards like the <a
href="https://www.w3.org/TR/vc-data-model-2.0/">Verifiable Credential Data Model</a> (<a
href="https://www.w3.org/TR/vc-data-model-2.0/">VCDM</a>), <a
href="https://www.w3.org/TR/json-ld11/">JSON for Linked Data</a> (<a
href="https://www.w3.org/TR/json-ld11/">JSON-LD</a>), and <a
href="https://www.w3.org/TR/did-core/">Decentralized Identifiers</a> (<a
href="https://www.w3.org/TR/did-core/">DIDs</a>).
</p>

<h3>Supply Chain Digitization</h3>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ example: |-
"phoneNumber": "+1-383-555-4822"
},
"voicePickCode": "4642",
"date": "2021-03-14",
"harvestDate": "2021-03-14",
"labelImageUrl": "https://img.example.org/640/480/",
"labelImageHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"agricultureProduct": [
Expand Down
29 changes: 22 additions & 7 deletions docs/openapi/components/schemas/common/AgriculturePackage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,14 +54,29 @@ properties:
$linkedData:
term: voicePickCode
'@id': https://w3id.org/traceability#voicePickCode
date:
title: Packing, Harvest, or Best By Date
packingDate:
title: Packing Date
description: >-
Human readable date describing the date the package was packed, harvested,
or is 'best by.'
Human readable date describing the date the package was packed.
type: string
$linkedData:
term: date
term: packingDate
'@id': https://schema.org/DateTime
harvestDate:
title: Harvest Date
description: >-
Human readable date describing the date the package was harvested.
type: string
$linkedData:
term: harvestDate
'@id': https://schema.org/DateTime
bestByDate:
title: Best By Date
description: >-
Human readable date describing the date the package is 'best by'.
type: string
$linkedData:
term: bestByDate
'@id': https://schema.org/DateTime
labelImageUrl:
title: Label Image URL
Expand Down Expand Up @@ -108,7 +123,7 @@ example: |-
"phoneNumber": "+1-632-555-6601"
},
"voicePickCode": "4642",
"date": "2021-03-14",
"harvestDate": "2021-03-14",
"labelImageUrl": "https://img.example.org/640/480/",
"labelImageHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"agricultureProduct": [
Expand Down Expand Up @@ -189,4 +204,4 @@ example: |-
"labelImageHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
}
]
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ example: |-
"phoneNumber": "+1-470-555-7721"
},
"voicePickCode": "4642",
"date": "2021-03-14",
"harvestDate": "2021-03-14",
"labelImageUrl": "https://img.example.org/640/480/",
"labelImageHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"agricultureProduct": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ properties:
type: string
$linkedData:
term: plantParts
'@id': https://schema.org/description
'@id': https://schema.org/description
labelImageUrl:
title: Label Image URL
description: Image of the package label.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ example: |-
"phoneNumber": "+1-130-555-2218"
},
"voicePickCode": "4642",
"date": "2021-03-14",
"harvestDate": "2021-03-14",
"labelImageUrl": "https://img.example.org/640/480/",
"labelImageHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"agricultureProduct": [
Expand Down
2 changes: 1 addition & 1 deletion docs/openapi/components/schemas/common/GAPInspection.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ properties:
harvestCompany:
title: Harvest Company
description: The harvest company if a separate contracted company is used to harvest the crop.
type: string
$ref: ./Organization.yml
$linkedData:
term: harvestCompany
'@id': https://vocabulary.uncefact.org/associatedParty
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
$linkedData:
term: OrganicCertification
'@id': https://w3id.org/traceability#OrganicCertification
term: OrganicCertificate
'@id': https://w3id.org/traceability#OrganicCertificate
title: Organic Certificate
description: Information regarding the organic certificate.
type: object
Expand All @@ -9,13 +9,13 @@ properties:
type: array
readOnly: true
const:
- OrganicCertification
- OrganicCertificate
default:
- OrganicCertification
- OrganicCertificate
items:
type: string
enum:
- OrganicCertification
- OrganicCertificate
countryOfIssuance:
title: Country of Issuance
description: The country issuing the organic certificate. This value should be a two letter country code as defined in ISO 3166 (e.g., "US" for United States, "CA" for Canada).
Expand Down Expand Up @@ -79,7 +79,7 @@ required:
- type
example: |-
{
"type": ["OrganicCertification"],
"type": ["OrganicCertificate"],
"countryOfIssuance": "US",
"certifiedOperation": {
"type": ["Organization"],
Expand Down
Original file line number Diff line number Diff line change
@@ -1,34 +1,34 @@
$linkedData:
term: OrganicProductCertification
'@id': https://w3id.org/traceability#OrganicProductCertification
title: Organic Product Certification
term: OrganicProductCertificate
'@id': https://w3id.org/traceability#OrganicProductCertificate
title: Organic Product Certificate
description: Information regarding an agriculture product's organic certification status.
type: object
properties:
type:
type: array
readOnly: true
const:
- OrganicProductCertification
- OrganicProductCertificate
default:
- OrganicProductCertification
- OrganicProductCertificate
items:
type: string
enum:
- OrganicProductCertification
- OrganicProductCertificate
agricultureProduct:
title: Agriculture Product
description: The product certified as organic.
$ref: ./AgricultureProduct.yml
$linkedData:
term: agricultureProduct
'@id': https://www.gs1.org/voc/certificationSubject
organicCertification:
organicCertificate:
title: Organic Certificate
description: The product's organic certification.
$ref: ./OrganicCertification.yml
description: The product's organic certificate.
$ref: ./OrganicCertificate.yml
$linkedData:
term: organicCertification
term: organicCertificate
'@id': https://www.gs1.org/voc/certification
isCertified:
title: Is Certified
Expand All @@ -42,7 +42,7 @@ required:
- type
example: |-
{
"type": ["OrganicProductCertification"],
"type": ["OrganicProductCertificate"],
"agricultureProduct": {
"type": [
"AgricultureProduct"
Expand Down Expand Up @@ -81,8 +81,8 @@ example: |-
"labelImageUrl": "https://img.example.org/033383401508/640/480/",
"labelImageHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
"organicCertification": {
"type": ["OrganicCertification"],
"organicCertificate": {
"type": ["OrganicCertificate"],
"certifiedOperation": {
"type": ["Organization"],
"name": "John's Produce",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ example: |-
"phoneNumber": "+1-224-555-4962"
},
"voicePickCode": "4642",
"date": "2021-03-14",
"harvestDate": "2021-03-14",
"labelImageUrl": "https://img.example.org/640/480/",
"labelImageHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"agricultureProduct": [
Expand Down Expand Up @@ -334,4 +334,4 @@ example: |-
}
}
]
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ example: |-
"phoneNumber": "+1-426-555-4205"
},
"voicePickCode": "4642",
"date": "2021-03-14",
"harvestDate": "2021-03-14",
"labelImageUrl": "https://img.example.org/640/480/",
"labelImageHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"agricultureProduct": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ example: |-
"phoneNumber": "+1-120-555-3811"
},
"voicePickCode": "4642",
"date": "2021-03-14",
"harvestDate": "2021-03-14",
"labelImageUrl": "https://img.example.org/640/480/",
"labelImageHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"agricultureProduct": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -440,7 +440,7 @@ example: |-
"phoneNumber": "+1-642-555-2793"
},
"voicePickCode": "4642",
"date": "2021-03-14",
"harvestDate": "2021-03-14",
"labelImageUrl": "https://img.example.org/640/480/",
"labelImageHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"agricultureProduct": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ example: |-
"phoneNumber": "+1-445-555-2091"
},
"voicePickCode": "4642",
"date": "2021-03-14",
"harvestDate": "2021-03-14",
"labelImageUrl": "https://img.example.org/640/480/",
"labelImageHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"agricultureProduct": [
Expand Down Expand Up @@ -212,4 +212,4 @@ example: |-
"jobTitle": "Import Specialist"
},
"date": "2022-04-21"
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
$linkedData:
term: UsdaSc6
'@id': https://w3id.org/traceability#UsdaSc6
title: USDA Form SC-6
term: USDASC6ExemptCommodityForm
'@id': https://w3id.org/traceability#USDASC6ExemptCommodityForm
title: USDA SC-6 Exempt Commodity Form
description: >-
Importer's Exempt Commodity Form (SC-6) to declare the intent to import an
agricultural commodity exempt from grade requirements for the commodity.
Expand All @@ -13,9 +13,9 @@ properties:
items:
type: string
enum:
- UsdaSc6
- USDASC6ExemptCommodityForm
- type: string
const: UsdaSc6
const: USDASC6ExemptCommodityForm
serialNumber:
title: Serial Number
description: Serial number of the form.
Expand Down Expand Up @@ -137,7 +137,7 @@ required:
- type
example: |-
{
"type": "UsdaSc6",
"type": "USDASC6ExemptCommodityForm",
"facility": {
"type": [
"Place"
Expand Down Expand Up @@ -347,4 +347,4 @@ example: |-
"importerSignatureDate": "2021-02-15",
"intendedUse": "Processing",
"intendedUseCert": "Processing"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,7 @@ example: |-
"phoneNumber": "+1-750-555-5996"
},
"voicePickCode": "4642",
"date": "2021-03-14",
"harvestDate": "2021-03-14",
"labelImageUrl": "https://img.example.org/640/480/",
"labelImageHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"agricultureProduct": [
Expand Down
Loading

0 comments on commit a655124

Please sign in to comment.