java - 从 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 获取本地耶拿中的前缀
解决方案
前缀用于演示,不影响结果。前缀不是 SPARQL 结果集的一部分。
如果您想在本地演示,您可以在本地添加它们。一个常见的取自它们的地方是用于结果集的查询。查询对象有一个序言,其中包含前缀。
推荐阅读
- oracle-adf - 以编程方式更新 adf 表单
- sql - 即使重复值不同,也将数据分组到不同的分区
- c - Math equation user input validation
- javascript - 文本到语音音频在浏览器中无法同步工作
- spring - 我们应该在 Hibernate 和 Springboot 中使用什么。SessionFactory 或 EntityManager
- sql - PLS-00312: a positional parameter association may not follow a named association
- .net-core - .Net Core & Entity Framework Core - 使用 Table Per Hierarchy 访问模型中子类的属性
- json - ExtJs:从 Json 响应填充 ComboBox
- javascript - 为什么 Javascript 规范设计者在 promise 中引入了 microtask
- javascript - 将多个参数传递给 jQuery 函数