KGCS Documentation

Agent-Consumable Graph Schema

Purpose

Provide a simplified Neo4j schema view for agents while preserving KGCS causal invariants.

Labels and Key Properties

Relationship Types

Loader Mapping Note (Systems Standards Namespaces)

Use this mapping when loading Neo4j labels/edges into standards-aligned ontology terms.

Graph Artifact Ontology Term Notes
(:Vulnerability)-[:AFFECTS]->(:PlatformConfiguration) cve:affects (inverse of kgcs:affected_by) Systems-agent compatibility edge
(:Vulnerability)-[:HAS_SCORE]->(:Score) cvss:hasScore (subPropertyOf kgcs:scored_by) Keep CVSS versioned score nodes
(:Vulnerability)-[:REFERENCES]->(:Reference) cve:references (subPropertyOf kgcs:references) Preserve reference provenance
Platform.cpeUri / PlatformConfiguration.cpeUri cpe:cpeUri Canonical CPE URI
Platform.cpeNameId cpe:cpeNameId NVD CPE name identifier
Platform.part / vendor / product / version cpe:part / cpe:vendor / cpe:product / cpe:version CPE identity decomposition fields
PlatformConfiguration.matchCriteriaId cpe:matchCriteriaId NVD criteria identity
PlatformConfiguration.criteria cpe:criteria Raw NVD CPE criteria expression
(:PlatformConfiguration)-[:MATCHES_PLATFORM]->(:Platform) cpe:matchesPlatform Structural join expansion via CPE Match matches[]
PlatformConfiguration.configStatus cpe:configStatus Vulnerable/fixed/unknown status
PlatformConfiguration.vulnerable cpe:vulnerable CVE cpeMatch applicability flag
PlatformConfiguration.versionStartIncluding / versionStartExcluding cpe:versionStartIncluding / cpe:versionStartExcluding Lower version bounds
PlatformConfiguration.versionEndIncluding / versionEndExcluding cpe:versionEndIncluding / cpe:versionEndExcluding Upper version bounds
PlatformConfiguration.created / lastModified / cpeLastModified cpe:created / cpe:lastModified / cpe:cpeLastModified CPE Match lifecycle timestamps
Vulnerability.cveId cve:cveId Canonical CVE identifier
Vulnerability.published / Vulnerability.lastModified cve:published / cve:lastModified Authoritative CVE timestamps
Weakness.cweId / Weakness.abstraction cwe:cweId / cwe:abstraction Root-cause metadata used by systems views
Score.scoreId / Score.version / Score.baseScore cvss:scoreId / cvss:version / cvss:baseScore CVSS identity and numeric severity

Core causality terms remain unchanged (kgcs:caused_by, kgcs:exploited_by, kgcs:implemented_as).

Constraints and Indexes

Derived from the Neo4j loader:

Traversal Invariants

Example Cypher (Systems Agent):

MATCH (pc:PlatformConfiguration {matchCriteriaId: $id})<-[:AFFECTS]-(v:Vulnerability)
RETURN v.cveId, v.published

Query Safety

Provenance Expectations

For module load order used by systems-focused loaders, see the OWL imports checklist in docs/03-data-pipeline/pipeline-execution-guide.md.