如何使用Fuseki和Jena TDB

时间:2014-07-17 08:03:25

标签: java sparql jena tdb fuseki

我有一个问题。

我有一个三元店“Jena TDB”,我读过我可以设置一个SPARQL端点 本地存储的RDF数据。 特别是,我在文献中看到,与耶拿TDB一起使用的是Fuseki。 我以这种方式在Jena TDB中加载了我的文件rdf:

public void store(){
    String directory = "C:\\tdb";
    String source = "C:\\file1.rdf";
    String source1 = "C:\\file2.rdf";
    Dataset dataset = openTDB(directory);
    Model tdb = loadModel(source, dataset);
    dataset.addNamedModel("File1", tdb);

    Model tdb1 = loadModel(source1, dataset);
    dataset.addNamedModel("File2", tdb1);

    tdb.close();
    tdb1.close();
    dataset.close();
}


public Dataset openTDB(String directory){
    // open TDB dataset
    Dataset dataset = TDBFactory.createDataset(directory);
    return dataset;
}


public Model loadModel(String source, Dataset dataset){

    Model tdb = ModelFactory.createDefaultModel();
    FileManager.get().readModel( tdb, source, "RDF/XML" );
    return tdb;
}

我正在阅读Apache网站上的Fuseki文档和这篇文章Desktop SPARQL client for Jena (TDB)?,但我遇到了问题。

特别是,我已经下载了Fuseki发行版并将其解压缩。然后,我打开命令提示符,然后我去了解压缩fuseki的文件夹。 然后,我启动了这个命令:

fuseki-server --update --mem /C://TDB

我在localhost:3030地址上打开了浏览器。 在浏览器上,我可以选择数据集(在C:// TDB的情况下),我可以启动我的查询,例如:

  

选择* {graph; {?s?p?o}}

查询结果为:

  

错误404:未找到

为什么呢?我做错了什么?

Desktop SPARQL client for Jena (TDB)?帖子上,我已经读过我必须运行命令:

  

java -jar fuseki-0.1.0-server.jar --update --loc data / dataset

但我不明白谁是数据和数据集。就我而言,我怎么知道这个价值观?这是我的错误吗?

2 个答案:

答案 0 :(得分:5)

你是对的,因为你没有理解每个论点的意图。使用您的命令,您所做的就是创建一个空的内存数据集,并为其分配数据集路径/C://TDB,这几乎肯定不是您想要的。

--loc参数用于将路径传递到包含TDB数据库的目录,而/dataset路径是您要通过Fuseki访问它的数据集路径

例如,您可以执行以下操作:

java -jar fuseki-VER-server.jar --update --loc /path/to/database /ds

注意我在这里使用VER作为Fuseki版本的占位符,因为该值取决于您下载的Fuseki版本。在撰写本答案时作为参考,最新版本为1.0.2

此命令针对位于/path/to/database中的数据集路径为/ds的TDB数据库启动Fuseki。因此,您可以指定所选的SPARQL客户端http://localhost:3030/ds/query进行查询,或http://localhost:3030/ds/update进行更新。

如果您在Windows上运行(您的问题似乎就是这种情况),那么您将执行以下操作:

java -jar fuseki-VER-server.jar --update --loc C:\TDB /ds

使用数据集路径C:\TDB针对位于/ds的TDB数据库启动Fuseki,因此将应用与上一示例相同的URL。

答案 1 :(得分:0)

first download jena fusaki from

https://jena.apache.org/download/index.cgi

un-zip the file and copy the "jena-fuseki-1.0.1" to c drive
open cmd
type for accesing the folder

"cd C:\jena-fuseki-1.0.1"

然后输入

"java -jar fuseki-server.jar --update --loc data /dataset"

最后打开浏览器并输入

"localhost:3030/"

记住你必须首先清除环境verible(位于系统属性然后提前标签)并编辑变量名称调用" Path"在" System verible"到

"C:\jena-fuseki-1.0.1"