breck7 / truebase

TrueBase - information you can trust. Software for building computable encyclopedias.
https://truebase.treenotation.org
9 stars 0 forks source link

true base and keys whose values are time series data #29

Open ghost opened 1 year ago

ghost commented 1 year ago

It is trivial to record time series data for table entries as a whole, using git commits for files.

But how can one store keys whose values need to be time series.

A simple example would be originCommunities of programming languages from Bell Labs. According to Wikipedia entry about bell labs (https://en.wikipedia.org/wiki/Bell_Labs) The names were Bell Telephone Laboratories (1925–1984) AT&T Bell Laboratories (1984–1996) , Bell Labs Innovations (1996–2007) and then currently Nokia Bell Labs.

Google, according to Wikipedia (https://en.wikipedia.org/wiki/Google) was called Google Inc. (1998–2017) and is currently called Google LLC.

Projects released/appeared in different years might have different names as originCommunities, even though they are from the same place essentially.

Does true base developers plan to handle this use case. The need for types in values is needed, i don't know if truebase schema supports it.

breck7 commented 1 year ago

This is a great question that comes up a lot. Often we care about the most recent value, but how would we store a value that has changed over time?

In this particular case we should probably store the name of the originCommunity as it was when the thing was invented. Perhaps in the future we can have an LLM help us standardize those names and we could strongly type them as an enum in Grammar.

But really many fields are mutable and could have changes. This is easy in SQL, just have a table of quads (entity, measurement, value, time). I don't know if that's a level of detail we want to go into for most TrueBases. I think maybe if it's mostly time series data, another DB system would be better. I could imagine at some point it might be helpful to know when features were added to a language ("hasImports" for example), but adding that level of detail might be a lot of work so would probably require someone to fund that kind of thing.