dbpedia/virtuoso-sparql-endpoint-quickstart创建并运行Virtuoso开源实例,包括预加载Databus集合的SPARQL端点,并安装VOS DBpedia插件。
运行Virtuoso SPARQL端点快速启动需要系统上安装Docker和Docker Compose。如果尚未安装,请按照此处和此处的安装说明进行操作。安装完成后,运行以下命令:
bashgit clone [***] cd virtuoso-sparql-endpoint-quickstart COLLECTION_URI=[***] 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中设置的环境变量。
可在此处查看该Docker镜像的完整文档。该镜像需要一个环境变量来设置数据库管理员密码:
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中。
本项目使用DBpedia Databus集合下载器。可在此处查看文档。若尚未下载和构建下载客户端Docker镜像,需先进行操作。所需环境变量如下:
TARGET_DIR:下载文件的目标目录(容器内)。确保该目录挂载到本地文件夹,以便在docker网络中访问文件。通过以下命令构建加载器/安装器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


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务