giip
SES Proposal
6 min read

Graphify Knowledge Graph Guide

Learn how to visualize your project's documents, source, and tags as a 3D knowledge graph and explore the connections between nodes.

๐Ÿš€ Go to Graphify โ†’

๐Ÿ“‹ Overview

Graphify renders the documents, source code, and tags of the selected project (csn) as a 3D knowledge graph of nodes and links. Nodes are colored by type and ranked by importance (weighted link count) when displayed.

โš ๏ธ Important: Graphify only visualizes tKB (knowledge base) entries โ€” other data such as giip issues or server info is not automatically included. Even if your project has issues or other data, the graph will be empty until something is registered in tKB. See Managing the Graph via API below to add entries.

๐Ÿ” Key Element Descriptions

1. Top Header

Shows the number of currently rendered nodes, the total node count, and the number of links in the format shown / total nodes ยท N links.

Type part of a label or path into the header search box to find matching nodes across the entire node set; results appear as a list on the left. Clicking a result brings that node into the graph and selects it.

3. 3D Graph Canvas

Nodes are color-coded by type, as shown in the bottom-left legend: Doc / Spec (amber), Code / Source (sky blue), and Tag (green). Clicking a node selects it and opens the inspector; clicking the background clears the selection.

4. Node Inspector (Right Panel)

Displays the selected node's type badge, link count, and path, along with two relation lists:

  • Backlinks: nodes that point to (link into) this node
  • Outgoing links: nodes that this node points to

Clicking an item navigates (drills down) to that node; use the back button at the top-left of the panel to return to the previous node.

5. Document Body Popup

Clicking the node title in the inspector opens a layer popup. If the node is a KB document (path kb/<number>), its full body is rendered as Markdown. Other nodes show a notice that there is no body to display. Press Esc to close the popup.

6. Rebuild Button

Clicking the [Rebuild] button in the header regenerates the graph (nodes and edges) for this project (csn) from its tKB entries. Only logged-in users can use it, and the graph refreshes automatically once it completes. Rebuilding can take a few seconds to tens of seconds depending on project size (shown via a loading indicator). After adding/editing/deleting tKB entries, you must click Rebuild for the changes to appear in the graph.

๐Ÿ› ๏ธ Tips

  • Load more: For performance, the graph first shows only the top 50 nodes by importance. Use the [Load N more] button at the bottom center to reveal the next 50.
  • Refresh: Click the [Refresh] button at the top right of the header to reload the graph data (this is not Rebuild โ€” use the [Rebuild] button next to it for that).

๐Ÿ’ก Important Notes

  • If no project is selected, the "No Project Selected" screen appears. Select a project from the top navigation.
  • Viewing the graph works without logging in, but the body of a KB document requires login (an authentication token) to open.

๐Ÿ”Œ Managing the Graph via API (Add ยท Edit ยท Delete ยท Rebuild)

๐Ÿ’ก For normal use, the [Rebuild] button on the page (see "Key Element Descriptions" above) is enough. The API methods below are for cases where the button isn't available โ€” scripts, automation, bulk registration, etc.

The Graphify graph is derived from KB entries (tKB). Add, edit, or delete entries via API, then call rebuild to reflect them in the graph. Connections (edges) are not drawn by hand โ€” rebuild generates them automatically from your entries.

  • Host: https://giipfaw.azurewebsites.net
  • Auth: Every write API requires the logged-in user's AK or a project-scoped SK in the x-api-key header. A key may add/edit/delete/rebuild only within its own csn scope.
  • Workflow: add/edit/delete (giipKb) โ†’ rebuild (giipGraphifyRebuild) โ†’ verify (giipGraphify)

1) Add a node โ€” giipKb POST

curl -X POST "https://giipfaw.azurewebsites.net/api/giipKb" \
  -H "x-api-key: <AK_OR_SK>" -H "Content-Type: application/json" \
  -d '{"csn":47,"title":"OAuth callback 500","content":"## Cause\ntoken exchange timeout","tags":"auth,oauth,timeout","refType":"ISSUE","extRefId":"ISSUE-1001"}'
  • title becomes the node label; content is rendered as the body popup (Markdown) when the node is clicked.
  • Providing extRefId makes it an idempotent upsert โ€” resending with the same value updates instead of creating a duplicate.
  • Response: { "success": true, "kbSn": 844, "message": "..." }

2) Edit a node โ€” giipKb PUT

curl -X PUT "https://giipfaw.azurewebsites.net/api/giipKb" \
  -H "x-api-key: <AK_OR_SK>" -H "Content-Type: application/json" \
  -d '{"kbSn":844,"title":"OAuth callback 500 (resolved)","content":"## Fix\ntimeout 30s->90s","tags":"auth,oauth,resolved"}'
  • Identify the target entry with kbSn.

3) Delete a node โ€” giipKb DELETE

curl -X DELETE "https://giipfaw.azurewebsites.net/api/giipKb?kbSn=844" \
  -H "x-api-key: <AK_OR_SK>"

4) Rebuild (generate connections) โ€” giipGraphifyRebuild POST

You must call this after adding/editing/deleting entries for changes to appear. It regenerates the nodes and edges for that csn from the KB entries.

curl -X POST "https://giipfaw.azurewebsites.net/api/giipGraphifyRebuild" \
  -H "x-api-key: <AK_OR_SK>" -H "Content-Type: application/json" \
  -d '{"csn":47}'
  • Response: { "success": true, "csn": 47, "nodes": 838, "edges": 11, "message": "Graph rebuilt" }
  • Optional params (performance tuning for large projects):
    • maxNodes: cap on the most recent entries to graph (default 400)
    • scanLen: length of the body prefix scanned when finding connections (default 1500)
    -d '{"csn":47,"maxNodes":800,"scanLen":2000}'

5) Read the graph โ€” giipGraphify GET

The read API the page uses internally (works without auth). To check directly:

curl "https://giipfaw.azurewebsites.net/api/giipGraphify?csn=47"
  • Response: { "nodes": [...], "links": [...] }

For the full field reference, see ๐Ÿ“˜ API Reference Overview.

๐Ÿ“ฆ Where is the data stored? (summary)

Entries added via the API are stored in the tKB table. The graph tables (tBlogGraphNodes/tBlogGraphEdges) are a derived result that gets rebuilt from tKB every time you call rebuild. No matter how many times you rebuild, data that isn't in tKB never appears in the graph โ€” this is the most common cause of "the issue exists but doesn't show up in the graph."

(Already running) Engineering know-how (K-Layer) accumulated during giip sessions is automatically ingested into tKB every day as refType='k-layer-daily' (tags k-layer-wiki,daily) โ€” these entries are absorbed as DOC nodes on the next Rebuild and cluster together by date. (New) Rebuild also now auto-translates graph text into the language configured for that csn's project (cLang). Change a csn's language setting and the graph's displayed language changes starting from the next Rebuild. See the "Data storage and flow" section of the ๐Ÿ“˜ API Reference Overview for the full data flow and field details.

Troubleshooting

SymptomCauseResolution
Only "No Project Selected" is shownNo project (csn) is specifiedSelect a project from the top navigation.
Document popup shows "login required"No auth token for fetching the KB bodyLog in and click the node title again.
A node shows no bodyThe node is not a KB document (kb/โ€ฆ)Bodies are provided only for KB document nodes. This is expected behavior.
Some nodes are not visible in the graphOnly the top 50 by importance are shown firstUse [Load N more] at the bottom, or search to bring a node into view.
API Error or load failureSession expired or server response errorClick [Retry] on the error banner, or log in again.
Issues/data exist but the graph is emptyNot yet reflected in tKBBefore clicking Rebuild, first add content to tKB via the giipKb API (see the API section above).

Version: 1.1 Last Updated: 2026-09-06 Source: giipv3/public/help/graphify.en.md