Windows下Jena+fuseki安装配置和简单使用(没有eclipse)


由于要复现一个简单的KGQA示例,所以需要安装Jena和fuseki。不过感觉这方面的资料好像比较少。。。

根据:jena的安装和介绍

1. Jena和fuseki介绍

主要参考《知识图谱——方法、实践与应用》这本书,以及b站对应的王昊奋老师的知识图谱视频、ppt截图(第五课:数据存储,29分钟左右)

1.1 简介

Apache Jena是Apache顶级项目,其前身为惠普实验室开发的Jena工具包。Jena是语义Web领域主要的开源框架和RDF三元组库,较好地遵循W3C标准,其功能包括RDF数据管理、RDFS和OWL本体管理、SPARQL查询处理等。Jena具有一套原生存储引擎,可对RDF三元组进行基于磁盘或内存的存储管理;同时具有一套基于规则的推理引擎,用于执行RDFS和OWL本体推理任务。
在这里插入图片描述

1.2 技术架构

Apache Jena的框架如图所示。自底向上看,

  • Jena的存储API为上层提供基本三元组存储和本体存储功能,支持的底层存储类型包括:基于内存的存储、基于关系数据库的SDB存储、基于原生三元组的TDB存储和用户定制的存储。
  • 推理API为上层提供本体推理服务,可以使用Jena内置基于规则的推理机进行RDFS和OWL本体上的推理任务,或者选择通过接口调用第三方外部推理机。
  • Jena对外界应用程序的API包括实现基本三元组管理功能的RDF API、实现RDFS和OWL本体推理功能的本体API、和实现查询处理功能的SPARQL API。

Java应用程序代码可以通过导入类库的形式直接调用这些API。Jena还提供了支持各种RDF三元组格式的解析器和编写器,支持的三元组格式包括:RDF/XML(Protege默认的保存格式)、Turtle、N-Triple和RDFa
在这里插入图片描述
实质上,Jena是一个Java框架类库。在一般情况下,上述功能需要再Java程序中进行调用。Jena为了用户使用方便,提供了一个名为Fuseki的独立RDF数据库Web应用程序。
Fuseki是基于Jena的SPARQL服务器,可以作为独立的服务由命令行启动,也可以作为操作系统服务或Java Web应用程序。Fuseki底层存储基于TDB,具有SPARQL查询处理的Web用户界面,同时提供服务器监控和管理功能界面。Fuseki支持最新的SPARQL1.1版本,同时支持SPARQL图存储HTTP协议。

2. Jena和fuseki安装

参考官网的说明:https://jena.apache.org/download/index.cgi
在这里插入图片描述
要先安装java环境

2.1 java安装

2.1.1 jdk和jre区别

其实以前装过很多次了,很早之前就说java有jdk和jre,但是jre是合并到jdk里的,所以只下载一个jdk就OK了。

根据:Java中JDK和JRE的区别是什么?它们的作用分别是什么?

JRE是Java Runtime Environment的缩写,顾名思义是java运行时环境,包含了java虚拟机,java基础类库。是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的,还有所有的Java类库的class文件,都在lib目录下,并且都打包成了jar。至于在Windows上的虚拟机是哪个文件呢?就是<JRE安装目录>/bin/client中的jvm.dll

Jdk是Java Development Kit的缩写,顾名思义是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具:jconsole,jvisualvm等工具软件,还包含了java程序编写所需的文档和demo例子程序。
如果你需要运行java程序,只需安装JRE就可以了。如果你需要编写java程序,需要安装JDK

2.1.2 jdk安装

搜索的不要搜java安装,那个搜出来会是这个页面:https://www.java.com/zh-CN/download/windows_offline.jsp
这个页面是java对浏览器的支持
在这里插入图片描述


正确的安装:
搜索java SE development

截止到我写这篇博客,java SE development的下载界面已经不是下面这个最经典的样子了,图自2018年的博客win10系统安装jdk8全过程
在这里插入图片描述
而是长成了这个样子:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

这是jdk8的链接,建议直接安装jdk11以上的版本,例如:jdk18的链接,是https://www.oracle.com/java/technologies/downloads/#jdk18-windows
在这里插入图片描述
除了界面发生了改变,下载也需要登陆Oracle账号才可以下载了,如果网速不太好,可能就有点恶心了。

下载后一路next傻瓜式安装,但是一定要记得jdk和jre的路径,因为后续要配置系统路径。
在这里插入图片描述

2.1.3 环境变量配置

参考菜鸟教程:Windows 10 配置Java 环境变量
在系统路径中,新建并赋值以下内容:

JAVA_HOME
C:\Program Files\Java\jdk1.8.0_281
# 这个路径换成自己jdk安装目录

在这里插入图片描述

CLASSPATH
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
# 注意 这里%前面必须是 一个 点 一个分号 ".;",如果build这么写,在命令行输入javac会报错

在这里插入图片描述在系统路径Path中新建以下两个:

%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin

在这里插入图片描述

2.1.4 验证是否安装成功

依次在命令行输入:

java
javac
java -version # 一个横岗

输出的东西都是正常的,没有error就可以。

2.2 jena和fuseki安装

可以参考知乎专栏文章:实践篇(四):Apache jena SPARQL endpoint及推理中关于jena的安装部分

2.2.1 下载

jena的版本更新很快,目前已经到了3.17.
关于归档文件,可以在这里看到(最好选二进制版本的那个文件夹):http://archive.apache.org/dist/jena/
在这里插入图片描述
github也有release文件:https://github.com/apache/jena/releases
在这里插入图片描述

jena有 binary distribution和source distribution,选择二进制版本的那个; Jena Fuseki只有二进制版本;fuseki和其他的功能模块不在同一个文件中,需要分别下载apache-jena和apache-jena-fuseki(我要复现的项目是3.9版本,所以选了3.9)

如果下载的是二进制文件,类似:
在这里插入图片描述
下载好了直接解压就可以用了,类似:
在这里插入图片描述

2.2.2 环境变量配置

因为要配置系统路径,所以要把上面解压后的文件夹放到一个合适的地方。
参考:

  1. 把解压后的两个文件放到同一个文件夹中,推荐新建一个jena文件夹
    在这里插入图片描述
  2. 配置环境变量(和配置java的环境变量差不多)如果是win10,可以直接在搜索框搜索: 高级系统设置,然后就能以最快的速度打开环境变量的设置
    在这里插入图片描述
    新建系统变量:
    JENA_HOME
    # 注意 不是JAVA_HOME
    C:\software\jena\apache-jena-3.9.0
    # 换成自己jena的目录
    
    在这里插入图片描述
    在系统变量Path中增加:
    %JENA_HOME%\bat
    # 可以在jena的安装目录下看到bat这个目录(这里面存储的是一些批处理脚本文件)
    

2.2.3 验证是否安装成功

命令行里输入:

sparql -version

在这里插入图片描述

2.2.4 启动fuseki 服务

其实就是运行这个批处理文件:
在这里插入图片描述
需要进行目录切换,类似:
在这里插入图片描述

2.2.5 指定数据库

–loc 指定数据库路径 数据库名称

fuseki-server.bat --update --loc=tdbdata /databaseName

2.2.6 配置数据源及相关信息

C:\software\jena\apache-jena-fuseki-3.9.0>fuseki-server.bat
[2021-03-12 15:43:23] Server     INFO  Apache Jena Fuseki 3.9.0
[2021-03-12 15:43:24] Config     INFO  FUSEKI_HOME=C:\software\jena\apache-jena-fuseki-3.9.0\.
[2021-03-12 15:43:24] Config     INFO  FUSEKI_BASE=C:\software\jena\apache-jena-fuseki-3.9.0\run
[2021-03-12 15:43:24] Config     INFO  Shiro file: file://C:\software\jena\apache-jena-fuseki-3.9.0\run\shiro.ini
[2021-03-12 15:43:25] Server     INFO  Started 2021/03/12 15:43:25 CST on port 3030
[2021-03-12 15:44:01] Admin      INFO  [1] GET http://localhost:3030/$/server
[2021-03-12 15:44:01] Admin      INFO  [1] 200 OK (1 ms)

命令行运行脚本之后,可以看到,访问的链接。
在浏览器输入 http://localhost:3030/ ,就会进入Fuseki的配置页面。类似:
在这里插入图片描述

2.2.7 更改Shiro权限

Fuseki 使用Shiro管理系统的权限,默认情况下用户只有只读操作,没有权限操作数据库,当然也不能读取数据库。必须通过下面的方式更改shiro配置才可以对数据库进行操作。

\jena\fuseki\run\shiro.ini 文件中,将/$/**的值改为localhostFilter
我这个版本默认就是localhostFilter,都不用修改?但是搜索jena无法操作数据库,结果都是让改为这个localhostFilter,先试试。

## Control functions open to anyone
/$/status = anon
/$/ping   = anon

## and the rest are restricted to localhost.
/$/** = localhostFilter

另外,上面的信息中有:Config INFO Shiro file: file://C:\software\jena\apache-jena-fuseki-3.9.0\run\shiro.ini

参考

  • 11
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吨吨不打野

解决了问题,觉得还行就给点

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值