
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
规范生成器(Specification Generator)是一套基于OSLO工具EA-to-RDF输出结果的工具集,用于生成多种技术产物。其核心功能是将EA-to-RDF生成的RDF词汇转换为可直接使用的结构化文档、验证规则及语义描述文件,支持语义网应用开发、静态规范文档生成及数据模型验证等场景。
该工具集包含以下核心工具及相关工具:
核心工具
/views目录。相关工具
--help参数获取使用说明。bash# 设置npm安全权限 npm set unsafe-perm true # 安装依赖 npm install
推荐使用项目中的Dockerfile.circleci构建Docker镜像:
bashdocker build -f Dockerfile.circleci -t specification-generator:latest .
所有工具通过Node.js命令行调用,基本格式:
bashnode <tool>.js --help
执行上述命令可获取工具的详细参数说明。
5.2.1 HTML生成器(html-generator.js)
生成静态HTML规范页面:
bash# 查看帮助 node html-generator.js --help # 示例:从RDF输入生成HTML(具体参数需根据--help提示补充) node html-generator.js --input ./ea-to-rdf-output.ttl --output ./html-docs --template ./views/default.j2
5.2.2 SHACL生成器(shacl-generator.js)
生成SHACL验证模板:
bashnode shacl-generator.js --input ./vocabulary.jsonld --output ./shacl-templates
本工具集使用nunchucks.js作为模板引擎,与Python版本(Jinja2)存在以下差异,需在模板中调整:
5.3.1 变量过滤前需检查存在性
对可能不存在的变量使用过滤器(如selectattr、lower)时,需先检查变量是否存在,否则模板会崩溃:
nunjucks{% if object.property %} {{ object.property | lower }} {% endif %}
5.3.2 字符串小写转换语法
Python版本中{{ "TEST".lower() }}在JS版本中需改为过滤器形式:
nunjucks{{ "TEST" | lower }}
5.3.3 selectattr过滤器复杂用法不支持
Jinja2的复杂selectattr(如selectattr('property', 'equalto', 1))不支持,需通过groupby替代:
nunjucks{% for property, objects in objects | groupby('property') %} {% if property == 1 %} # 处理过滤后的objects {% endif %} {% endfor %}
5.3.4 自动转义机制
默认启用HTML自动转义,特殊字符(如<、>)会被转义。若需禁用,可使用safe过滤器(确保内容安全):
nunjucks{{ entity.usage[language] | safe }}
5.4.1 前置准备
bashgit clone https://github.com/mu-semtech/mu-project/
docker-compose.yml中添加资源服务配置:yamlresource: image: semtech/mu-cl-resources:1.18.0 links: - db:database volumes: - ./config/resources:/config ports: - "8888:80" # 暴露8888端口供访问
5.4.2 生成配置
运行工具生成mu-semtech配置文件,指定JSON-LD输入、语言及输出目录(需对应mu-project的./config/resources):
bashnode mu-config-generator.js --input ./specification.jsonld --language en --output ./mu-project/config/resources
5.4.3 应用配置
重启Docker Compose使配置生效:
bashcd mu-project docker-compose down && docker-compose up -d
5.4.4 示例:创建资源
通过HTTP POST请求创建Address资源(Content-Type: application/vnd.api+json):
json{ "data": { "type": "Addresses", "attributes": { "name": "An Address", "definition": "A Description", "usage": "A Usage" }, "relationships": { "Location": { "data": { "type": "Locations", "id": "5FCFCE2A873EE90008000001" } } } } }
请求地址:http://localhost:8888/Addresses
项目通过eslint实施JavaScript代码风格检查,配置集成在测试脚本中:
bash# 运行代码风格检查 npm test
bashdocker build -f Dockerfile.circleci -t specification-generator:latest .
以html-generator.js为例,挂载本地目录并执行:
bashdocker run -v $(pwd):/app specification-generator:latest node html-generator.js --input /app/input.ttl --output /app/output
在mu-project的docker-compose.yml中添加规范生成器服务:
yamlspec-generator: image: specification-generator:latest volumes: - ./spec-input:/input - ./spec-output:/output command: node mu-config-generator.js --input /input/vocab.jsonld --output /output/config
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务