知识图谱可视化工具

一个用于从multi-memory-mcp项目可视化知识图谱的ASP.NET Core应用程序,支持3D力导向图交互。

  • by DanNsk
  • C#
  • 本地部署
  • 更新于
在 GitHub 查看 DanNsk/MemoryGraph

使用说明

内存图形可视化工具

ASP。NET Core应用程序,用于可视化来自 多存储器mcp 使用三维力图的项目

特性

  • 交互式图形可视化 -具有缩放、平移和拖放功能的3D力图
  • 多种布局 -COSE(力定向)、圆形、网格、宽度优先、同心
  • 实体类型着色 -按实体类型自动进行颜色编码
  • 节点详细信息面板 -查看观察结果、时间戳、来源和连接
  • 搜索和筛选 -按名称或类型查找节点
  • 导出为PNG -将图形另存为图像
  • 定向边缘 -显示关系方向的箭头(来源→ 目标)
  • 响应式设计 -适用于台式机和移动设备

先决条件

  • .NET 8.0 SDK或更高版本
  • 现代网络浏览器(Chrome、Firefox、Safari、Edge)

快速开始

1.配置内存文件夹

编辑 MemoryGraphVisualizer/appsettings.json:

{
  "MemoryGraph": {
    "MemoryFolderPath": "./.aim/",
    "MaxGraphNodes": 10000,
    "DefaultLayout": "cose"
  }
}

2.运行应用程序

cd MemoryGraphVisualizer
dotnet restore
dotnet run

应用程序开始于 https://localhost:5001 (或 http://localhost:5000).

3.查看您的图表

  1. 在浏览器中打开应用程序
  2. 从下拉列表中选择数据库
  3. 与图形交互:
    • 滚动/捏住 -放大/缩小
    • 拖动画布 -平移视图
    • 拖动节点 -重新定位节点
    • 点击节点 -查看详细信息并突出显示连接

测试数据库

在开发模式下,应用程序创建示例数据库:

  • software-project.db -30个实体,40个关系(软件架构)
  • team-knowledge.db -15个实体,16个关系(团队/项目知识)
  • empty.db -空数据库(边缘情况)
  • nodes-only.db -5个实体,0个关系(断开连接的节点)

配置选项

选项 描述 默认值
MemoryFolderPath 包含.db文件的文件夹的路径 ./.aim/
MaxGraphNodes 要加载的最大节点数 10000
DefaultLayout 默认布局算法 cose

键盘快捷键

关键 行动
F 将图形安装到屏幕上
R 重置视图
/ 焦点搜索框
Esc 清除搜索

API终点

端点 方法 描述
/api/databases GET 列出可用数据库
/api/graph?database={name} GET 加载图形数据

项目结构

MemoryGraph/
├── MemoryGraph.slnx                        # Solution file
├── README.md
├── FEATURE_REQUEST_NODE_EDITING.md         # Planned editing features
└── MemoryGraphVisualizer/
    ├── MemoryGraphVisualizer.csproj        # Project file
    ├── Program.cs                          # Entry point and API endpoints
    ├── appsettings.json                    # Configuration
    ├── Configuration/                      # Options classes
    ├── Models/                             # GraphNode, GraphEdge, Observation, etc.
    ├── Pages/                              # Razor pages (Index)
    ├── Services/                           # Business logic and data access
    └── wwwroot/
        ├── css/                            # Custom styles
        └── js/                             # Graph visualization JavaScript

数据库模式

可视化工具期望SQLite数据库具有以下模式:

CREATE TABLE entities (
    name TEXT PRIMARY KEY,
    entityType TEXT NOT NULL,
    observations TEXT  -- JSON array
);

CREATE TABLE relations (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    fromEntity TEXT NOT NULL,
    toEntity TEXT NOT NULL,
    relationType TEXT NOT NULL
);

观察结果格式

[
  {
    "text": "Observation text",
    "timestamp": "2025-01-15T10:30:00Z",
    "source": "code-analysis"
  }
]

技术栈

后端:

  • ASP。NET Core 8.0(剃刀页面)
  • 微软。数据。SQLite
  • Serilog

前端:

  • 三维力图
  • Bootstrap 5.3
  • 普通JavaScript(ES6+)

未来的增强功能

未来的编辑能力:

  • 添加/删除节点
  • 绘制节点之间的连接
  • 编辑属性和观察结果

许可证

麻省理工学院