Login to follow
OKFParsingLibrary

OKFParsingLibrary (ODC)

Stable version 0.1.0 (Compatible with ODC)
Uploaded on 2 Aug (2 weeks ago) by Michael Guzman
OKFParsingLibrary

OKFParsingLibrary (ODC)

Details
Detailed Description

OkfParsingLibrary is an External Logic library that parses and serialises Open Knowledge Format (OKF) v0.2 bundles from ODC Server Actions.


OKF is Google Cloud's open, vendor-neutral specification for documenting data and analytics assets, tables, metrics, joins, computations, as Markdown files with YAML frontmatter organised into linked bundles.


Eight actions cover the full read path: unzip a bundle, split and parse frontmatter, extract links and body sections, run SPEC conformance checks, and serialise a concept back to Markdown.


Every action is stateless and never throws. Failures surface through the returned structure's ParseError or Message field, so no try/catch is needed anywhere in a flow. Unrecognised frontmatter keys round-trip through ExtraJson rather than being dropped.


Used by OKF Store, a separate Forge component providing ingestion, storage, and read actions for OKF bundles on top of it.

Limitations
  • This library parses and serialises OKF frontmatter. It derives nothing and executes nothing.
  • BuildBundleArchive is a generic zip builder, not an OKF-aware producer. It packs paths and content into a zip and has no knowledge of required files, reserved names, or bundle structure. Building a conformant bundle is the caller's responsibility.
  • Attested Computation keys (runtime, parameters, executor, attester) round-trip through ExtraJson like any other unrecognised key. Nothing here runs a computation or checks an attestation.
  • Tags are stored as one comma-separated string. A tag containing a comma followed by a space round-trips correctly. A comma with no following space cannot be distinguished from two separate tags. This is inherent to the storage format, not a serialisation defect.
  • SerializeConcept guarantees the output parses back to an equivalent result, not byte-identical output.
License

https://opensource.org/license/BSD-3-Clause