2

我构建了一个简单的网页作为前端用户界面,供用户输入 sparql 查询。我使用 Jena ARQ 作为后端(我使用 Grails)sparql 查询引擎。目前,用户只能输入“选择”查询,我使用:

ResultSet results = qexec.execSelect();

执行查询并返回结果。但现在,我还希望用户从同一页面向后端发送 Describe 和 Construct 查询。正如在这个线程中讨论的那样:Jena Sparql 和construct,我们需要使用

Model results = qexec.execConstruct()

在后端。所以我的问题是,在后端,我如何知道查询字符串是 Select 查询、Describe Query 还是 Construct 查询,以便我可以从 execSelect()、execDescribe() 或 execConstruct() 中进行选择?我需要为前端更改什么吗?

4

1 回答 1

2

Query 类具有查找查询类型的方法:

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

为了完整起见,您可能应该同时处理DESCRIBEASK

于 2012-09-05T12:21:56.173 回答