Knowledge Graphs for organisations

It’s a rainy old day, and while I’m still high on caffeine I’d like to jot down an idea that came to me as I went down the rabbit hole of story generation and knowledge graphs.

At work people are constantly asking questions of each other via chat or in person. Sometimes they can look up the answer on GitHub or Confluence or in the chat archives, but mainly that doesn’t work, and no one does it. If there’s a useful resource, the only way to access it is via asking about it or remembering. This sucks! Especially since we’re expanding so quickly. New engineers join every month.

So what if all of these facts were encoded in the same way as they are on WikiData, which can tell us in a machine-readable fashion that Douglas Adams was a screenwriter, which is a profession, and give us a list of screenwriters, and so on. People at work should easily be able to answer questions like “who originally worked on this project?” and “when can a ‘ticket’ be deleted?” and “which resources in the database are sharded?”.

But the exciting part of having a database of these facts (curated by everyone working there, with some sort of reputation system and “credence” for facts) is that you could generate diagrams and documentation from it. And, if you’re able to specify business rules well enough, you could even use it to power your APIs and systems. After all, aren’t they just supposed to be engines for enforcing business rules?

I have an obsessive tendency to want to DRY things up, and I can’t think of a better system for normalising our knowledge. But wow is there a lot of research on this stuff already. And startups trying to implement it too! Fun.