最近在调研关联数据的一些东西,需要用到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. [Swift]LeetCode932. 漂亮数组 | Beautiful Array

    For some fixed N, an array A is beautiful if it is a permutation of the integers 1, 2, ..., N, such ...

  2. [Swift]LeetCode940. 不同的子序列 II | Distinct Subsequences II

    Given a string S, count the number of distinct, non-empty subsequences of S . Since the result may b ...

  3. Identity Server 4 中文文档(v1.0.0) 目录

    欢迎来到IdentityServer4 第一部分 简介 第1章 背景 第2章 术语 第3章 支持和规范 第4章 打包和构建 第5章 支持和咨询选项 第6章 演示服务器和测试 第7章 贡献 第二部分 快 ...

  4. Maven项目执行java入口main方法

    在Maven项目中配置pom.xml文件加载maven-surefire-plugin插件来执行testng.xml,相信大家对此种用法已经非常熟悉了.但是有些场景可能需要我们去加载执行java的ma ...

  5. 【Spark篇】---Spark调优之代码调优,数据本地化调优,内存调优,SparkShuffle调优,Executor的堆外内存调优

    一.前述 Spark中调优大致分为以下几种 ,代码调优,数据本地化,内存调优,SparkShuffle调优,调节Executor的堆外内存. 二.具体    1.代码调优 1.避免创建重复的RDD,尽 ...

  6. docker 常用命令记录

    下载镜像 docker pull imagesName 查看所有镜像 docker images 查看当前运行的镜像 docker ps 运行镜像 docker run imagesName 停止运行 ...

  7. golang slice 使用及源码分析

    1.先做个小实验 func main(){ s1:=make([]int,0,10) s1=[]int{1,2,3} ss:=make([]int,0,10) ss = s1[1:] for i:=0 ...

  8. 解决Mysql错误:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)

    需要重启服务器:sudo /etc/init.d/mysql restart

  9. Disconf源码分析之启动过程分析下(2)

    接上文,下面是第二次扫描的XML配置. <bean id="disconfMgrBean2" class="com.baidu.disconf.client.Dis ...

  10. .NET Core中Object Pool的简单使用

    前言 复用,是一个重要的话题,也是我们日常开发中经常遇到的,不可避免的问题. 举个最为简单,大家最为熟悉的例子,数据库连接池,就是复用数据库连接. 那么复用的意义在那里呢? 简单来说就是减少不必要的资 ...