- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试用 Java 编写一个简单的 Jena Fuseki 客户端来发送 SELECT
SPARQL 查询并获取结果。
我发现下面的代码是别人写的。它在运行时不断崩溃。
我正在使用jena-arq-3.1.0.jar
javac -cp .;jena-arq-3.1.0.jar Main.java
打印无错误
java -cp .;jena-arq-3.1.0.jar Main
崩溃!
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/jena/atlas/io/Printable
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.apache.jena.query.QueryFactory.create(QueryFactory.java:78)
at org.apache.jena.query.QueryFactory.create(QueryFactory.java:52)
at org.apache.jena.query.QueryFactory.create(QueryFactory.java:40)
at Main.main(Main.java:24)
Caused by: java.lang.ClassNotFoundException: org.apache.jena.atlas.io.Printable
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 16 more
Main.java
import java.net.URL;
import java.util.List;
import org.apache.jena.query.Query;
import org.apache.jena.query.QueryExecution;
import org.apache.jena.query.QueryExecutionFactory;
import org.apache.jena.query.QueryFactory;
import org.apache.jena.query.QuerySolution;
import org.apache.jena.query.ResultSet;
class Main {
public static void main(final String[] args) throws Exception {
String queryString=
"prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>"+
"prefix owl: <http://www.w3.org/2002/07/owl#>"+
"SELECT ?subject ?predicate ?object"+
"WHERE {"+
" ?subject ?predicate ?object"+
" } LIMIT 25";
// now creating query object
Query query = QueryFactory.create(queryString);
// initializing queryExecution factory with remote service.
// **this actually was the main problem I couldn't figure out.**
QueryExecution qexec = QueryExecutionFactory.sparqlService("http://localhost:3030/FirstEndpoint/sparql", query);
//after it goes standard query execution and result processing which can
// be found in almost any Jena/SPARQL tutorial.
try {
ResultSet results = qexec.execSelect();
for (; results.hasNext();) {
// Result processing is done here.
}
}
finally {
qexec.close();
}
}
}
最佳答案
您需要类路径中的所有必需库,而不仅仅是 jena-arq
。
javac
之所以有效,是因为您仅使用 jena-arq JAR 中的类。java
不起作用,因为在运行时 ARQ 的类引用其他类,例如包含在 jena-core、jena-iri 等中
最简单的方法是添加 Jena 发行版中的所有库。将 lib
文件夹本身添加到类路径中。
关于java - Jena Fuseki 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40028691/
有没有办法从 Fuseki 面板控件以外的其他 HTML 将文件上传到 Fuseki 服务器?我认为可以通过 AJAX POST 使用 javascript 来完成,但我不确定到底应该发送给 Fuse
我将 Jena 和 Fuseki 安装为服务使用 一个可靠的角色 gremid.fuseki . 而且我想自定义监听主机和监听端口。但是,我不知道。 也许我应该编辑$FUSEKI_BASE/confi
我使用 jena fuseki 2 docker 镜像来创建一个 fuseki 服务器。 而且我想知道是否有一种方法可以将我的数据集上传到 fuseki,而不是从网络界面,而是以编程方式,从 SPAR
我已经安装了 fuseki 并启动了服务器 #!/bin/sh cd /home/frank/localInstall/jena/apache-jena-fuseki-2.5.0 exec /h
Fuseki中有一个参数--mem: fuseki-server --mem /DatasetPathName 我可以使用它将完整的 tdb 索引加载到内存中以提高查询性能吗? 例如, fuseki
我想做一个基准测试,以比较不同三重存储之间的性能。 在本例中,我使用的是 Fuseki Server。我想限制 RAM 和使用的线程数。我想从命令行运行fuseki-server。 我知道如何限制 R
我是 Tomcat、Fuseki 和 Shiro.ini 文件的新手,所以请原谅我提出愚蠢的问题。 系统: MacMini ==> OS.X 10.13(作为开发服务器) Java ==> 8 Tom
有没有一种在操作系统启动时启动 Fuseki 的简单方法,或多或少类似于我们可以从 /etc/init.d/tomcat7 start 或 /启动 Tomcat 或 ElasticSearch 实例e
我在 Virtuoso 和 Jena Fuseki 上运行相同的查询 - 在 Virtuoso 上的查询给出了 ResultRows=594890 而在 Fuseki 上它给出了“页面没有响应”的错误
如何删除给定 uri 的所有三元组语句? 我的图表包含: PREFIX mo: PREFIX term: PREFIX xsd: term:tit
我通过浏览器访问 Jena-Fuseki 服务器 http://localhost:3030/sparql.html 。查询 select * where { } 导致错误: Error 400: N
我正在尝试用 Java 编写一个简单的 Jena Fuseki 客户端来发送 SELECT SPARQL 查询并获取结果。 我发现下面的代码是别人写的。它在运行时不断崩溃。 我正在使用jena-arq
我正在开发一个应用程序,它使用三重存储(Jena TDB)。明确提到TDB Supports SPARQL 更新和查询。另外,我明白Fuseki是SPARQL服务器,也支持更新和查询。我没有找到以下问
我在 Ubuntu 16.04 上运行 jena-fuseki 服务器。我正在尝试按如下方式加载数据集: ./fuseki-server --loc="/home/dataset.json.bz2"
我需要针对使用 fuseki+mysql 作为三重存储的旧解决方案测试特定的数据库解决方案。基本上我需要做的就是对我之前使用 SPARQL 创建的数据库进行一些查询。问题是我似乎无法配置 fuseki
我在 /etc/default/fuseki 中解压了 fuseki 发行版。只要我尝试使用 sudo service fuseki start 运行它,它就会输出 * Could not see F
我正在提供一个数据集,其中包含来自 Fuseki 2 中 TDB 数据集的 10-20 个命名图。 我想使用推理器对我的数据进行推断。我希望看到的行为是每个图中推断的三元组应该出现在这些图中(尽管如果
我有一个非常大的本体 RDF 文件(几乎 4M 个实例),我目前正在通过 Fuseki v2.0.0 进行流式传输。我的汇编程序文件如下所示: @prefix : . @prefix
我正在使用 Jena Fuseki 加载 Jena TDB 文件以构建 SPARQL 服务。该fuseki 推理器配置具有以下内容: a ja:InfModel ; ja:baseModel
我们已经安装了 Fuseki2作为 Ubuntu 服务器上的一项服务,它工作正常: sudo 服务 fuseki 状态 * Fuseki 使用 pid 运行:915 我现在可以去 http://xyz
我是一名优秀的程序员,十分优秀!