1 of 23

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.

2 of 23

Agenda

  • Introduction
  • Problem Statement
  • Proposed Solution & Examples
  • Next Steps

Examples of formats and sample python source can be found here

Business Confidential Copyright © 2025 The Provenance ChainTM Network. All rights reserved.

3 of 23

Harmonizing Standards

Serialization�Formats

JSON-LD

4 of 23

Common Intermediary Approach

  • Why: creating a view of people, products, processes, places or parties for a product is hard
  • What: provides a platform agnostic instruction set that enables standards interoperability
  • Key Features
    • Context Preservation
    • Platform independence
    • Type Safety and Metadata

5 of 23

JSON-LD�JavaScript Object Notation for Linked Data

  • JSON-based format
  • Developed within World Wide Web Consortium (W3C), published 07/2020
  • Utilizes "context" to map JSON keys to IRIs (Internationalized Resource Identifiers)
    • IRIs attach semantic meaning and disambiguation for terms in distinct vocabularies & ontologies
  • Enables linking between data objects
  • Makes knowledge graphs possible

6 of 23

How It Works

  • Uses “@context” that describes how to interpret data in a document
    • Context points to a document on the web that defines fields & types
  • Uses Global Identifiers “@id” to identify objects
    • ”@id”: “http://parts.com/poweradapter123”
  • JSON-LD can be converted to other formats
  • With a JSON-LD context, you can serialize your JSON as XML by mapping each property to an XML element using the context, preserving semantics and structure

7 of 23

Graphs

  • JSON-LD enables construction of machine-readable graphs describing relationships between datasets
  • Each dataset is represented by a node in the graph
    • Relationships defined by JSON-LD context mappings
  • Approach enables
    • Automated traceability across product lifecycle (design -> recycling)
    • Standards interoperability
    • Efficient integration of updates (product change notices

Interoperability

8 of 23

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>

9 of 23

Steps to Convert From Part Model to JSON

  1. Identify the core data elements of part model (e.g., Manufacturer, Manufacturer Part Number, Description, Package, Status) from source format
  2. Map elements to semantic terms using a context (@context) that references standard vocabularies
  3. Structure the data as a JSON object with the @context and @type fields, and populate the properties with your part data
  4. Validate the resulting JSON-LD against relevant schemas or ontologies (such as those from JEDEC JEP30 or SPDX)

</diode>

10 of 23

Validating JSON-LD Output

  1. Reference the Correct Context:�Ensure JSON-LD includes the correct @context (e.g., "@context": "https://spdx.org/rdf/3.0.1/spdx-context.jsonld" for SPDX)
  2. Run Structural Validation:�Use a JSON Schema validator with the appropriate schema file.
  3. Run Semantic Validation:�Use an OWL or SHACL validator with the corresponding ontology.
  4. Check Tool Output:�Most tools will provide logs or error messages pointing to specific validation failures

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

  • SPDX Online Tools:
    • SPDX Online Tools provide upload and validation for SPDX JSON-LD documents
  • SPDX Python Libraries:
    • tools-python can validate SPDX JSON-LD for both structure and semantics
  • Commercial/Open Source SBOM Tools:
    • Tools such as Black Duck, CAST Highlight, Interlynk, and FOSSology support SPDX validation (including JSON-LD)

Steps

Tools

11 of 23

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

12 of 23

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

13 of 23

Example – Generate From PDF

  • DAC3484 from Brainboard
  • Generates a JSON datasheet from a PDF in JEDEC JEP30 format
  • Validates EDS
  • Example in git repo
    • /src/generate-from-pdf

14 of 23

Example – Graphs

  • Embedded Controller
  • Creates a graph between datasets
  • Traverses the graph
  • Example in git repo
    • /src/graph

15 of 23

Process

Manufacturer

16 of 23

Next Steps

  • Validate flow from JEP30 part model examples to JSON
  • Validate flow from existing JSON to JEP30 part model
  • Design context hosting (or embedding) approach
  • Working prototype
  • Examples are here: � https://github.com/resh224/datasheet-harmony

17 of 23

Backup

Business Confidential Copyright © 2025 The Provenance ChainTM Network. All rights reserved.

18 of 23

Commercial Trust™️ Protocol

19 of 23

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>

20 of 23

JSON-LD (JavaScript Object Notation for Linked Data)

  • Utilizes "context" to map JSON keys to IRIs (Internationalized Resource Identifiers)
    • IRIs attach semantic meaning and disambiguation for terms in distinct vocabularies & ontologies
  • Enables linking between data objects
  • Bridges type systems with support for semantic interoperability

21 of 23

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

22 of 23

Conversion Walk-Through (1)

Suppose your part model has these fields:

  • Manufacturer: "ACME Components Inc."
  • Manufacturer Part Number: "C0805C106K4RACTU"
  • Description: "10uF, 16V, X7R, 0805, ±10% tolerance"
  • Package: "0805"
  • Status: "Active

{� "@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"� }�}

23 of 23

Structure Part Data & Validate

  • Ensure the JSON-LD is valid by using tools such as the JSON-LD Playground.
  • Ensure fields and context align with the standard’s schema and vocabulary

{� "@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"�}