创建并运行Virtuoso开源实例,包括预加载Databus集合的SPARQL端点,并安装VOS DBpedia插件。
运行Virtuoso SPARQL端点快速启动需要系统上安装Docker和Docker Compose。如果尚未安装,请按照此处和此处的安装说明进行操作。安装完成后,运行以下命令:
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应可访问。
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
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务