首页 > 解决方案 > 从 Fuseki 获取 prefixMap

问题描述

我有适用于 jena tdb 的 java 应用程序,它运行良好。现在我迁移到 Fuseki,当我想获得前缀时,我得到的是空列表。

Model model = ModelFactory.createDefaultModel();
model.setNsPrefixes(resultSet.getResourceModel().getNsPrefixMap());

这是空的:

resultSet.getResourceModel().getNsPrefixMap()

当我在代码中添加这样的前缀而不是设置地图时,它可以正常工作:

model.setNsPrefix("Hello", "http://Hello#");

但我想获取所有前缀,而不是在代码中指定它们。所以我发现了这样的东西:

 String str = "http://localhost:3030/tdb2-database/data";
 Model model = FileManager.get().loadModel(str);

像这样我得到了所有的前缀,但是它以错误的方式构建模型,添加了嵌套对象等。

我的问题是如何使用 getNsPrefixMap 获取本地耶拿中的前缀

标签: javajenafuseki

解决方案


前缀用于演示,不影响结果。前缀不是 SPARQL 结果集的一部分。

如果您想在本地演示,您可以在本地添加它们。一个常见的取自它们的地方是用于结果集的查询。查询对象有一个序言,其中包含前缀。


推荐阅读