2013-02-22 86 views
1

我正在嘗試使用SparqlQuery class對SPARQL查詢建模。如何在沒有解析器的情況下創建並填充`SparqlQuery`對象?

它看起來像我可以使用RootGraphPattern property屬性來指定三重模式堅持在我的查詢結果。

不幸的是,我到目前爲止沒有創建SparqlQuery類的實例,因爲its constructors are not publicly accessible並且該類是密封的。同樣,query type只能被檢索,但不能設置。是否有任何工廠方法使用一個不明確的名稱來創建該類的實例?

論壇發帖,就像documentation on the topic基於帶有SparqlQueryParser類的查詢字符串專門生成SparqlQuery實例。但是,我還沒有查詢字符串,並且我試圖避免連接字符串來構建我的查詢時,有一個面向對象的API可用,讓我構建我的查詢以OO的方式,而不是開始與一個字符串。

因此,我的問題是:我如何可以實例SparqlQuery類,而不使用初始查詢字符串和SPARQL解析器

回答

1

現在你不能,大部分SparqlQuery有意密封,因爲有很多的屬性和相關類,如GraphPattern的代表AST,當我們最初設計類我們不希望人們有意/無意修改AST的方式造成了破損的查詢。

在作品中有一個fluent-query分支,它最終將提供用於構建查詢的Fluent API,但後面的開發人員目前正在進行爲期一個月的假期,並且我一段時間沒有看到任何活動。您可以查看Fluent Query wiki,瞭解此API的外觀。

如果這是您的一個重要特性,我們可以將優先級提高,但作爲一個開源項目,我們受到我們小型開發團隊有限資源的嚴重限制。

我們可能將迄今爲止已有的內容整合到我們的1.0.0版本中,但我們最近發佈的重點是錯誤修復和穩定性,使1.0.0成爲穩定的產品就緒版本,引入了一個新的相對未經測試的功能有點反對這一點。此外,該API尚未涵蓋所有的SPARQL,因此不完整且可能不穩定。

+1

這看起來非常有希望,但我更喜歡穩定的API而非快速發佈的版本,所以請花時間:-)我現在可以將查詢構建爲字符串;我可以切換到使用面向對象的API,一旦準備就緒,就會在查詢構造中引入一些編譯時檢查。 – 2013-02-25 08:43:59

+1

好的沒問題,它現在預定爲1.1.0,暫定於7月底。與任何開源項目一樣,由於開發人員的可用性不同,日程安排可能會發生變化/滑動 – RobV 2013-02-25 17:05:23

相關問題