
Ask HN: How do you maintain the Knowledge Graph for writing software - utkarsh_apoorva
Lately there has been a slurry of new (and pretty good) note taking applications like Notion, Roam, Obsidian, Slite etc. I have found Roam and Obsidian great for maintaining a graph of connected notes easily.<p>But they don&#x27;t scale very well for a team - specifically a Software Product Team.<p>The use case is a bit different for software. You need to map everything to a feature - or a feature set. And soon you need to prioritise a collection of features - a super critical decision.<p>How do you manage it? How would you  improve it?
======
brettkromkamp
I use topic maps to model these kind of things. So, both a feature and a
feature set would be (separate) topics with appropriate (semantically
meaningful) relationships between them.

I am the author or Contextualise, a topic maps-based (personal and
collaborative) knowledge management application, so I am biased :)

~~~
utkarsh_apoorva
Am I right in assuming that topics behave exactly like Tags. I love knowledge
management tools. But have never been able to add them to a software
development workflow seamlessly - even though the team needs them.

~~~
brettkromkamp
No, topics are much more than tags which doesn't mean that topics can't be
used for tagging purposes with a "tag topic" and an appropriate association
between the topic that is being tagged and the topic that represents the tag -
hope that makes sense).

Topic maps can be used for meta-modelling purposes: to model other models. So,
a project is a topic (of type "project" \- the type being a topic itself), a
feature would be a topic, a feature set would be another topic, milestones,
stakeholders, basically everything would be a topic with the necessary
associations to express the appropriate relationship between the relevant
topics.

So, in your case, feature topics would be aggregated together into a feature
set by asserting the necessary relationships between the individual feature
topics and the feature set topic. Once that is done, a set of milestone topics
could be created with each milestone separately connected to the relevant
feature set topic(s). You could then add specific date-specific metadata (key-
value pairs) to the milestone topics so that they could be navigated in a
timeline-like fashion.

Let me know if the above makes sense or if you would like a more in-depth
explanation.

~~~
brettkromkamp
If you are interested in getting to know a bit more about topic maps, you
could do worse than reading these two articles:
[https://docs.microsoft.com/en-us/previous-
versions/aa480048(...](https://docs.microsoft.com/en-us/previous-
versions/aa480048\(v=msdn.10\)?redirectedfrom=MSDN)
[https://ontopia.net/topicmaps/materials/tao.html](https://ontopia.net/topicmaps/materials/tao.html)

