Knowledge graph schema

Node labels and edges.

Every Atlas node carries :Cdx plus a CycloneDX class. Properties stay close to the spec; relationships are the graph interpretation of nested arrays and bom-ref pointers.

(BomDocument)-[:OF_TYPE]->(BomType)
(BomDocument)-[:DESCRIBES]->(Component)
(BomDocument)-[:INCLUDES]->(Component)
(BomDocument)-[:INCLUDES_SERVICE]->(Service)
(Component)-[:DEPENDS_ON]->(Component)
(Component)-[:USES_CRYPTO]->(CryptoAsset)
(Vulnerability)-[:AFFECTS]->(Component)
(VexAnalysis)-[:ANALYZES]->(Vulnerability)
(Component)-[:PRODUCED_BY]->(Formula)-[:HAS_WORKFLOW]->(Workflow)-[:HAS_TASK]->(Task)
(Attestation)-[:CLAIMS]->(Claim)-[:SATISFIES]->(Requirement)
(n:Cdx)-[:MAPS_TO]->(KnowledgeConcept)

Document

The BOM itself, its type, and notes attached to it.

:BomDocument

10 live

BOM document. root document (bomFormat, specVersion, serialNumber, metadata).

  • id — Stable Atlas key, e.g. cdx:bom:harborpulse-sbom
  • serialNumber — CycloneDX serialNumber URN
  • bomType — SBOM | SaaSBOM | HBOM | ML-BOM | CBOM | OBOM | MBOM | VDR | VEX | CDXA
  • specVersion — CycloneDX spec version (1.6)
  • lifecyclePhase — design | pre-build | build | post-build | operations | discovery
  • name — Human title of this BOM

:Annotation

3 live

Annotation. annotations[].

  • text — Note, review comment, or context

Inventory

Things the BOM enumerates: software, hardware, services, crypto, models, data.

:Component

26 live

Component. components[] / metadata.component.

  • bomRef — Document-scoped bom-ref
  • componentType — application | library | framework | firmware | device | container | os | machine-learning-model | cryptographic-asset | file | platform
  • name — Component name
  • version — Version string
  • purl — Package URL when applicable
  • scope — required | optional | excluded

:Service

6 live

Service. services[].

  • bomRef — Service bom-ref
  • name — Service name
  • authenticated — Whether callers must authenticate
  • trustBoundary — true if the service sits across a trust boundary

:Endpoint

6 live

Endpoint. services[].endpoints.

  • url — URI of the endpoint

:DataClassification

5 live

Data classification. services[].data.

  • name — PII, credentials, telemetry, …
  • flow — inbound | outbound | bi-directional

:CryptoAsset

7 live

Cryptographic asset. components[].cryptoProperties.

  • assetType — algorithm | protocol | certificate | key | related-crypto-material
  • primitive — AES, ECDSA, SHA-2, TLS, …
  • oid — Algorithm OID when known

:ModelCard

1 live

Model card. components[].modelCard.

  • approach — Learning approach
  • problemType — anomaly-detection, classification, …
  • intendedUse — Declared intended use

:Dataset

2 live

Dataset. components[type=data] / modelCard.trainingData.

  • contentsType — records, images, telemetry, …
  • classification — public | internal | confidential

Identity

Who made, supplied, licensed, or authored the inventory.

:Organization

12 live

Organization. metadata.supplier / manufacturer / publisher.

  • name — Legal or common name
  • orgType — manufacturer | supplier | publisher | operator | issuer
  • url — Homepage

:Person

2 live

Person. metadata.authors, annotations.annotator.

  • name — Display name
  • email — Contact
  • role — Author, reviewer, …

:Tool

5 live

Tool. metadata.tools.

  • name — Tool name
  • vendor — Vendor
  • version — Version

:License

5 live

License. components[].licenses.

  • spdxId — SPDX license identifier
  • name — Display name

Risk

Vulnerabilities and VEX exploitability statements.

:Vulnerability

5 live

Vulnerability. vulnerabilities[].

  • vulnId — CVE / GHSA identifier
  • source — NVD, OSV, …
  • cvssScore — Numeric CVSS
  • severity — critical | high | medium | low

:VexAnalysis

5 live

VEX analysis. vulnerabilities[].analysis.

  • state — exploitable | in_triage | not_affected | resolved
  • justification — CycloneDX justification code
  • response — workaround | update | will_not_fix | can_not_fix

Process

How it was built, configured, or operated.

:Formula

1 live

Formula. formulation[].

  • name — Named manufacturing/deploy formula

:Workflow

2 live

Workflow. formulation[].workflows.

  • name — Workflow name

:Task

5 live

Task. formulation[].workflows[].tasks.

  • name — Task name

:Configuration

5 live

Configuration. components[].properties / configuration.

  • keyName — Config key
  • value — Observed or declared value

Trust

Attestations, claims, evidence, and standards.

:Standard

2 live

Standard. definitions.standards.

  • name — OWASP SCVS, NIST SSDF, …
  • version — Standard version

:Requirement

3 live

Requirement. definitions.standards[].requirements.

  • identifier — Requirement id inside the standard
  • text — Requirement text

:Attestation

2 live

Attestation. declarations.attestations.

  • summary — What is being attested
  • conformance — full | partial | none | unknown

:Claim

3 live

Claim. declarations.claims.

  • statement — The claim text

:Evidence

3 live

Evidence. declarations.evidence.

  • description — How the claim is evidenced

Ontology

Atlas knowledge concepts that sit above the CycloneDX classes.

:BomType

10 live

BOM type. Atlas taxonomy (not a CDX class; classifies documents).

  • code — Short code used in bomType
  • name — Full name
  • specFocus — Primary CycloneDX object-model region

:KnowledgeConcept

12 live

Knowledge concept. Atlas extension — ontology overlay on CycloneDX.

  • name — Concept name
  • category — supply-chain | trust | risk | process | inventory

Relationships

TypeFromToMeaning
OF_TYPEBomDocumentBomTypeClassifies the document into a BOM variety
DESCRIBESBomDocumentComponentmetadata.component — the subject of the BOM
INCLUDESBomDocumentComponentcomponents[] membership
INCLUDES_SERVICEBomDocumentServiceservices[] membership
CREATED_BYBomDocumentToolmetadata.tools that produced the BOM
AUTHORED_BYBomDocumentPersonmetadata.authors
DECLARED_BYBomDocumentOrganizationmetadata.supplier of the document
RELATED_BOMBomDocumentBomDocumentVEX↔VDR↔SBOM, OBOM↔SBOM, MBOM↔HBOM, …
DEPENDS_ONComponentComponentdependencies[] edge
LICENSED_UNDERComponentLicenseDeclared license
SUPPLIED_BYComponentOrganizationSupplier / publisher
MANUFACTURED_BYComponentOrganizationHardware manufacturer
COMPOSED_OFComponentComponentPhysical or logical composition
CONTAINSComponentComponentParent assembly contains a part
RUNS_ONComponentComponentFirmware/app runs on a device or OS
CALLSComponentServiceRuntime or declared service consumption
PROVIDESServiceEndpointService exposes an endpoint
PROCESSESServiceDataClassificationData flowing through the service
AFFECTSVulnerabilityComponentvulnerabilities[].affects
FOUND_INBomDocumentVulnerabilityVDR membership
HAS_ANALYSISBomDocumentVexAnalysisVEX document owns an analysis
ANALYZESVexAnalysisVulnerabilityWhich CVE the VEX statement is about
USES_CRYPTOComponentCryptoAssetComponent implements or invokes crypto
ISSUED_BYCryptoAssetOrganizationCertificate or key issuer
SIGNSCryptoAssetComponentSigning key signs firmware or artifacts
HAS_MODEL_CARDComponentModelCardML model documentation
TRAINED_ONComponentDatasetTraining / fine-tune lineage
PRODUCED_BYComponentFormulaComponent was manufactured via formula
HAS_WORKFLOWFormulaWorkflowFormula contains a workflow
HAS_TASKWorkflowTaskWorkflow step
USES_TOOLTaskToolTask executed by a tool
CONFIGURESConfigurationComponentObserved/declared configuration
ATTESTSAttestationStandardAttestation is against a standard
CLAIMSAttestationClaimAttestation makes a claim
SATISFIESClaimRequirementClaim addresses a requirement
SUPPORTED_BYClaimEvidenceEvidence backing a claim
ANNOTATESAnnotationBomDocumentHuman or tool annotation
MAPS_TOComponentKnowledgeConceptOntology overlay (Atlas extension)