ggen-facing deterministic compilation bundle.
AshR2RML does not invoke ggen or write files. It manufactures a path/content
graph so ggen can own rendering, filesystem actuation, migration versioning,
replay, and receipts without independently reconstructing semantic decisions.
Turtle and JSON-LD are alternate RDF input serializations. Both are admitted into the same normalized profile before manufacture so ggen never receives a serialization-specific semantic fork.
Cloud ggen may also run in Ash-first mode. In that mode the maintained source
is the Ash resource graph itself and compile_ash_ttl_bundle/1 emits the
ontology, operational SHACL shapes, and R2RML Turtle required by ggen.
Semantic types use the same boundary: compile_semantic_types_bundle/2
admits a content-addressed plan and returns deterministic generated artifacts.
ggen still owns DO.
Summary
Functions
Manufacture cloud-ggen TTL inputs directly from one or more Ash resources.
Parse a JSON-LD 1.1 RDF/SHACL profile, then manufacture the same deterministic ggen bundle.
Manufacture a deterministic ggen path/content graph from a semantic type profile.
Parse an RDF/SHACL Turtle profile, then manufacture the same deterministic ggen bundle.
Functions
@spec compile_ash_ttl_bundle(module() | [module()] | AshR2RML.Mapping.Bundle.t()) :: {:ok, map()} | {:error, term()}
Manufacture cloud-ggen TTL inputs directly from one or more Ash resources.
@spec compile_bundle(map()) :: {:ok, map()} | {:error, AshR2RML.Compilation.t() | term()}
@spec compile_jsonld_bundle( String.t() | map() | list(), keyword() ) :: {:ok, map()} | {:error, term()}
Parse a JSON-LD 1.1 RDF/SHACL profile, then manufacture the same deterministic ggen bundle.
Manufacture a deterministic ggen path/content graph from a semantic type profile.
Parse an RDF/SHACL Turtle profile, then manufacture the same deterministic ggen bundle.