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.
๐ 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.
2. Node Search
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-keyheader. A key may add/edit/delete/rebuild only within its owncsnscope. - 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"}'
titlebecomes the node label;contentis rendered as the body popup (Markdown) when the node is clicked.- Providing
extRefIdmakes 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
| Symptom | Cause | Resolution |
|---|---|---|
| Only "No Project Selected" is shown | No project (csn) is specified | Select a project from the top navigation. |
| Document popup shows "login required" | No auth token for fetching the KB body | Log in and click the node title again. |
| A node shows no body | The 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 graph | Only the top 50 by importance are shown first | Use [Load N more] at the bottom, or search to bring a node into view. |
API Error or load failure | Session expired or server response error | Click [Retry] on the error banner, or log in again. |
| Issues/data exist but the graph is empty | Not yet reflected in tKB | Before 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