Skip to content

Knowledge Graph Visualization #38

@mathaix

Description

@mathaix

User Story

As a manager
I want to explore extracted entities and relationships in a visual knowledge graph
So that I can understand connections and patterns across interviews

Acceptance Criteria

Graph Visualization

  • Interactive graph using library (D3.js, Cytoscape.js, or vis.js)
  • Nodes represent entities (System, Process, Person, etc.)
  • Edges represent relationships (INTEGRATES_WITH, RESPONSIBLE_FOR, etc.)
  • Node size indicates importance (mention frequency, confidence)
  • Node color by entity type
  • Edge style by relationship type

Graph Navigation

  • Pan and zoom
  • Click node to see details panel
  • Double-click to expand related nodes
  • Hover for quick info tooltip
  • Search to find and highlight specific entities
  • Reset view button

Filtering

  • Filter by entity type (show only Systems, only Processes, etc.)
  • Filter by relationship type
  • Filter by confidence threshold
  • Filter by interview source
  • Filter by date range

Entity Details Panel

When clicking an entity:

  • Show all attributes
  • Show confidence score
  • Show source interviews (with links)
  • Show supporting evidence quotes
  • Show related entities
  • "View in Neo4j Browser" link for power users

Layout Options

  • Force-directed layout (default)
  • Hierarchical layout
  • Circular layout
  • Custom layout by entity type

Evidence Traceability

  • Click entity → see evidence nodes
  • Evidence nodes link to interview transcripts
  • Click edge → see evidence supporting relationship
  • Visual indicator: high vs low evidence support

Performance

  • Graph loads in < 3 seconds for 500 nodes
  • Smooth interactions (60fps)
  • Progressive loading for large graphs (1000+ nodes)
  • Option to hide low-confidence entities for clarity

Export Graph

  • Export as PNG/SVG image
  • Export as GraphML for Gephi/Cytoscape
  • Export as JSON for programmatic access

Technical Notes

  • Query Neo4j for project-scoped subgraph
  • Use Cypher to fetch entity + relationships + evidence
  • Consider graph simplification algorithms for large graphs
  • Implement graph caching with TTL
// Example query
MATCH (e:Entity {project_id: $project_id})
OPTIONAL MATCH (e)-[r]->(other:Entity {project_id: $project_id})
OPTIONAL MATCH (e)-[:SUPPORTED_BY]->(ev:Evidence)
RETURN e, r, other, ev

Definition of Done

  • Graph visualization working
  • Filtering and search working
  • Entity details panel working
  • Evidence links working
  • Performance requirements met
  • Code reviewed and merged

Requirement ID

RS-04


🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions