从Fuseki获取prefixMap

时间:2018-11-01 10:59:53

标签: java jena fuseki

我有一个可与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获取像本地耶拿这样的前缀

1 个答案:

答案 0 :(得分:2)

前缀用于演示,不影响结果。 前缀不属于SPARQL结果集。

如果要进行本地演示,则可以在本地添加它们。一种常见的获取结果的地方是用于结果集的查询。查询对象的序言中带有前缀。