Why Nostr? What is Njump?
2023-08-27 00:30:02
in reply to

Dr. jonny phd on Nostr: Soon it becomes apparent that, wait, that same electrode group collects multiple ...

Soon it becomes apparent that, wait, that same electrode group collects multiple timeseries, so it should probably be its own thing that I can reference in multiple places. So the ability to create references is added, and the ability to create anonymous sub-things is also retained, because not everything is reused.

so electrode is its own thing, but it too has its own anonymous untyped things, and I want to reference those. So now I need to create a reference with subselection - "this electrode within electrode group x." This is often done by creating another anonymous subthing within the referring thing - "a table that contains indices with which I select from the thing I'm referring to." When you un-nest the schema, these kinds of references are actually most of the anonymous classes.

This is a pretty tight analogical map to blank nodes, this tension in #RDF where "everything should be uniquely, globally identifiable" but "actually not literally everything because that would be ridiculous." And blank nodes have caused a ton of work to be needed to eg. canonicalize graphs so you can automatically assign unique names to things.

See also #IPLD which makes some different choices, notably being to treat every subgraph as ordered even though graphs don't have an intrinsic ordering: https://ipld.io/design/tricky-choices/ordering/
(Side note every project should have a "tricky choices" section in the docs. Props to protocol labs for that)
Author Public Key
npub1nyn0d3f3vgefljenfq0schd55q2mm43a2errd6sncdw5jawpwm3s3dxmrh