Class StatedNavigationDeriver

java.lang.Object
network.ike.knowledge.provider.StatedNavigationDeriver

public final class StatedNavigationDeriver extends Object
Derives the stated navigation of every concept from its stated definition and writes it into the open store (IKE-Network/ike-issues#1123).

A stated navigation semantic records, for one concept, the concepts its stated definition names as parents and the concepts whose stated definitions name it as a parent. A knowledge file carries such semantics as they stood when the file was written; once a ledger re-declares a concept's definition, the file's navigation is stale, and nothing else rewrites it: the reasoner writes inferred navigation only. Browsers that navigate the stated view, such as Komet's login dialog, then show the old parents.

The derivation reads, under the given view, the latest stated definition of every concept and keeps those that are active. A parent is a concept named by a concept reference inside a necessary set or a sufficient set; a concept naming itself, the root's own encoding, is not its own parent. Children are the inverse. Every concept that has an active definition or is named as a parent gets its navigation written: a new version on the concept's existing stated navigation semantic when the latest fields differ, a new semantic with the single-semantic identity of the pattern when the concept has none, and nothing when the fields already agree, so a second derivation over the same store writes nothing. Written versions carry the view's derived-content stamp: the logic coordinate's classifier as author, the view's default module and path, the same identity the classifier's inferred results carry.

  • Method Details

    • derive

      public static StatedNavigationDeriver.Summary derive(dev.ikm.tinkar.coordinate.view.ViewCoordinateRecord view)
      Derives and writes the stated navigation of every concept in the open store.
      Parameters:
      view - the view the stated definitions are read under and whose classifier, default module, and default path stamp the written versions
      Returns:
      what the derivation did