如何将Fuseki与Jena TDB一起使用

我有一个问题问你。

我有一个三元存储“ Jena TDB”,并且我读到可以为本地存储的RDF数据设置SPARQL端点。特别是,我看到在文献中与Jena

TDB一起使用了Fuseki。我以这种方式将文件rdf加载到Jena TDB中:

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文档,但我有问题。

特别是,我下载了Fuseki发行版并解压缩。然后,我打开命令提示符,然后转到解压缩fuseki的文件夹。然后,我启动了此命令:

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

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

选择* {图形; {?s?p?o}}

查询结果为:

未找到错误404

为什么?我究竟做错了什么?

在桌面SPARQL耶拿(TDB)客户端上?发布后,我读到我必须运行命令:

java -jar fuseki-0.1.0-server.jar –update –loc数据/数据集

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

回答:

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

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

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

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

,我在这里用作VERFuseki版本的占位符,因为该值将取决于您下载的Fuseki版本。供撰写本文时参考,最新版本为1.0.2

该命令针对/path/to/database数据集路径为的TDB数据库启动Fuseki

/ds。因此,您可以将所选的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数据集路径为的TDB数据库启动Fuseki ,/ds因此将应用与前面示例相同的URL。

以上是 如何将Fuseki与Jena TDB一起使用 的全部内容, 来源链接: utcz.com/qa/414969.html

回到顶部