CycloneDX/sbom-utility

Explore support for SPDX 3.x validation and conformance with JSON-LD

Offen

#143 geöffnet am 09.01.2026

 (1 Kommentar) (0 Reaktionen) (0 zugewiesene Personen)Go (20 Forks)auto 404
enhancementhelp wanted

Repository-Metriken

Stars
 (155 Sterne)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

As it appears official JSON schema support (via serialization) has been abandoned we must look to see what we can do with JSON-LD and limited support for it in Golang...

References:

See: https://github.com/piprate/json-gold/

e.g.,

import (
	"fmt"
	"github.com/piprate/json-gold/ld"
)

func processAndValidateJSONLD(jsonData string) error {
	proc := ld.NewJsonLdProcessor()
	options := ld.NewJsonLdOptions()
	// Set the processing mode to the latest spec (e.g., "json-ld-1.1")
	options.ProcessingMode = "json-ld-1.1" 

	// The Expand function will return an error if the JSON-LD is invalid
	expandedDoc, err := proc.Expand("https://example.com/some-base-url", jsonData, options)
	if err != nil {
		return fmt.Errorf("JSON-LD validation error: %w", err)
	}

	fmt.Printf("JSON-LD document successfully processed (expanded), contains %d top-level elements.\n", len(expandedDoc.([]interface{})))
	return nil
}

func main() {
	doc := `{
		"@context": "

Contributor Guide