从SOURCEFORGE上下载资源。作者这里使用7.2.5版本的已编译版本,比较方便。
tar -xvzf virtuoso-opensource.x86_64-generic_glibc25-linux-gnu.tar.gz
DirsAllowed = ., ../vad, /usr/share/proj, /YOUR/KG/FILE/PATH # 允许virtuoso加载知识图谱的地址,即知识图谱所在的文件夹路径
;; Uncomment next two lines if there is 32 GB system memory free
NumberOfBuffers = 2720000 # 根据服务器的内存选择合适的缓冲区,作者的服务器是32G
MaxDirtyBuffers = 2000000 # 内存(句首的;为注释
;NumberOfBuffers = 10000
;MaxDirtyBuffers = 6000
MaxQueryExecutionTime = 600 ; in seconds # 最大单个查询时间,本来参数值为60,但是有些查询语句比较耗时,故改成600
命令行当前路径为virtuoso-opensource/database,运行virtuoso:(或者阅读第一篇参考文献添加环境变量,方便启动)
../bin/virtuoso-t -fd
命令行当前路径为virtuoso-opensource/bin,启动isql:
isql 1111 dba dba # 后两个参数分别为默认账号、密码
若发生错误:[ISQL]ERROR: Could not SQLConnect,将当前目录下的isql重命名为isql-v,启动isql:
../bin/isql-v 1111 dba dba
通过上述命令进入数据库的命令管理工具 ISQL,然后开始加载知识图谱:
# 先介绍一下几个命令的区别:
# 加载单个文件命令:ld_add(知识图谱文件目录, 载入到图的名字) # 图(graph)用于区分知识图谱
# 加载: ld_dir('/your/kg/file/path', '*.ttl', 'http://knowledge.graph')
# 加载某个文件夹下某个格式的所有文件:ld_dir_all('/your/kg/file/path', '*.ttl', 'http://knowledge.graph')
# 下面开始加载知识图谱,假设只有一个文件。
# 添加要加载的知识图谱文件路径
ld_add('/your/kg/path.ttl', 'http://your.knowledge.graph');
# 查看是否已经正确添加
select * from DB.DBA.load_list;
# 执行加载:
rdf_loader_run();
# 测试加载是否成功
SPARQL select count(*) from <http://knowledge.graph> where {?s ?r ?o};
# 保存加载至硬盘:若不执行checkpoint,加载的知识图谱存在于内存中,下次启动virtuoso就需要重新加载
checkpoint;
# 退出isql
exit;
至此virtuoso的安装、运行与加载知识图谱就完成了,下次运行virtuoso即可使用SPARQL在端口查询。
默认设置启动virtuoso后,查询端口:本机使用为http://localhost: 8890/sparql;局域网内其他主机使用为http://ip:8890/sparql。
Linux系统下virtuoso数据库安装与使用 - 小田狗儿 - 博客园