如何将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
,我在这里用作VER
Fuseki版本的占位符,因为该值将取决于您下载的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