标签: apache-jena

如何解决 IncompleteClassChangeError 接口未实现

我知道这个问题已经被问到了,但不知何故,在谷歌搜索大约一个小时后我找不到任何令人信服的解决方案。

我正在使用 apache-jena 从 url 加载 RDF 模型。我收到IncompatibleClassChangeError以下消息

Class org.apache.http.impl.client.SystemDefaultHttpClient does not implement the requested interface org.apache.http.client.HttpClient
Run Code Online (Sandbox Code Playgroud)

有人可以指点我如何解决这个错误。

问候阿山

java jena openrefine apache-jena

6
推荐指数
1
解决办法
1万
查看次数

Jena TDB java.lang.ExceptionInInitializerError

我正在使用Jena TDB加载RDF数据集并对其进行SPARQL查询.我正在使用以下maven依赖项:

<dependency>
    <groupId>org.apache.jena</groupId>
    <artifactId>apache-jena-libs</artifactId>
    <type>pom</type>
    <version>3.0.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

这是我试图创建TDB数据集的java代码:

public void loadDirectory(String outputFile){      
    Dataset dataset = TDBFactory.createDataset(directoryPath);      
    Model tdb = dataset.getDefaultModel();      
    FileManager.get().readModel(tdb, outputFile);      
    tdb.close();      
    dataset.close();      
    LOG.info("RDF dataset loaded to memory");      
}      
Run Code Online (Sandbox Code Playgroud)

它在函数的第一行失败:TDBFactory.createDataset(directoryPath),带有以下错误消息:

Exception in thread "main" java.lang.ExceptionInInitializerError
    at org.sdw.model.JenaModel.loadDirectory(JenaModel.java:69)
    at org.sdw.Main.main(Main.java:75)
Caused by: java.lang.NullPointerException
    at org.apache.jena.tdb.sys.EnvTDB.processGlobalSystemProperties(EnvTDB.java:33)
    at org.apache.jena.tdb.TDB.init(TDB.java:250)
    at org.apache.jena.tdb.sys.InitTDB.start(InitTDB.java:29)
    at org.apache.jena.system.JenaSystem.lambda$init$40(JenaSystem.java:114)
    at java.util.ArrayList.forEach(ArrayList.java:1249)
    at org.apache.jena.system.JenaSystem.forEach(JenaSystem.java:179)
    at org.apache.jena.system.JenaSystem.forEach(JenaSystem.java:156)
    at org.apache.jena.system.JenaSystem.init(JenaSystem.java:111)
    at org.apache.jena.tdb.TDBFactory.<clinit>(TDBFactory.java:40)
Run Code Online (Sandbox Code Playgroud)

java jena maven-3 tdb apache-jena

5
推荐指数
1
解决办法
1342
查看次数

将重复的 RDF 三元组加载到 Apache Jena Fuseki 中

我想知道是否有办法启动 Apache Jean Fueseki 服务器来接受日志重复三元组​​。请参阅https://jena.apache.org/documentation/serving_data/

现在我正在使用以下命令启动 Fuseki

 ./fuseki-server --update --mem /ds
Run Code Online (Sandbox Code Playgroud)

然后我使用 Fuseki 附带的 post 工具加载 xml/rdf 文件,如下所示:

./s-post http://localhost:3030/ds/data default ~/Desktop/scta/commentaries/pp-projectdata.rdf
Run Code Online (Sandbox Code Playgroud)

该文件pp-projectdata.rdf有时包含相同的三元组,但我希望加载这些重复项,以便我可以计算该三元组的实例数。

rdf apache-jena

3
推荐指数
1
解决办法
713
查看次数

将 Jena 结果集转换为模型

我正在尝试将 Apache Jena 3.0 中的 a 转换ResultSet为 a Model

以前我用过

ResultSetFormatter.toModel功能,但这似乎已被删除。

当前获取结果集模型(用于序列化为 JSON-LD 和 RDF/XML)的最佳方法是什么?

semantic-web sparql jena apache-jena

3
推荐指数
1
解决办法
1189
查看次数

Apache Jena TripleStore 的 JavaScript

我已经使用 Apache Jena 构建了一个 TDB-Store,现在我想使用我的商店中的数据来实现一些漂亮的可视化。所以毕竟有必要使用 JavaScript 访问我的 TDB。

我想,有两种可能性可以实现这一点:

第 1 步:运行 Fuseki 服务器并在其端点(即http://localhost:3030/dataset/sparql)上运行 sparql 查询。我如何用js查询这个端点?

第2:直接从js访问TDB。这可能吗?

预先感谢,FFoDWindow

javascript sparql fuseki apache-jena

3
推荐指数
1
解决办法
1448
查看次数

在耶拿读N-Quads

我正在尝试用Jena读取N-Quads文件,但我得到的只是一个空模型.我正在尝试阅读的文件取自N-Quads 文档中的示例:( <http://example.org/#spiderman> <http://www.perceive.net/schemas/relationship/enemyOf> <http://example.org/#green-goblin> <http://example.org/graphs/spiderman> . 我将其保存为名为file.nq的文件).

我加载模型的方式是使用RDFDataMgr.但它也没有用Model.read.

RDFDataMgr.loadModel("file.nq", Lang.NQUADS) 产生一个空模型.

我错过了什么?Jena不支持N-Quads开箱即用吗?

java rdf jena apache-jena

2
推荐指数
1
解决办法
843
查看次数

对于Apache Jena输入:从CSV转换为RDF格式

我将使用Apache Jena并将RDF作为输入格式.但我有CSV格式的数据.我研究了很多,找不到转换它的方法.有谁知道如何有效地做到这一点.

我已经通过像xml123这样的工具,但下载链接无法正常工作.

rdf converter rdfs jena apache-jena

2
推荐指数
1
解决办法
996
查看次数

如何在 Apache Jena Fuseki 服务器中查询命名图

我正在将 .ttl 文件加载到 Jena Fuseki 服务器中,而不是使用默认图形,而是使用命名图形<http://examples/test>

/home/user/jena-fuseki-1.1.1/./s-put http://192.168.1.38:3030/ds/data http://example/test /home/user/testdata.ttl
Run Code Online (Sandbox Code Playgroud)

我能够使用以下命令加载图形并检索结果。

/home/user/jena-fuseki-1.1.1/./s-get http://192.168.1.38:3030/ds/data http://example/test
Run Code Online (Sandbox Code Playgroud)

但是当我开始使用该s-query命令进行查询时,它采用的是默认的未命名图。如何使s-query命令在命名图上工作。

 /home/user/jena-fuseki-1.1.1/./s-query --service http://localhost:3030/ds/query 'SPARQL Query'
Run Code Online (Sandbox Code Playgroud)

这是对默认的未命名图进行查询。如何使它在命名图上工作<http://example/test>

sparql fuseki apache-jena named-graphs

2
推荐指数
1
解决办法
2636
查看次数

使用 Java 对 DBPedia 进行 SPARQL 查询

我想使用 Java 查询 DBPedia。下面是我的代码,它没有返回正确的结果。我想从 [ http://dbpedia.org/page/Ibuprofen页面和标签名称中获取摘要部分。但它只返回http://dbpedia.org/resource/Ibuprofen 11 次。如果可能,你能告诉我错误在哪里吗?这是我的代码:

import org.apache.jena.query.ParameterizedSparqlString;
import org.apache.jena.query.QueryExecution;
import org.apache.jena.query.QueryExecutionFactory;
import org.apache.jena.query.ResultSet;
import org.apache.jena.query.ResultSetFormatter;
import org.apache.jena.rdf.model.Literal;
import org.apache.jena.rdf.model.ResourceFactory;

public class JavaDBPediaExample {

    public static void main(String[] args) {
        ParameterizedSparqlString qs = new ParameterizedSparqlString(""
                + "prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#>\n"
                + "PREFIX dbo:     <http://dbpedia.org/ontology/>"
                + "\n"
                + "select ?resource where {\n"
                + "  ?resource rdfs:label ?label.\n"
                + "  ?resource dbo:abstract ?abstract.\n"
                + "}");

        Literal ibuprofen = ResourceFactory.createLangLiteral("Ibuprofen", "en");
        qs.setParam("label", ibuprofen);

        QueryExecution exec = QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql", qs.asQuery());

        ResultSet results …
Run Code Online (Sandbox Code Playgroud)

eclipse semantic-web sparql dbpedia apache-jena

2
推荐指数
1
解决办法
1367
查看次数

SPARQL的正则表达式

我从dbpedia下载了dbpedia_quotationsbook.zip,其中包含dbpedia_quotationsbook.nt triplestore.

在这个三元店

subject是authorname
谓词是"sameas"
对象是authorcode

我使用JENA尝试了这个查询三元组,简单的查询正在运行.

现在我想要所有的authorcode,其authorname与给定的字符串部分匹配.所以我尝试了以下查询

select ?code
where
{

FILTER regex(?name, "^Rob")  <http://www.w3.org/2002/07/owl#sameAs> ?code.

}
Run Code Online (Sandbox Code Playgroud)

上面的查询应返回其authorname包含"Rob"的所有authorcodes

我得到以下异常

Exception in thread "main" com.hp.hpl.jena.query.QueryParseException: Encountered " "." ". "" at line 5, column 74.
Was expecting one of:
    <IRIref> ...
    <PNAME_NS> ...
    <PNAME_LN> ...
    <BLANK_NODE_LABEL> ...
    <VAR1> ...
    <VAR2> ...
    "true" ...
    "false" ...
    <INTEGER> ...
    <DECIMAL> ...
    <DOUBLE> ...
    <INTEGER_POSITIVE> ...
    <DECIMAL_POSITIVE> ...
    <DOUBLE_POSITIVE> ...
    <INTEGER_NEGATIVE> ...
    <DECIMAL_NEGATIVE> ...
    <DOUBLE_NEGATIVE> ...
    <STRING_LITERAL1> ...
    <STRING_LITERAL2> …
Run Code Online (Sandbox Code Playgroud)

java rdf sparql apache-jena

1
推荐指数
1
解决办法
977
查看次数