1

我正在尝试使用SparqlQuery对 SPARQL 查询建模。

看起来我可以使用RootGraphPatternproperty属性来指定要在查询结果中遵守的三重模式。

不幸的是,到目前为止,我未能创建SparqlQuery该类的实例,因为它的构造函数不可公开访问并且该类是密封的。同样,查询类型只能检索,不能设置。是否有任何名称晦涩的工厂方法可以创建该类的实例?

论坛帖子,就像有关该主题的文档专门根据类SparqlQuery的查询字符串生成它们的实例一样SparqlQueryParser。但是,我还没有查询字符串,并且当有一个面向对象的 API 可用时,我试图避免连接字符串来构建我的查询,这让我可以以 OO 方式构建查询,而不是从字符串开始.

因此,我的问题是:如何在不使用初始查询字符串和 SPARQL 解析器SparqlQuery的情况下实例化类?

4

1 回答 1

1

现在你不能,大部分SparqlQuery都是故意密封的,因为很多属性和相关类,比如GraphPattern代表 AST,当我们最初设计这个类时,我们不希望人们有意/无意地修改 AST,从而造成损坏查询。

有一个fluent-query分支正在开发中,它最终将提供一个用于构建查询的 Fluent API,但其背后的开发人员目前正在休假一个月,我已经有一段时间没有看到任何活动了。您可以查看Fluent Query wiki以获取有关此 API 外观的一些示例。

如果这对您来说是一个重要功能,我们可以将其提高优先级,但作为一个开源项目,我们受到我们小型开发团队有限资源的严重限制。

我们可能会将我们目前所拥有的内容集成到我们的 1.0.0 版本中,但我们最近的发布重点一直是错误修复和稳定性,以使 1.0.0 成为稳定的生产就绪版本,引入一个新的且相对未经测试的功能在某种程度上违背了这一点. 此外,该 API 尚未涵盖所有 SPARQL,因此可能不完整且可能不稳定。

于 2013-02-23T17:52:27.773 回答