2012-09-05 69 views
2

我已經構建了一個簡單的網頁作爲用戶輸入sparql查詢的前端用戶界面。我使用Jena ARQ作爲後端(我正在使用Grails)sparql查詢引擎。目前,用戶只能輸入一個「選擇」查詢和使用:用於使用Jena選擇,描述和構建的一個SPARQL端點ARQ

ResultSet results = qexec.execSelect(); 

執行查詢並返回結果。但現在,我還希望用戶將Describe和Construct查詢從同一頁發送到後端。作爲該線程已經討論:Jena Sparql and construct,我們需要使用

Model results = qexec.execConstruct() 

在後端。所以我的問題是,在後端,我如何知道查詢字符串是Select查詢,Describe查詢還是Construct查詢,以便我可以從execSelect(),execDescribe()或execConstruct()中選擇?前端有什麼需要改變的嗎?

回答

2

Query class有找出查詢該類型的方法:

if (qexec.getQuery().isSelectType()) { 
    ResultSet results = qexec.execSelect(); 
    // ... 
} else { 
    Model results = qexec.execConstruct(); 
    // ... 
} 

是完整的,你應該處理DESCRIBEASK爲好。

+0

它的工作原理。謝謝。 – afterglowlee