I'm looking for either free/open source software, file format, or other lightweight solution, that allows me to express dependencies between arbitrary things. It should then let me see who is dependent on what.

For instance, I want to start recording which accounts I have with different providers. I would like to map out which knows my different email addresses, phone numbers etc. If I change my phone number or email, or move house, this would let me keep track of what to update.

But that's just an example, ideally I want to support arbitrary dependencies between anything.

I'm currently inclined to use graphviz. However, that's very visualisation-centric. I would like a way to map out these dependencies in an arbitrary way and then generate graphs as one out of many byproducts.

Example of how this could work in my head:

phone1: +447123456789
phone2: +447987654321
email1: ambitiousslab1@example.org
email2: ambitiousslab2@example.org
address: 1 Example Street, UK, EX4 4PL

bank:
 - email1
 - phone2
 - address

electricity-provider:
 - address
 - email2

credit-card-company:
 - address
 - phone1
 - email1

Then, I could generate graphs with graph-dependencies email1 or graph-dependencies bank. Or, I could say find-dependencies email and that would print bank, credit-card-company.

Is anyone aware of such a tool, or solved this problem in a different way? Bonus points if it's packaged already for Debian.

you are viewing a single comment's thread
view the rest of the comments
[–] 3 points 1 year ago

dot is the file for.at used by graphviz, and tbh it seems pretty close to what you're describing. There's a number of tools that can consume (and produce) the file format.

It's the format I've worked with on occasion (though admittedly it was because it was what was produced by other tools).

  • source