100行代码搞定智能视频摘要生成:基于opensora-hpcai-1_0_ms的实战指南
Semantica Knowledge Explorer 完全指南:安装启动、工作区导航与实时图谱工作台
Semantica Knowledge Explorer 是 Semantica 平台自带的浏览器端图工作台(browser-based graph workbench):它把知识图谱的探索、时间线回放、决策因果链追踪、实体去重与本体(Ontology)可视化管理整合进一个 Web 界面,构建于 React 19 + Sigma.js 之上。本文以 explorer/README.md 为骨架,结合 semantica/explorer 后端源码、explorer/src 前端源码与 docs/reference/explorer.md 参考文档,完整讲解 Explorer 的两种运行方式、CLI 参数、安全模型、工作区能力、环境变量、开发代理与故障排查,读完后你可以立即把任意 ContextGraph JSON 文件启动成可交互的图谱仪表盘,并理解其前后端协作的底层原理。
一、Explorer 是什么:从 JSON 文件到交互式图谱工作台
Explorer 的定位是一个 server process(服务进程),而不是可导入的 Python 库。它将 Semantica 生态中已经构建好的知识图谱(ContextGraph)加载进内存,通过 FastAPI 提供 REST 与 WebSocket 接口,再由 React 前端把图渲染成可平移缩放(pan & zoom)的实时画布。核心能力包括:
- 图谱探索:拖拽缩放实时画布、ForceAtlas2 物理布局、Ego Mode、语义距离热力图、路径高亮;
- 时间线回放:拖动时间轴观察图谱随时间演化;
- 决策审计:浏览每条已记录决策背后的因果链,附带结果徽章与置信度分数;
- 实体解析:基于 blocking + 语义去重审查并合并重复实体;
- 本体管理:SHACL Studio、可视化拖拽编辑器、跨本体对齐、SKOS 浏览器;
- 溯源可视化:基于 W3C PROV-O 标准展示任意实体的 Lineage。
从前端代码看,App.tsx 定义了六类导航工作区(Knowledge Explorer / Analyze / Decisions / Enrich / Manage / Ontology Hub),而 src/workspaces 下实际实现了 14 个具体工作区,包括 GraphWorkspace、DecisionWorkspace、DiffMergeWorkspace、EnrichWorkspace、ImportExportWorkspace、LineageWorkspace、ManageWorkspace、OntologyWorkspace、SparqlWorkspace、VocabularyWorkspace,以及 MemoryWorkspace 与 ReasoningWorkspace。这说明 README 中的工作区表格是能力的最小集,实际前端已覆盖更广。
二、环境要求
| 依赖 | 最低版本 |
|---|---|
| Python | 3.8+ |
| Node.js | 18.x 或更高(推荐 20.x) |
| npm | 9.x 或更高 |
启动前建议先验证三者的版本:
python --version
node --version
npm --version
注意:Node.js 18+ 的限制来自 Vite 6(详见本文“故障排查”一节),如果使用源码开发模式运行前端,Node 版本过低会导致
npm run dev失败。
三、两种运行方式
Explorer 提供两条运行路径:pip 安装(推荐给使用者) 与 源码运行(推荐给贡献者 / 前端开发者)。两者共享同一套 FastAPI 后端,区别仅在于前端是使用预构建 bundle 还是 Vite 开发服务器。
Option A — pip 安装(推荐)
安装带 explorer extras 的包,wheel 内已包含预构建前端 bundle,无需 Node.js:
pip install "semantica[explorer]"
启动时用 --graph 指向任意图 JSON 文件:
semantica-explorer --graph my_graph.json
服务默认启动在 http://127.0.0.1:8000,并自动在默认浏览器中打开仪表盘。
CLI 参数完整表格:
| Flag | 默认值 | 说明 |
|---|---|---|
--graph / -g | (必填) | ContextGraph JSON 文件路径 |
--port / -p | 8000 | 服务绑定端口 |
--host | 127.0.0.1 | 绑定主机(本地开发用 127.0.0.1;参见下文安全说明) |
--no-browser | 关闭 | 跳过自动打开浏览器 |
从 CLI 入口源码 可以看到,这确实是 Explorer 支持的全部四个参数,且 --graph 是必填项——若文件不存在,程序会打印 Error: graph file not found 并直接 sys.exit(1)。图加载完成后终端会输出节点/边统计:
✓ Graph loaded — 42 nodes, 87 edges
常用示例:
# 默认方式——打开于 http://127.0.0.1:8000
semantica-explorer --graph my_graph.json
# 自定义端口
semantica-explorer --graph my_graph.json --port 8080
# 禁止自动打开浏览器
semantica-explorer --graph my_graph.json --no-browser
# 等价于 python -m 方式
python -m semantica.explorer --graph my_graph.json
python -m semantica.explorer 由 semantica/explorer/main.py 提供模块入口,最终同样调用 main()。
安全说明:API Key 与匿名访问
自 v0.6.5 起,Explorer 的 API 在受保护路由上强制要求 API Key:
- 设置环境变量
SEMANTICA_API_KEY,并通过X-API-Key请求头发送; - 未配置 Key 时,受保护路由一律 fail closed,返回
503,绝不会匿名放行; - 仅本地开发需要匿名访问时,必须显式设置
SEMANTICA_ALLOW_ANONYMOUS=true; /api/health与/api/info刻意保持免鉴权。
这套“默认拒绝”逻辑在 dependencies.py 中有完整的源码实现:require_auth 依赖先检查 SEMANTICA_ALLOW_ANONYMOUS,若未开启匿名,再检查 SEMANTICA_API_KEY 是否配置——未配置则抛 503 SERVICE_UNAVAILABLE,配置了但 Key 不匹配则抛 401 UNAUTHORIZED,且比较时使用 hmac.compare_digest 做常数时间比较,避免时序侧信道。Key 每次从环境变量实时读取(不缓存),因此运维可以在不重启进程的情况下轮换 Key。
主机绑定风险提示:
默认 --host 127.0.0.1 只绑定本地回环,局域网内其他机器无法访问。如果绑定到 0.0.0.0,则任何能触达该端口的主机都可读写全部图数据(受 API Key 鉴权约束)。CLI 在两种情况下会打印警告(见 CLI 源码):
- 绑定非回环主机且处于匿名模式(
SEMANTICA_ALLOW_ANONYMOUS=true); - 绑定非回环主机但未设置
SEMANTICA_API_KEY(受保护路由将全部拒绝 503)。
# 典型安全启动组合
export SEMANTICA_API_KEY="your-secret-key"
semantica-explorer --graph my_graph.json --host 127.0.0.1
Option B — 源码运行(贡献者 / 前端开发)
此模式运行 React 开发服务器,启用热模块替换(HMR),前端改动可即时在浏览器中生效,无需重新构建。
Step 1 — 克隆仓库
git clone https://github.com/semantica-agi/semantica.git
cd semantica
Step 2 — 安装 Python 包
pip install -e ".[explorer]"
Step 3 — 安装前端依赖
cd explorer
npm ci
Step 4 — 启动 Python 后端
在仓库根目录打开一个终端:
semantica-explorer --graph path/to/my_graph.json --no-browser
API 运行于 http://127.0.0.1:8000,保持该终端开启。
Step 5 — 启动前端开发服务器
在 explorer/ 目录打开第二个终端:
npm run dev
Vite 启动于 http://localhost:5173,在浏览器打开该地址。所有 /api 与 /ws 请求都会自动代理到 http://127.0.0.1:8000 的 Python 后端。
四、构建生产 bundle
如果需要让 Python 服务器直接托管 UI(而不依赖 Vite 开发服务器):
cd explorer
npm ci
npm run build
构建产物写入 ../semantica/static/。之后 Python 服务器会在 http://127.0.0.1:8000 直接提供完整仪表盘,无需额外的 Vite 进程。
从 vite.config.ts 可以看清构建细节:build.outDir 指向仓库根的 semantica/static(emptyOutDir: true),并通过 manualChunks 把 Sigma/Graphology(graph-vendor)、vis-timeline(timeline-vendor)、@tanstack/react-query(query-vendor)拆分为独立 vendor chunk,优化缓存与首屏加载。后端侧,app.py 会挂载 /assets 静态目录,并提供 /{full_path:path} 的 SPA 回退路由——任何非 /api 路径都返回 index.html,交由前端路由接管;如果静态目录里没有 index.html,根路径会返回一个说明修复方式的 HTML 页面(Explorer UI not available),同时提示 REST API 在 /docs 仍可用。
五、工作区全景
| 工作区 | 你可以做什么 |
|---|---|
| Knowledge Graph | 实时 Sigma.js 画布 · ForceAtlas2 布局 · Ego Mode · 语义距离热力图 · 路径高亮 |
| Timeline | 时间事件滑动条——观察图谱随时间演化 |
| Decisions | 浏览每条已记录决策背后的因果链,附带结果徽章与置信度分数 |
| Registry | 每一次图变更(add-node、add-edge、delete、update)的实时审计日志 |
| Entity Resolution | 通过 blocking + 语义去重审查并合并重复实体 |
| KG Overview | 聚合统计、社区分解、中心性热力图 |
| Ontology Hub | SHACL Studio · 可视化拖拽编辑器 · 跨本体对齐 · SKOS 浏览器 |
| Lineage | 任意实体的 W3C PROV-O 溯源可视化 |
各工作区在前端有明确对应实现,例如 GraphWorkspace 及其 behaviors/(点击选择、缩放适配、相机聚焦、悬停激活、路径高亮、搜索聚焦、视图切换)与 plugins/(探索特效、图例、邻域面板、时间叠加层);OntologyWorkspace 内含 ShaclStudio、OntologyEditor、SKOSVocabularyManager、AlignmentsTab、HealthTab、VersionsTab 等十余个模块。后端则为每个工作区提供对应 REST 路由,完整路由清单见 semantica/explorer/routes,共 13 个路由模块(analytics、annotations、decisions、enrich、export_import、graph、markdown、memories、ontology、provenance、sparql、temporal、vocabulary)。
关键 REST API 速查
所有 API 的交互式文档在启动后位于 http://localhost:8000/docs(Swagger UI)。以下是 docs/reference/explorer.md 中记录的常用端点:
| 端点 | 方法 | 用途 |
|---|---|---|
/api/graph/stats | GET | 节点数、边数、实体类型分布 |
/api/graph/search | POST | 索引化搜索:{query, limit, filters, anchor_node} |
/api/graph/path | GET | 最短路径:?source=&target=&algorithm=bfs&directed=true |
/api/graph/node/{id}/neighbors | GET | 邻域展开:?depth=1(1–5) |
/api/analytics | GET | 图指标:?metrics=centrality,community,connectivity |
/api/analytics/validation | GET | 图质量校验报告(孤儿节点、缺失类型等) |
/api/enrich/dedup | POST | 重复检测 |
/api/enrich/merge | POST | 合并重复节点 |
/api/temporal/snapshot | GET | 指定时刻图快照:?at=ISO8601 |
/api/temporal/diff | GET | 两时刻间的图差异:?from_time=&to_time= |
/api/ontology/registry | GET | 已加载本体列表 |
/api/ontology/shacl/validate | POST | 用 SHACL 校验 RDF |
/api/ontology/skos/concept/{uri} | GET | 获取 SKOS 概念 |
/api/sparql | POST | 只读 SPARQL 查询(SELECT/ASK/CONSTRUCT/DESCRIBE) |
/api/decisions/{id}/chain | GET | 决策因果链 |
/api/provenance | GET | 实体溯源:?node_id= |
/api/export | POST | 导出图:{format: "json"\|"csv", node_ids} |
/api/import | POST | 从 .json/.csv 导入(上限 50 MB) |
/api/health | GET | 返回 {"status": "ok"} |
/api/info | GET | 服务器名称、版本、状态、能力 |
六、环境变量
| 变量 | 默认值 | 说明 |
|---|---|---|
EXPLORER_CORS_ORIGINS | http://localhost:5173,http://127.0.0.1:5173 | 允许的 CORS 来源,逗号分隔 |
EXPLORER_CORS_CREDENTIALS | false | 设为 true 允许带凭据的跨域请求(仅当位于需要鉴权的反向代理之后时才需要) |
SEMANTICA_API_KEY | (未设置) | v0.6.5 起受保护路由所需的 API Key,通过 X-API-Key 头发送;未设置时受保护路由返回 503 |
SEMANTICA_ALLOW_ANONYMOUS | false | 设为 true 显式开启匿名访问(仅限本地开发) |
后端源码中的细节值得补充说明:
- app.py 的
_read_explorer_settings读取 CORS 来源时,会优先使用ALLOWED_ORIGINS,其次EXPLORER_CORS_ORIGINS,最后才落到默认值——即两者兼容,旧变量名仍然生效; - CORS 中间件显式放行
Content-Type、Authorization、X-API-Key三个请求头,方法限定为GET/POST/PUT/DELETE/OPTIONS; EXPLORER_CORS_CREDENTIALS默认关闭是因为X-API-Key鉴权本身不需要浏览器携带 Cookie,开启凭据反而会扩大跨站请求风险面(见 app.py 注释);- 后端还会读取
FALKORDB_HOST/FALKORDB_PORT/SEMANTICA_PROVENANCE_DB/EXPLORER_PROVENANCE_DB,其中 provenance 存储路径会传给GraphSession用于溯源持久化。
一个把 CORS 与安全组合起来的完整启动示例:
EXPLORER_CORS_ORIGINS="http://myapp.example.com" \
SEMANTICA_API_KEY="secret" \
semantica-explorer --graph my_graph.json --host 0.0.0.0 --port 8080 --no-browser
七、可用脚本(npm)
以下命令需在 explorer/ 目录内执行:
# 启动开发服务器(热模块替换)
npm run dev
# 类型检查并构建生产 bundle 到 ../semantica/static/
npm run build
# 本地预览生产构建
npm run preview
# 对全部源码运行 ESLint
npm run lint
# 运行图存储多边单元测试
npm run test:graph-store
# 运行图工作区展示测试
npm run test:graph-workspace
从 explorer/package.json 可以看到完整的脚本清单,build 内部先执行 tsc -b(TypeScript 严格模式类型检查)再执行 vite build;test:graph-workspace 通过 node --import tsx --test 运行一组覆盖 markdown 内容渲染、时间线生命周期、确定性渲染、图谱场景状态、图例、小图布局、实时图属性、本体编辑器模型等模块的测试。仓库 explorer/tests/ 下还有 graphStore.multi-edge.test.mjs、temporalSnapshotGuards.test.ts、deterministicExplorerRendering.e2e.ts 等 19 个测试文件,可作为理解各工作区行为的入口。
八、开发模式的 API 与 WebSocket 代理
开发期间 Vite 自动转发请求,无需额外 CORS 配置:
| 模式 | 转发目标 |
|---|---|
/api/* | http://127.0.0.1:8000/api/* |
/ws/* | ws://127.0.0.1:8000/ws/* |
代理配置位于 vite.config.ts,后端端口不同时修改 server.proxy 即可。另外,代理目标还支持两个环境变量覆盖:
VITE_EXPLORER_API_TARGET:覆盖 API 代理目标(默认http://127.0.0.1:8000);VITE_EXPLORER_WS_TARGET:覆盖 WebSocket 代理目标(默认取 API 目标的http→ws替换结果)。
WebSocket 实时更新协议
实时图变更事件通过 ws://127.0.0.1:8000/ws/graph-updates 推送。Python 客户端示例(来自 docs/reference/explorer.md):
import asyncio
import json
import websockets
async def watch_updates():
async with websockets.connect("ws://localhost:8000/ws/graph-updates") as ws:
# 服务端连接后先发 ack
ack = json.loads(await ws.recv())
print("Connected:", ack)
# 发送 ping 验证连接存活
await ws.send("ping")
async for message in ws:
event = json.loads(message)
print("[{}] {}".format(event["event"], event.get("data")))
asyncio.run(watch_updates())
消息结构:
{
"event": "graph_mutation",
"data": {
"event_type": "ADD_NODE",
"entity_id": "node_123",
"payload": {}
},
"timestamp": "2024-01-15T10:30:00+00:00"
}
事件类型包括 connection_ack、pong 与 graph_mutation(节点/边经导入或富化被增改删时触发);发送文本 "ping" 会收到 pong。
WebSocket 的鉴权与关闭码(源码见 ws.py):
- 浏览器 Origin 不在 CORS 白名单 → 关闭码
4403; - 浏览器无法在 WebSocket 握手时设置自定义头,因此必须把 Key 作为查询参数传递:
ws://127.0.0.1:8000/ws/graph-updates?api_key=<your-key>非浏览器客户端(原生应用、脚本)则可以用
X-API-Key头发送; - Key 缺失或错误 → 关闭码
4401;SEMANTICA_API_KEY未设置且SEMANTICA_ALLOW_ANONYMOUS不为true时同样拒绝连接; - 单条消息超过 64 KB → 关闭码
1009。
注意:URL 中的 API Key 会出现在服务器日志中,非浏览器客户端请优先使用 Header 方式传递。
九、项目结构(前后端对应)
README 给出的前端结构(已按当前仓库实际内容核对,workspaces/ 下比 README 列出的更多):
explorer/
├── src/
│ ├── App.tsx # 根布局、标签路由、工作区装配
│ ├── index.css # 全局 reset、字体、关键帧动画
│ ├── store/
│ │ ├── graphStore.ts # 内存图状态
│ │ └── registryStore.ts # Pub/sub 审计注册表
│ └── workspaces/
│ ├── GraphWorkspace/ # Sigma.js 画布 + 检查器 + 行为
│ ├── DecisionWorkspace/ # 因果流程图 + 决策列表
│ ├── DiffMergeWorkspace/ # 图差异与合并视图
│ ├── EnrichWorkspace/ # 实体解析 + 注册表标签页
│ ├── ImportExportWorkspace/ # 导入 CSV/JSON、导出图
│ ├── LineageWorkspace/ # W3C PROV-O 谱系图
│ ├── ManageWorkspace/ # KG Overview + Ontology Summary
│ ├── OntologyWorkspace/ # SHACL Studio、可视化编辑器、SKOS 浏览器
│ ├── SparqlWorkspace/ # 浏览器内 SPARQL 查询编辑器
│ ├── VocabularyWorkspace/ # SKOS 词汇表管理器
│ ├── MemoryWorkspace.tsx # Agent 记忆工作区
│ └── ReasoningWorkspace.tsx # 推理工作区
├── index.html
├── vite.config.ts # 开发代理 → 127.0.0.1:8000,构建 → ../semantica/static
└── package.json
后端结构(semantica/explorer):
semantica/explorer/
├── __init__.py # CLI 入口:参数解析、图加载、uvicorn 启动、自动开浏览器
├── __main__.py # python -m semantica.explorer 模块入口
├── app.py # FastAPI 应用工厂:CORS、鉴权装配、静态托管、SPA 回退
├── dependencies.py # require_auth 鉴权依赖、GraphSession 注入
├── runtime.py # explorer_capabilities 能力探测、mutation bridge 装配
├── session.py # GraphSession:线程安全会话、节点/边规范化、分页、搜索
├── ws.py # WebSocket 连接管理 + 图更新广播
├── search_index.py # 图搜索索引
├── markdown_resources.py
├── schemas.py
└── routes/ # 13 个 REST 路由模块
后端运行链:从命令行到 WebSocket 广播
把整条链路串起来看(均可从源码验证):
- CLI 入口 调用
GraphSession.from_file(args.graph)加载 ContextGraph,打印节点/边统计; - create_app 创建 FastAPI 应用,将所有业务路由挂上
require_auth鉴权依赖,仅/api/health、/api/info、静态资源与 SPA 回退免鉴权; - lifespan 阶段调用 install_mutation_bridge,把
on_mutation回调挂到session.graph.mutation_callback上——任何节点/边的增改删都会:① 同步维护搜索索引与图 revision;② 通过asyncio.run_coroutine_threadsafe把graph_mutation事件广播给所有已连接 WebSocket 客户端; - GraphSession 以
threading.RLock保护并发访问,提供paginate_nodes/paginate_edges(含 cursor 分页与搜索/bbox 过滤)、get_neighbors、search、get_temporal_bounds、get_cached_embeddings(缓存按图 revision 失效)等能力,并懒加载CentralityCalculator、CommunityDetector、PathFinder等分析组件(依赖semantica[kg]extras,缺失时优雅降级)。
十、故障排查
仪表盘显示空白白页或 "UI not available" 提示
说明服务器静态目录中缺少前端 bundle。修复方式:
- pip 安装用户:
pip install --upgrade "semantica[explorer]"——wheel 包含预构建 bundle; - 源码安装用户:在仓库根目录执行
cd explorer && npm ci && npm run build,然后重启服务器; - 开发模式:改用 Vite 开发服务器地址
http://localhost:5173,而不是后端地址。
浏览器中图空白 / 无数据加载
- 确认 Python 后端正在运行,检查终端有无报错;
- 打开浏览器 DevTools → Network 面板,查找失败的
/api/graph请求; - 如果后端在不同端口,更新 vite.config.ts 中的
server.proxy。
npm ci 失败或提示缺少 lockfile
package-lock.json 必须存在。先执行一次 npm install 生成它并提交,之后统一使用 npm ci。
npm run dev 报 Node 版本错误
Vite 6 要求 Node 18 或更高。执行 node --version 检查;如果仍是 Node 16,请升级 Node 版本。
端口 5173 被占用
Vite 会自动尝试下一个可用端口,并在终端打印实际 URL,使用终端输出的地址即可。
WebSocket 连接不上(实时变更不出现)
- 确认后端暴露了
/ws/graph-updatesWebSocket 端点; - 查看 DevTools → Network → WS 标签的连接状态与错误码;
- 确保后端版本与前端匹配——大版本混用可能造成协议不匹配;
- 鉴权:
/ws/graph-updates与 REST 路由使用同一 API Key。浏览器无法在 WebSocket 握手时设置自定义头,因此需以查询参数传递:ws://127.0.0.1:8000/ws/graph-updates?api_key=<your-key>;非浏览器客户端可用X-API-Key头。Key 缺失或错误会得到关闭码4401;若SEMANTICA_API_KEY未设置且SEMANTICA_ALLOW_ANONYMOUS不为true,连接同样被拒绝。注意 URL 中的 Key 会出现在服务器日志,非浏览器客户端请用 Header。
其他常见问题(参考 docs/reference/explorer.md)
Error: graph file not found:--graph必须指向真实存在的文件;Error: uvicorn is required:执行pip install "semantica[explorer]"安装 extras;- API 调用
Connection refused:默认只绑定127.0.0.1,跨机器/容器访问需加--host 0.0.0.0; - 导入后图为空:
/api/import只解析.json与.csv,其他格式返回 HTTP 422;JSON 需包含顶层entities/nodes数组或relationships/edges数组; PathFinder not available:路径查找依赖semantica[kg]extras,安装pip install "semantica[all]";- 语义邻域返回 503:需要节点属性中存有 embedding(键为
embedding、vector或node2vec_embedding),无 embedding 的图会返回 503; - 重启后会话状态丢失:会话仅存内存,无自动保存。关闭前调用
POST /api/export(body{"format": "json"})下载当前状态。
另外,docs/reference/explorer.md 中的性能参考(在其文档所述硬件环境与 118k 节点图上测得)可作为容量规划参考:索引化节点搜索 0.004ms、depth-2 邻域展开 <5ms、BFS 路径 <50ms、简单 SPARQL SELECT <20ms;节点搜索索引在启动时构建,>500k 节点的图需预留额外启动时间;距离矩阵单请求上限 50 对节点。大图建议先过滤出相关子图再导出 JSON(CLI 会把整个 JSON 载入内存)。
十一、技术栈
- React 19 + TypeScript(严格模式)
- Vite 6 +
babel-plugin-react-compiler - Sigma.js 3 + Graphology —— 图渲染与内存图模型
- ForceAtlas2 —— 物理布局
- @tanstack/react-query —— 本体与词汇表标签页的异步数据获取
- vis-timeline —— 时间事件可视化
- @xyflow/react —— Lineage 图渲染
- Monaco Editor —— 浏览器内 SPARQL / SHACL 编辑器
- lucide-react —— 图标集
explorer/package.json 还揭示了 README 未展开的细节:图算法依赖 graphology-communities-louvain(社区检测)、graphology-layout-forceatlas2、graphology-metrics、graphology-shortest-path;前端表单/编辑器还有 react-arborist(树)、react-dropzone(文件拖放导入)、react-markdown + remark-gfm(Markdown 节点内容渲染)、@sigma/edge-curve 与 @sigma/node-border(Sigma 边曲线与节点描边),并针对 dompurify、uuid、esbuild 配置了依赖覆盖(overrides)。
十二、贡献与延伸阅读
贡献指南见仓库根目录 CONTRIBUTING.md。以下文档可以继续深入:
- docs/reference/explorer.md —— Explorer 完整 REST API 端点表、WebSocket 消息协议与性能参考;
- docs/explorer-setup.md —— Explorer 安装与启动向导;
- docs/reference/context.md —— 构建并保存 Explorer 加载的 ContextGraph;
- docs/reference/ontology.md —— 编程式本体管理与 SHACL 生成;
- docs/reference/visualization.md —— 不启动 Explorer 服务器的编程式图渲染;
- docs/reference/export.md —— 导出为 RDF、Parquet 等格式。
至此,你已经掌握 Semantica Knowledge Explorer 从安装、启动、安全配置到工作区使用、实时协议与排障的完整闭环:pip install "semantica[explorer]" 一条命令即可把你的知识图谱 JSON 变成可交互、可审计、支持时间回放与本体治理的浏览器工作台。
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐



所有评论(0)