Should OKF support ontology-linked typed relationships beyond fixed lifecycle edges ? #261
Replies: 2 comments
|
PGM 0.4.0 Public Draft 1 may be useful as a concrete answer to the carrier part of this design space. It is an external semantic profile of OKF 0.2, CommonMark, and YAML, not a proposal for OKF to own domain vocabularies. PGM maps every OKF Concept Link occurrence to one outgoing relationship. When the normal Markdown link title is a complete YAML flow mapping, that entire mapping becomes the relationship properties. A non-empty string [Raw orders](/tables/raw-orders.md "{type: 'dl:derivedFrom', assertion: explicit, evidence: {source: dbt-manifest}}")A non-PGM consumer still sees an ordinary OKF/CommonMark link, and an absent, ordinary, or invalid PGM title never removes the baseline OKF relationship. Unknown types and properties are preserved. This builds on the link-title direction discussed in #101, but uses a complete structured map rather than a The review-ready PGM 0.4.0 snapshot includes a reference processor, executable tests, deterministic JSON/Cypher projections, and a 46-concept/124-relationship Ada fixture. There is also an interactive viewer. If this looks useful, I would be happy to contribute a small interoperability fixture applying PGM to the BigQuery example in this discussion before suggesting any normative OKF change. |
|
Rather than duplicate the proposal across the related threads, I am tagging their original authors here: @wictorwilen (#101), @smgam29 (#148), and @asphwathpc (#183). PGM's narrow claim is about carrier semantics: an ordinary Concept Link occurrence plus a structured property map in its Markdown title, with |
Uh oh!
There was an error while loading. Please reload this page.
Context
OKF v0.2 §6.1 says a link from concept A to B "asserts a relationship", with the specific kind conveyed by surrounding prose rather than the link itself; consumers building a graph view "typically treat all links as directed edges of an untyped relationship." Producers can carry any additional keys in frontmatter, but the spec does not define a shape for producer-declared typed edges.
PR #195 opens this door narrowly by proposing two reserved lifecycle edges (
supersedes,contestedBy) that live in frontmatter and carry defined semantics. That PR is deliberately minimal — asymmetric vs symmetric, no inverse alias, resolution kept inlog.md— and does not aim to model relationships whose vocabulary comes from an external domain (a dbt lineage graph, a bigquery-owner mapping, a governance ontology).This discussion asks a design question that is complementary to #195, not competing with it: should OKF grow a first-class story for typed relationships whose predicate names come from an external vocabulary and whose meaning is defined outside the OKF spec?
The gap in concrete terms
A producer that has already committed to a domain vocabulary — an OWL/TTL ontology, a schema registry, a taxonomy — currently has three unappealing options for expressing typed edges in an OKF bundle:
# Joinsheading convention already works, but the edges are not machine-queryable without NLP over the body.joins_with:,owned_by:,derived_from:invented per producer, unstandardised across bundles, opaque to consumers.None of these support a consumer that wants to load a bundle graph, ask "what edges exist between concepts X and Y, and where in the source is the assertion supported?", and get a deterministic answer.
Sketch of one possible direction
Not a proposal — just a shape to react to.
Design points worth debate before any spec text:
supersedesandcontestedBysit in a reservedokf:namespace under this model, or stay separate?Questions for maintainer
okf/proposals/first?If the direction is welcome, I would draft a proposal doc plus fixture bundles as a follow-up PR. If it isn't, that's useful too — the reference validator I'm about to send has a
--profileextension point where domain-specific tooling can live without touching core spec.Not-goals of this discussion
All reactions