What would you put in an Information Management/Da...
# thinking-together
c
What would you put in an Information Management/Data Modelling version of 7 GUIs? That is, what difficult to model scenarios would you use to "stress test" different data formats/information systems (I'm struggling for the words here but I'm talking broadly about stuff like Relational Database, JSON, XML, Java classes etc).
Here's one example;
Copy code
Alice, Bob and Charles live at 123 Fake St.
Alice works as an Accountant and earns $20,000
Bob works as a Baker and earns $25,000
Charles works part-time as a Carer earning $10,000 and part-time as a Carpenter earning $12,000.

We want to be able to calculate the total household income easily.
In most systems the most natural way to model the first two people would be as a class/schema with a
salary
field/column, but this makes it hard to do the third person.
i
Some others: • Handling exceptions: birds can fly, except penguins, except harry the rocket penguin. Or my monthly budget is $1200 except every other month there's an extra 200 and once a year there's an extra 1000. • Meta-information: chris's salary of $100 is self reported • Temporal understanding: Is Chris a student? (No, but he was from X to Y despite there being an entry in the student table)
👍🏻 1
👍 5
🤔 1
c
Yeah these expose quite a few limitations to my current design 🙈. I think exceptions needs nesting/inheritance + overwriting. CSS is actually pretty natural and intuitive for exceptions. Meta is not easy. You need a way to point to the notation itself. My first thought would be citations/footnotes somehow. The third one is actually best for me, I can limit attributes/relationships to a certain context, but it's not really queryable. It wouldn't allow you to get students on a particular day.
i
yeah, this stuff is pretty hard, e.g. how do you model Joe knows that Tim lives in Seattle?
j
A signed document arrives on Tuesday. The person who signed it is found dead on the following Thursday. When might they have died?
🤔 1
I'm currently working with constraint answer set programming to deal with a lot of these sorts of problems. Exceptions are dealt with in the Bird Act demo at dev.blawx.com. I have a plan for causality and temporality using Event Calculus, but haven't gotten there, yet. Meta-data is currently being done in a sketchy way for the source of legal conclusions, but what I would prefer to do is use a higher-order logic representation for it, like you can do in Flora-2.
👏 2
a
I have a doc somewhere about a short-lived pet project called “a metamodel for unreliable information”, I wonder if I could find it 🙂
somewhat relevant:

https://www.youtube.com/watch?v=3wMKoSRbGVs

There was a striking comment about finding that the semantic web style “triples all the way down” was found to be insufficient, lemme see if I can find it
Here’s the Semantic Web chapter, it should be in there

https://www.youtube.com/watch?v=3wMKoSRbGVs&t=4003s

i
You can model everything he talks about with triples. I'm not sure I'd want to, but it's doable. In some sense, 6th normal form (of which triples is a crappier version) is the atomic form of data - all other structures fall out of it. What's useful at a practical level for modeling very complex things, like knowledge of someone else's knowledge of, is still an open question.
c
Yes, I think ultimately every format is essentially "Turing Complete". You can model everything with everything, in the same way you can translate any algorithm into a mountain of NAND gates. That doesn't make NAND gates a good way to express algorithms. You can come up with crappy ways of representing ordered lists in XML, at the same time I think it's fair to say XML doesn't really support ordered lists. It's more about having a sort of Theory of Mind for the computer, so you can express yourself in a language fluently, and also be completely confident in how the computer is understanding what you are saying. To use one of Chris's examples. We can say; (Joe) (KNOWS) (Tim lives in Seattle) Where (Tim lives in Seattle) (INSTANCE OF) (Fact about Tim) But that clearly just doesn't count because the computer isn't understanding it in the same way I am.
This example is solved as a design problem when "Joe knows Tim lives in Seattle" is naturally related to the representation of "Tim lives in Seattle". THAT's the thing that RDF is going to struggle with
But anyway @Alex Cruise your title there has certainly whetted my appetite so if you do find it please share! Or whatever you can remember
w
My personal data modeling hell is when a 1-1 relationship becomes 1-n. What things stay the same (say across all the n), what should be aggregated, and what now needs to be different?
c
I made a demo of what I had been thinking; https://futureofcoding.slack.com/archives/CCL5VVBAN/p1653331495527059?thread_ts=1653331495.527059&cid=CCL5VVBAN I think the contextual synonyms work well for increasing the naturalness/humaneness without introducing magic (like NLP does). However, as mentioned above it cannot model some of the examples given in this thread
l
uncertainty: • Bob works as a Baker and probably earns between $25,000 - $30,000. • we will be in a recession in 2024.
👍 1