
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
创建并运行Virtuoso开源实例,包括预加载Databus集合的SPARQL端点,并安装VOS DBpedia插件。
运行Virtuoso SPARQL端点快速启动需要系统上安装Docker和Docker Compose。如果尚未安装,请按照https://docs.docker.com/engine/install/%E5%92%8Chttps://docs.docker.com/compose/install/%E7%9A%84%E5%AE%89%E8%A3%85%E8%AF%B4%E6%98%8E%E8%BF%9B%E8%A1%8C%E6%93%8D%E4%BD%9C%E3%80%82%E5%AE%89%E8%A3%85%E5%AE%8C%E6%88%90%E5%90%8E%EF%BC%8C%E8%BF%90%E8%A1%8C%E4%BB%A5%E4%B8%8B%E5%91%BD%E4%BB%A4%EF%BC%9A
bashgit clone https://github.com/dbpedia/virtuoso-sparql-endpoint-quickstart.git cd virtuoso-sparql-endpoint-quickstart COLLECTION_URI=https://databus.dbpedia.org/dbpedia/collections/dbpedia-snapshot-2022-03 VIRTUOSO_ADMIN_PASSWD=password docker-compose up
片刻后,SPARQL端点将在localhost:8890/sparql运行。
注意,将大型数据集加载到Virtuoso三元组存储需要时间。即使SPARQL端点已启动运行,加载过程可能仍需数小时,具体取决于数据量。
为更快验证设置,可使用以下集合URI替代:
[***]
注意,此集合仅用于测试docker-compose网络的RDF数据集合,非DBpedia正式发布。片刻后,资源http://localhost:8890/page/Berlin%E5%BA%94%E5%8F%AF%E8%AE%BF%E9%97%AE%E3%80%82
Virtuoso SPARQL端点快速启动是通过docker-compose启动的由三个不同Docker容器组成的网络。运行的容器如下:
加载过程完成后,只有OpenLink VOS实例会保持运行,其他两个容器在任务完成后将关闭。通过运行docker ps可查看下载和加载器容器是否仍在运行。若仅剩OpenLink VOS实例,则所有数据已加载到三元组存储中。
所有容器的可能配置如下所述。仓库包含.env文件,其中包含网络的所有可配置环境参数。
运行docker-compose up时将使用docker-compose.yml旁的.env文件中指定的环境变量。可用变量如下:
COLLECTION_URI:Databus集合的URI。若要加载DBpedia数据集,建议使用快照集合(2022-03)。也可使用其他Databus集合启动SPARQL端点,或手动将文件复制到./downloads文件夹。
VIRTUOSO_ADMIN_PASSWD:Virtuoso数据库的密码。必须设置此变量才能成功启动SPARQL端点。
VIRTUOSO_HTTP_PORT:OpenLink VOS实例的HTTP端口。
VIRTUOSO_ISQRL_PORT:OpenLink VOS实例的ISQL端口。
DATA_DIR:包含加载数据的目录。下载容器会将文件下载到此目录,也可手动将文件复制到该目录。
VIRTUOSO_DIR:存储Virtuoso三元组存储内容的目录。
DOMAIN:资源标识符的域名。仅当需要访问资源的HTML视图时(例如运行DBpedia章节)才需设置此变量。HTML视图仅对指定域名中的标识符显示正确视图。(例如,运行俄罗斯章节且使用俄罗斯资源标识符时,设置为[***]
可通过调整docker-compose.yml文件进一步配置网络中的容器。以下部分列出每个容器只能在docker-compose.yml中设置的环境变量。
容器1:OpenLink VOS实例
可在https://hub.docker.com/r/openlink/virtuoso-opensource-7%E6%9F%A5%E7%9C%8B%E8%AF%A5Docker%E9%95%9C%E5%83%8F%E7%9A%84%E5%AE%8C%E6%95%B4%E6%96%87%E6%A1%A3%E3%80%82%E8%AF%A5%E9%95%9C%E5%83%8F%E9%9C%80%E8%A6%81%E4%B8%80%E4%B8%AA%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E6%9D%A5%E8%AE%BE%E7%BD%AE%E6%95%B0%E6%8D%AE%E5%BA%93%E7%AE%A1%E7%90%86%E5%91%98%E5%AF%86%E7%A0%81%EF%BC%9A
DBA_PASSWORD:数据库管理员密码。建议通过在.env文件中设置VIRTUOSO_ADMIN_PASSWD变量来配置。VIRT_PARAMETERS_NUMBEROFBUFFERS:默认值为2000,会导致加载时间极长。根据机器可用内存增加此值,详情见镜像文档。VIRT_PARAMETERS_MAXDIRTYBUFFERS:与VIRT_PARAMETERS_NUMBEROFBUFFERS类似。此密码仅在创建新数据库时设置。示例docker-compose将文件夹挂载到内部数据库目录以实现持久化。注意,若要通过docker-compose更改密码,需清除该文件夹。
docker-compose中指定的第二个卷将下载文件夹连接到容器中可被Virtuoso加载脚本访问的目录。可访问路径在内部virtuoso.ini文件的DirsAllowed中设置。由于docker-compose使用镜像的默认设置,本地./downloads文件夹被挂载到容器内的/usr/share/proj,该路径默认在DirsAllowed中。
容器2:DBpedia Databus Collection Downloader
本项目使用DBpedia Databus集合下载器。可在https://github.com/dbpedia/dbpedia-databus-collection-downloader%E6%9F%A5%E7%9C%8B%E6%96%87%E6%A1%A3%E3%80%82%E8%8B%A5%E5%B0%9A%E6%9C%AA%E4%B8%8B%E8%BD%BD%E5%92%8C%E6%9E%84%E5%BB%BA%E4%B8%8B%E8%BD%BD%E5%AE%A2%E6%88%B7%E7%AB%AFDocker%E9%95%9C%E5%83%8F%EF%BC%8C%E9%9C%80%E5%85%88%E8%BF%9B%E8%A1%8C%E6%93%8D%E4%BD%9C%E3%80%82%E6%89%80%E9%9C%80%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E5%A6%82%E4%B8%8B%EF%BC%9A
TARGET_DIR:下载文件的目标目录(容器内)。确保该目录挂载到本地文件夹,以便在docker网络中访问文件。容器3:加载器/安装器
通过以下命令构建加载器/安装器Docker镜像:
bashcd ./dbpedia-loader docker build -t dbpedia-virtuoso-loader .
可通过以下环境变量配置该容器:
STORE_DATA_DIR:VOS实例中挂载downloads文件夹的目录(默认/usr/share/proj)。由于加载器需告知VOS实例开始导入文件,因此需要知道文件位置。此外,VOS实例需被授予该目录的访问权限。STORE_DBA_PASSWORD:VOS实例中指定的管理员密码(DBA_PASSWORD变量)。建议通过在.env文件中设置VIRTUOSO_ADMIN_PASSWD变量来配置。DATA_DIR:该容器中挂载downloads文件夹的目录。[可选] DATA_DOWNLOAD_TIMEOUT:加载器进程停止等待下载完成的秒数。[可选] STORE_CONNECTION_TIMEOUT:加载器进程停止等待存储启动的秒数。要使用Virtuoso SPARQL端点快速启动网络托管自己的DBpedia实例,需在DBpedia Databus上创建章节集合。可通过***上的DBpedia Stack教程了解Databus和Databus集合。
或者,可将所需数据下载到本地机器并手动提供文件。但建议使用集合,以便更容易更新到未来版本。
将COLLECTION_URI变量设置为章节集合的URI,并调整DOMAIN变量以匹配资源标识符的域名。或者(不推荐)将文件复制到DATA_DIR指定的目录,并从docker-compose.yml中移除下载容器部分。
在.env文件中设置所有变量后,运行:
bashdocker-compose up
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务