JEDEC JEP30 -> JSON EDS�Intermediate Language Proposal
Randy Hall�Principal Architect�
Electronic Datasheets Integration WG
June 2, 2025
Business Confidential Copyright © 2025 The Provenance ChainTM Network. All rights reserved.
Agenda
Examples of formats and sample python source can be found here
Business Confidential Copyright © 2025 The Provenance ChainTM Network. All rights reserved.
Harmonizing Standards
Serialization�Formats
JSON-LD
Common Intermediary Approach
…
JSON-LD�JavaScript Object Notation for Linked Data
How It Works
Graphs
Interoperability
VCC Example
JSON-LD Type Definition
{
"@context": {
"vcc": "http://types.com/vocab/vcc",
"min": {
"@id": "vcc:min",
"@type": "http://www.w3.org/2001/XMLSchema#decimal"
},
"max": {
"@id": "vcc:max",
"@type": "http://www.w3.org/2001/XMLSchema#decimal"
}
JSON
{
"@context": "https://types.com/vocab/vcc#",
"@type": "VCC",
"min": 1.8,
"max": 3.3,
"unit": "V"
}
XML
<VCC xmlns="https://example.com/vocab/vcc#">
<min>1.8</min>
<max>3.3</max>
<unit>V</unit>
</VCC>
Steps to Convert From Part Model to JSON
</diode>
Validating JSON-LD Output
Validation Type | What It Checks | Tools/Resources |
Structural (Schema) | JSON syntax, required fields, types | JSON Schema validator, SPDX tools |
Semantic (Ontology) | Relationships, constraints, domain correctness | OWL/SHACL tools, SPDX tools |
Steps
Tools
Tool Support
Tool/Platform | Structural Validation | Semantic Validation | Automation/CI Support | Notes |
SPDX Online Tools | Yes | Yes | Yes (API) | Official SPDX, web-based |
SPDX Python Libraries | Yes | Yes | Yes | Scripting, batch, open source |
SPDX Java Library | Yes | Yes | Yes | Used in Black Duck, CAST, enterprise |
Black Duck SCA | Yes | Yes | Yes | Commercial, detailed reporting |
Interlynk SBOM | Yes | Yes | Yes | SaaS/on-prem, regulatory checks |
JSON-LD Playground | Yes | No | No | Syntax/context only |
PySHACL, TopBraid, Jena | No | Yes | Yes | For advanced semantic validation |
Advanced Features
Feature | Use Case | Example Keyword/Technique |
Framing | API response shaping | @frame |
Type Coercion | Data validation/transformation | @type |
Relative IRIs | Portable dataset management | @base |
Context Layering | Modular context reuse | Array of contexts |
RDF Conversion | Semantic web integration | @graph, @id |
Vocabulary Defaults | Simplified term definitions | @vocab |
Example – Generate From PDF
Example – Graphs
Process
Manufacturer
Next Steps
Backup
Business Confidential Copyright © 2025 The Provenance ChainTM Network. All rights reserved.
Commercial Trust™️ Protocol
Going the Other way
JSON-LD Type Definition
{
"@context": {
"min": "https://example.com/vocab/vcc#min",
"max": "https://example.com/vocab/vcc#max",
"unit": "https://example.com/vocab/vcc#unit"
}
}
JSON
{� "min": 1.8,� "max": 3.3,� "unit": "V”�}
XML
<VCC xmlns="https://example.com/vocab/vcc#">
<min>1.8</min>
<max>3.3</max>
<unit>V</unit>
</VCC>
JSON-LD (JavaScript Object Notation for Linked Data)
JEP30 XML Requirements
Element | Required | Description |
ComplianceToPartModelSchemaVersion | Yes | Schema version for validation |
PartModelContentRevision | Yes | Revision/version of the part model data |
Manufacturer-Array | Yes | Manufacturer information |
ManufacturerPartNumber-Array | Yes | Manufacturer part numbers and details |
SupplyChainSection | Yes | Supply chain and sub-schema references |
ReferenceManufacturerPartNumber-Array | Optional | Cross-references to other MPNs |
ReferenceDocument-Array | Optional | Supporting documents |
Sub-Schema Sections (e.g., Thermal) | As needed | Technical and environmental details, referenced from parent schema |
Conversion Walk-Through (1)
Suppose your part model has these fields:
{� "@context": {� "schema": "https://schema.org/",� "pm": "https://example.org/jedec/partmodel#",� "Manufacturer": "pm:Manufacturer",� "mpn": "schema:mpn",� "name": "schema:name",� "description": "schema:description",� "package": "pm:package",� "status": "pm:status"� }�}
Structure Part Data & Validate
{� "@context": {� "schema": "https://schema.org/",� "pm": "https://example.org/jedec/partmodel#",� "Manufacturer": "pm:Manufacturer",� "mpn": "schema:mpn",� "name": "schema:name",� "description": "schema:description",� "package": "pm:package",� "status": "pm:status"� },� "@type": "pm:Part",� "name": "SMT Ceramic Chip Capacitor",� "description": "10uF, 16V, X7R, 0805, ±10% tolerance",� "mpn": "C0805C106K4RACTU",� "Manufacturer": {� "@type": "pm:Manufacturer",� "name": "ACME Components Inc."� },� "package": "0805",� "status": "Active"�}