How intforout/sham-wah works
Sham-Wah is a client–server knowledge-graph explorer: users select concepts and filters, query digital assets, inspect results, and explore graph neighborhoods and metadata. The GUI also documents demonstration data, map, edit, chatbot, and Cypher-query surfaces. The sampled code confirms the asset-query path and graph-rendering utilities; links for unsampled API routes and auxiliary product surfaces are limited to documented responsibilities.
Main entry points: GraphCanvas.vue Graph canvas · main.py API application · assets.py Asset query route · query-result-store.ts Query results
Components 21
GUI
- Asset search
gui/app/components/sidebar/panels/PredefinedQueryPanel.vue - Query filters
gui/app/components/sidebar/panels/predefinedQueryPanel/QueryFilters.vue - Filter state
gui/app/stores/predefined-query-store.ts - Query results
gui/app/stores/query-result-store.ts - Graph state
gui/app/stores/graph-store.ts - Graph canvas
gui/app/components/canvas/GraphCanvas.vue - Asset details
gui/app/components/canvas/GraphInfoPanel.vue - Map view
gui/app/components/canvas/MapCanvas.vue - Chatbot panel
gui/app/components/sidebar/panels/ChatbotPanel.vue - Cypher panel
gui/app/components/sidebar/panels/CypherPanel.vue
API
- API application
api/app/main.py - Asset query route
api/app/routers/assets.py - Graph routes
api/app/routers/graph.py - Database routes
api/app/routers/db.py
Graph processing
- Demo assets
gui/app/utils/graph/mockData.ts - Graph renderer
gui/app/composables/useGraphRenderer.ts - Graph utilities
gui/app/utils/graph/graphAdapter.ts - Asset parser
api/app/core/parsers.py
External systems
- Knowledge graph
- Sham-Wah API
Other components
- Explorer
Connections 24
- Explorer → Asset search: selects query
- Asset search → Query filters: configures
- Query filters → Filter state: updates filters
- Asset search → Query results: runs search
- Query results → Sham-Wah API: posts asset query
- Query results → Demo assets: filters demo data
- Sham-Wah API → API application: routes request
- API application → Asset query route: dispatches
- Asset query route → Knowledge graph: queries
- Asset query route → Asset parser: converts records
- Asset query route → Query results: returns assets
- Explorer → Graph canvas: explores graph
- Graph canvas → Graph renderer: renders graph
- Graph renderer → Graph utilities: uses graph helpers
- Graph canvas → Graph state: reads graph state
- Graph state → Graph routes: requests graph data
- Graph routes → Knowledge graph: accesses graph
- Graph canvas → Asset details: shows selected node
- Explorer → Map view: opens map
- Explorer → Chatbot panel: uses assistant
- Explorer → Cypher panel: enters Cypher
- API application → Graph routes: dispatches
- API application → Database routes: dispatches
- Database routes → Knowledge graph: checks database