使用Jena ARQ选择,描述和构造的一个SPARQL端点

时间:2012-09-05 11:40:17

标签: sparql jena arq

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

ResultSet results = qexec.execSelect();

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

Model results = qexec.execConstruct()

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

1 个答案:

答案 0 :(得分:2)

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

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

要完成,您应该处理DESCRIBEASK