我想在计算机上下载两个或多个数据集,并能够为每个数据集启动一个SPARQL端点。我尝试了Fuseki,这是Jena项目的一部分。但是,它将整个数据集加载到内存中,如果我打算查询诸如DBpedia之类的大型数据集,因为我打算做其他事情(启动多个SPARQL端点并对其使用联邦查询系统),就不太需要此功能。
为了给您一个提示,我打算使用SILK链接多个数据集,并使用FEDX联合查询系统对其进行查询。如果您建议对我正在使用的系统进行任何更改,或者可以给我一些提示,那就太好了。如果您建议适合该项目的数据集,也将对您有所帮助。
最佳答案
耶拿(Jena)的Fuseki可以使用TDB作为存储机制,而TDB将事物存储在磁盘上。 caching on 32 and 64 bit Java systems上的TDB文档讨论了将文件内容映射到内存中的方式。我不相信TDB / Fuseki会将整个数据集加载到内存中;这对于大型数据集来说是不可行的,但是TDB可以处理相当大的数据集。我认为您应该考虑使用tdbloader
创建TDB存储。那么您可以将Fuseki指向它。
有一个在this answer中设置TDB存储的示例。在那里,查询是使用tdbquery
执行的,但是根据文档的Running a Fuseki server部分,使用相同的TDB存储启动Fuseki所需要做的就是使用--loc=DIR
选项:
--loc=DIR
使用现有的TDB数据库。如果不存在,请创建一个空的。