Closed jamesaoverton closed 7 years ago
Work started in https://github.com/knocean/knode/pull/47. Mostly cleanup at this point.
More work in https://github.com/knocean/knode/pull/47. We now have
natural-compare
mostly cribbed from https://gist.github.com/wilkerlucio/db54dc83a9664124f3febf6356f04509)ontology/trees.edn
, which is assumed to contain a map of triple vectors.What's still left as of now is
Implemented TSV 2 in the tree data handler
Merged the branch that implements all of this, but I'm leaving the issue open until I get a head-check about it.
We want to be able to view ontologies along multiple hierarchies, which we'll call "trees". Each tree view will have a name, and be served from
/tree/<tree-name>
. We will have a new configuration file/ontology/trees.edn
to configure the trees.The basic tree data will be represented as a list of (subject, parent, label) tuples, where a subject can have multiple parents, and the parent can be null (when the subject is a root of the tree). Eventually tuples could come from a table, a SPARQL query, or an OWLAPI reasoner. For the initial version, the tuples can be literal data in the configuration file.
We need to support these representations:
Because the ontologies can be large, we should support Inspire Tree's dynamic loading. So we will have to be able to request a root node and return its children, e.g.
/tree/example.json?root=EXAMPLE:0000001
. We also need a way to return just the roots of the tree (one or more).We can build on two implementations of the tuples-to-tree code (with examples and tests):