我有一个可与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获取像本地耶拿这样的前缀
答案 0 :(得分:2)
前缀用于演示,不影响结果。 前缀不属于SPARQL结果集。
如果要进行本地演示,则可以在本地添加它们。一种常见的获取结果的地方是用于结果集的查询。查询对象的序言中带有前缀。