关于jena-fuseki SPARQL query版本问题的解决方案
我自己搭建了博客,以后可能不太在CSDN上发博文了,https://www.qingdujun.com/ 。
在做“Apache jena SPARQL endpoint及推理”时,遇到了不少问题,主要原因是jena-fuseki版本更新了。以下对问题解决方案做下笔记。想了解更多,请查阅底部参考文献。
评论区:
- @般若-波罗蜜 51分钟前#3楼 请问博主用的哪个版本的jena
JENA FUSEKI (v3.8.0)
Question 1: JENA_HOME not set
解决方案:
(对于Win7)我的电脑->属性->高级系统设置->环境变量,在系统变量
里添加一项JENA_HOME:
JENA_HOME
D:\AppsPath\apache-jena-3.8.0
当然,也可以顺带将FUSEKI_HOME添加上,
FUSEKI_HOME
D:\AppsPath\apache-jena-fuseki-3.8.0
最后,在Path
中添加这些内容:%FUSEKI_HOME%;%JENA_HOME%\bin;
Question 2: Server ERROR Exception in initialization: caught: [line: 1, col: 7 ] Bad character in IRI (space): <?xml[space]...>
解决方案:
Protege工具默认生成的本体格式为RDF/XML Syntax格式,这里更改为Turtle Syntax
。
Question 3: Server ERROR Exception in initialization: the loading of content into file:///D:/AppsPath/apache-jena-fuseki-3.8.0/run/configuration/fuseki_conf.ttl#model_inf was aborted because of Read-only object file
解决方案:
这是由于fuseki版本升级所导致的问题,ja:baseModel <#tdbGraph> ;改为 ja:MemoryModel <#tdbGraph> ;
即可顺利运行。
Question 4: 访问http://localhost:3030
执行SPARQL查询时,页面获取到的数据为空?
解决方案:
这时需要重写D:\AppsPath\apache-jena-fuseki-3.8.0\run\configuration\fuseki_conf.ttl
配置文件,以下为我重写的fuseki_conf.ttl文件内容(请修改对应的tdb路径
):
@prefix fuseki: <http://jena.apache.org/fuseki#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix tdb: <http://jena.hpl.hp.com/2008/tdb#> .
@prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> .
@prefix : <#> .<#service3> rdf:type fuseki:Service ;fuseki:name "kg_demo_movie" ; # http://host:port/tdbfuseki:serviceQuery "sparql" ; # SPARQL query servicefuseki:dataset <#dataset> ;.<#dataset> rdf:type tdb:DatasetTDB ;tdb:location "E:/data/tdb" ;# Query timeout on this dataset (1s, 1000 milliseconds)ja:context [ ja:cxtName "arq:queryTimeout" ; ja:cxtValue "1000" ] ;# Make the default graph be the union of all named graphs.## tdb:unionDefaultGraph true ;.
自定义推导规则,见《jena fuseki 自定义推导规则(OWLFBRuleReasoner推导机)》。
附录:Python查询代码
这里请求连接可以为http://localhost:3030/xxx/sparql
,或者http://localhost:3030/xxx/query
,两个都可以查询到数据。
# -*- coding: utf-8 -*-
from SPARQLWrapper import SPARQLWrapper, JSONsparql = SPARQLWrapper("http://localhost:3030/kg_demo_movie/sparql")
sparql.setQuery(r'''PREFIX : <http://www.kgdemo.com#>PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>SELECT * WHERE{?x :movieTitle '功夫'.?x ?p ?o.}''')sparql.setReturnFormat(JSON)
results = sparql.query().convert()for result in results["results"]["bindings"]:print(result["x"]["value"])print(result["p"]["value"])print(result["o"]["value"])
©qingdujun
2018-9-6 于 北京 海淀
References:
[1] https://zhuanlan.zhihu.com/p/33224431
[2] https://jena.apache.org/documentation/fuseki2/fuseki-configuration.html
[3] http://jena.apache.org/documentation/fuseki2/fuseki-configuration.html#relationship-to-fuseki-1-configuration
[4] https://jena.apache.org/documentation/serving_data/
关于jena-fuseki SPARQL query版本问题的解决方案相关推荐
- SPARQL:Jena搭建SPARQL查询RDF数据
1 Jena搭建SPARQL查询RDF数据 1.1 Jena概要 · SPARQL是W3C的RDF数据工作组设计的一种查询语言和协议,用于RDF数据的查询.经过类似于JDK安装时候的配置,可以在命令行 ...
- jena+fuseki+python查询
1.Jena的安装配置及使用(Eclipse平台) 2. jena组件的使用 Apache Jena提供TDB.Rule Reasoner.Fuseki组件,其中TDB是Jena用于存储RDF类型数据 ...
- Protege、D2RQ、JENA与SPARQL
引言 关于的知识图谱的相关概念在从语义网络到知识图谱这篇博文中有简单的描述,下面介绍一下在知识图谱实际使用中的一些工具. 数据 来源于The Movie Database (TMDb)抓取的电影数据, ...
- Jena Fuseki启动时 Failed to bind to 0.0.0.0/0.0.0.0:3030 解决办法 —— 修改启动时的端口号
问题 在启动Jena Fuseki时可能会由于端口号被占用的问题导致引起报错: ERROR Server :: SPARQLServer: Failed to start server: Failed ...
- 浅析py-faster-rcnn中不同版本caffe的安装及其对应不同版本cudnn的解决方案
浅析py-faster-rcnn中不同版本caffe的安装及其对应不同版本cudnn的解决方案 参考文章: (1)浅析py-faster-rcnn中不同版本caffe的安装及其对应不同版本cudnn的 ...
- vs2010 sp1 安装Silverlight5 语言版本不匹配 解决方案
vs2010 sp1 安装Silverlight5 语言版本不匹配 解决方案 . 时间:2011-11-20 22:10来源:CSDN 作者:spt110 点击: 377次 一.安装silverlig ...
- 某版本瑞数解决方案-爬虫
某版本瑞数解决方案-爬虫 前言 工具 分析过程 JS获取 js代码分析 附代码 前言 本次采集的目标站点是江苏省农村产权交易信息平台,网址http://www.jsnc.gov.cn/jygg/tzg ...
- Ultimus BPM微信版本移动应用解决方案
微信版本移动应用解决方案特点 · 提供手机审批配置平台,用户可选择任意流程的任意节点进行手机审批. · 移动化办公,智能手机与平板体验,随时随地进行审批,不受终端的局限. · 移动终端可以 ...
- gStore:A Graph-based SPARQL Query Engine---part2
本文由学者Lei Zou, M. Tamer Özsu, Lei Chen, Xuchuan Shen, Ruizhe Huang & Dongyan Zhao于2014/08/01在< ...
最新文章
- AJAX 缓存问题的两种解决方法(IE
- springboot实践1
- 题解 [SHOI2014]概率充电器
- 不,你根本不需要ML/AI,有SQL就够了
- flash事件冒泡的理解
- 【渝粤教育】电大中专学前儿童健康教育 (7)作业 题库
- 数据库——添加外键约束
- linux ftp上传命令实例,ftp上传文件命令,Linux中使用ftp命令上传文件
- electron图标
- 【机器学习】在生产环境使用Kafka构建和部署大规模机器学习
- 轻快的java_轻快的Java
- anaconda安装及pytorch、tf、jupyter环境配置
- python基础教程怎么看_python基础教程之看一篇,学一篇,今日份的pand
- 【中等】和可被K整除的子数组
- 【经历分享】三本大学小菜鸡,最后四个月自学编程经验分享
- 梅科尔工作室-李柯增-鸿蒙笔记2
- 怎么样很快的速度锁定计算机,怎样让电脑速度变快
- 第一天:Hbase 概述
- 使用外链的方式让易班的轻应用更漂亮
- 背单词软件单项选择算法