SuperAPI AI 工具集

building-java-knowledge-graph

编程与开发

查看项目

更新于 10-16 00:31

技能介绍

用途:分析JVM项目并生成知识图谱,供下游代理消费。支持Java、Kotlin、Scala、Groovy,基于tree-sitter AST解析。

前置检查:用find确认项目含*.java、.kt、.scala或*.groovy文件;无则跳过此技能,并将setup_artifacts中的knowledge_graph_dir设为null,下游回退为直接源码分析。用python3 --version或python --version确认Python,不可用则同样跳过。

安装与使用:首次运行约1分钟,执行pip3 install --user 'tree-sitter<0.21',再运行python3 scripts/install_grammars.py。可选SVG图需brew install graphviz(macOS)。分析项目:python3 scripts/build_knowledge_graph.py /path/to/project output-dir。脚本会先清空output-dir全部文件,属破坏性输出,切勿指向共享目录(如{{BASE_PATH}}/或artifacts/),应使用专用子目录,例如{{BASE_PATH}}/artifacts/kg_output。完成后将knowledge-graph.json复制到{{BASE_PATH}}/供其他代理使用。

识别内容:构建系统Maven(pom.xml)、Gradle(build.gradle*)、Ant(build.xml)、Ivy(ivy.xml);结构含模块、包、类、接口、枚举、注解;关系含继承、实现、模块依赖;架构分层模式controller/service/repository/model/config/util;配置application*.properties与application*.yaml/yml;解析settings.gradle以识别Gradle子项目。

输出:knowledge-graph.json(节点与边)、module-dependencies.{dot,svg}、module-{name}.{dot,svg}、project-{name}.{dot,svg}。参考文件:references/schema.md(节点/边类型、ID规则、字段、可视化颜色)、references/querying.md(jq与Python查询示例)、scripts中的分析器与语法安装器。限制:需Python 3与JVM源文件;破坏性清空输出目录;难度、耗时、平台细节暂未提供。