最近在调研关联数据的一些东西,需要用到rdf数据库,所以接触了virtuoso数据库。安装的坑其实并不多,之前在windows 10上安过一次。这次在ubuntu 18.04上安装一下,其他的linux发行版安装的流程也差不多。

virtuoso数据库的下载与使用

开源版本的virtuoso数据库可以在sourceforge下载。我用的是7.25版本。建议下载已经编译好的generic版本(下载图中标红色的那个),需要编译的那个版本我遇到了openssl版本不支持的问题。

下载完毕后将其解压到/usr/local下,修改一下它的权限,添加一下环境变量,这可以让你直接在终端启动virtuoso数据库服务而无需cd到vituoso的bin目录下或加上路径之后再启动,比较方便。编辑/etc下的profile文件,在最后一行加上export VIRTUOSO_HOME=/usr/local/virtuoso-opensource,然后在PATH中加入virtuoso的路径${VIRTUOSO_HOME}/bin,PATH中的各个路径用冒号分隔。我的环境变量设置如下:

设置完环境变量后重启一下。将virtuoso-openlink下的database文件夹中的virtuoso.ini.sample重命名为virtuoso.ini。然后启动终端,cd到database目录下,输入virtuoso-t -fd即可启动服务。在浏览器中输入http://localhost:8890进入8890端口网页即可打开其初始页面。点击conductor,输入用户名和密码(都是dba),可进入数据库服务页面。

点击linkedata之后再点击Quad Store Upload就可以加载rdf数据了,其中FIle是你需要上传的ttl格式或者xml格式的rdf数据(virtuoso支持多种格式的rdf数据,不止这两种)。其中的Named Graph IRI需要你自己来设定。作为测试我们将其改为http://localhost:8890/test。点击Upload完成上传数据。

之后我们打开Graphs就可以看到我们刚才创建的Named Graph IRI了。

然后我们点开SPARQL就可以进行sparql检索了。注意其中的Default Graph IRI需要设为你刚刚创建的http://localhost:8890/test。

isql的使用

Virtuoso数据库可以使用数据库的命令管理工具 ISQL。打开终端,输入isql 1111 dba dba即可进入isql。但是需要注意,Virtuoso的ISQL与系统现有的unixODBC的那个ISQL冲突(会出现[ISQL]ERROR: Could not SQLConnect错误信息),所以需要将virtuoso的bin目录下的isql重命名。我将其重命名为isql-v,这样在终端输入isql-v 1111 dba dba即可进入isql。

总结

Virtuoso我用的不是很熟练,官方文档也不是很友好。国内做关联数据的感觉也不热,相关的资源不太好找。关于Virtuoso数据库的其余的一些问题遇到会再补充。如果安装和使用过程中有疑问可以评论中提出。

Linux系统下virtuoso数据库安装与使用的更多相关文章

  1. Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 (需暂停服务的方式)

    Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 本机采用Ubuntu16.04系统,tar方式安装MySQL5.7.21 数据库安装文件夹为    /home/devil/mysql 现 ...

  2. 解决Linux系统下Mysql数据库中文显示成问号的问题

    当我们将开发好的javaWEB项目部署到linux系统上,操作数据库的时候,会出现中文乱码问题,比如做插入操作,发现添加到数据库的数据中文出现论码,下面就将解决linux下mysql中文乱码问题! 打 ...

  3. Linux系统下DHCP服务安装部署和使用详解

    一.概述 DHCP :动态主机设置协议(英语:Dynamic Host Configuration Protocol,DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:用于内部网或 ...

  4. Linux系统下源码安装rz/sz命令

    背景:在windows环境下,使用xshell远程连接公司内部做的一个类似centos的系统,但该linux系统yum install有问题,只能源码安装. root 账号登陆后,依次执行以下命令: ...

  5. LINUX系统下PXE网络安装虚拟机

    PXE(preboot execute environment),预启动执行环境.由于安装系统的时候,有时候是大批量的安装:这时使用磁盘或虚拟机进行单个安装,效率太差:所以我们开始使用PXE网络安装L ...

  6. Windows和Linux系统下,虚拟环境安装的全面说明和详细步骤

    虚拟环境的创建和使用 用途: ​ 1.在同一台电脑安装同一个包的不同版本 2.记录项目所用的所有的包的版本,方便部署. 如何使用: 1.创建虚拟环境 mkvirtualenv 虚拟环境名 -p pyt ...

  7. linux 系统下Anaconda的安装【安装python3.6环境首选】

    如果你不想使用python3.6的源码安装包,不想各种繁琐的配置命令,那Anacoda里边自带的python3.6环境就最合适不过了,下面来介绍下anacoda的安装过程,~so easy~Anaco ...

  8. Linux系统下给VMWare安装Tools

    1.进入Linux系统. 2.在VMware的窗口菜单中选VM >> install VMware Tools,虚拟机自动将VMware-tools装入虚拟光驱中. 3.在虚拟光驱里找出V ...

  9. linux系统下调度数据库类型资源库中的kettle job

    已经存在kettle的一个资源库enfo,在目录/works/wxj下面有一个job (testmailsuccess.kjb)如何实现手工在kettle外部执行此job和让系统每天定时的调用此job ...

随机推荐

  1. 优化之Source Qualifier组件

    勾选Select Distinct选项,该选项可去除重复记录,以此达到减少数据量从而提高性能 ----------------------------------------------------- ...

  2. ASP.NET 一个数据访问层的封装

    刚通过开通写博客的申请,向博客园的大佬致敬,由于一直以来都在网上搜索大家的思想,也有翻遍整个百度都有的找不到的时候,作为一个网民理应为互联网贡献一点东西. 下面是我工作后受一个师傅的影响对数据库访问层 ...

  3. Yarn篇--搭建yarn集群

    一.前述 有了上次hadoop集群的搭建,搭建yarn就简单多了.废话不多说,直接来 二.规划 三.配置如下 yarn-site.xml配置 <property>        <n ...

  4. WebApi使用cors配置跨域问题

    1.首先安装CORS,在WebApiCors项目上面使用Nuget搜索“microsoft.aspnet.webapi.cors”,安装第一个 2.当我们安装这个包之后,现有的packages目录下会 ...

  5. 并发编程(十)—— Java 并发队列 BlockingQueue 实现之 SynchronousQueue源码分析

    BlockingQueue 实现之 SynchronousQueue SynchronousQueue是一个没有数据缓冲的BlockingQueue,生产者线程对其的插入操作put必须等待消费者的移除 ...

  6. VS 2013 professional版在win10上安装出错的解决方法

    VS 2013 professional版在win10上安装出错的解决方法 win10上安装完VS 2012 professional和VS 2017 professional后,由于项目的需要,要在 ...

  7. 前端笔记之HTML5&CSS3(下)2D/3D转换&animate动画

    一.2D转换(transform) CSS3中的transform转换和PS中的变换是一样的,分别有:缩放.位移.斜切.旋转 1.1 transform:scale()缩放 transform:sca ...

  8. centos7默认防火墙firewalld

    1.开关 启动: systemctl start firewalld 查看状态: systemctl status firewalld  停止: systemctl disable firewalld ...

  9. springmvc 项目完整示例05 日志 --log4j整合 配置 log4j属性设置 log4j 配置文件 log4j应用

    log4j 就是log for java嘛,老外都喜欢这样子,比如那个I18n  ---internationalization  不就是i和n之间有18个字母... http://logging.a ...

  10. 内核中 xxx_initcall 的调用过程分析

    内核版本:linux-4.19 上一篇文章提到了这段代码: arch_initcall_sync(of_platform_default_populate_init); 它的功能是完成 device_ ...