dhaga.docs
Using Dhaga

Tags

Tags are real entities in your graph — browse each with its people count, filter your list by one, and merge synonyms so a folded-away name resolves.

A tag is your own vocabulary about your own people — investor, ex-colleague, delhi-trip. Some arrive from extraction when you write a note; some you pin by hand. Either way each one is a real row in your graph, not just a word on a contact, so it can be counted, filtered, merged and given alternate spellings.

Where tags come from

  • Extraction. Writing a note about someone can suggest tags, and each one keeps a receipt pointing at the note that produced it. Delete that note and the tag goes with it — unless a second note, or you, also vouch for it.
  • By hand. Add one from a person's header, or to many people at once from the Tag bulk action on /app/people. A hand-pinned tag has no source note, so it survives the deletion of any note that happened to mention the same word.

See everyone with a tag

Every tag chip on a person's page is a link. Click one and you land on /app/people filtered to everyone carrying it, the tag showing as a chip above the table with an ✕ to take it off again. The × on the chip on the person's page still removes the tag from that person.

You aren't limited to one. The People table's Filter button holds as many tags as you want to add, and a tag filter with several values means any of them — investor or advisor — so a whole slice of your network comes back in one list. The filter stays in the page's address, so that slice can be bookmarked. See Narrow the list first.

The Tags page

Open /app/tags — it's in the nav More menu. The table lists every tag you have, with:

  • its people count, so you can see which labels actually carry your network,
  • how many alternate spellings it answers to,
  • a link straight to the filtered people list.

A search box above the table narrows it by name, which is what you want once your vocabulary runs past a screenful. Select several tags at once — the selection persists across pages — to delete or merge them.

Delete a tag

Deleting a tag removes it from every contact carrying it, along with its receipts. It never deletes people. Your contacts stay; they just no longer carry that label. It can't be undone.

Merge tags — and why the old name keeps working

VC and investor mean the same thing to you, but extraction wrote both. Select two or more and Merge:

  1. Pick the survivor.
  2. Everyone carrying a folded-away tag ends up carrying the survivor — exactly once, even if they already had both.
  3. Every receipt moves with them, so you never lose the record of which note put a label on someone.
  4. The folded-away names are kept as aliases of the survivor.

That last step is the point. Without it the next note mentioning "VC" would be extracted as a brand-new VC tag and you would merge the same pair forever. Because the name survives as an alias, a later note saying "VC" resolves to investor instead of re-creating the tag you just merged away.

It's one atomic step — either the whole merge lands or none of it does.

Alternate spellings

Each tag has an Also known as list you can edit directly, and there's a global view at /app/tags/aliases. An alias can't be blank, can't duplicate the tag's own name, and can't collide with a tag or alias you already have. (A merge is deliberately more forgiving — a clashing name is skipped rather than failing the whole merge.)

Under the hood

Tags are stored as tags, contact_tags and tag_aliases tables, with contact_tag_sources holding the receipts. The older contacts.tags array is still maintained as a derived cache so existing views keep working, but the tables are the source of truth. All four are included in your export — you can always leave with everything. The contents of files you attached ride in the archive export rather than the JSON one.

On this page