2

ユーザーがsparqlクエリを入力するためのフロントエンドユーザーインターフェイスとして、単純なWebページを作成しました。私はバックエンドとしてJenaARQを使用しています(私はGrailsを使用しています)sparqlクエリエンジン。現在、ユーザーは「選択」クエリのみを入力でき、私は以下を使用します。

ResultSet results = qexec.execSelect();

クエリを実行して結果を返します。しかし今、私はユーザーが同じページからバックエンドにDescribeとConstructクエリを送信することも望んでいます。このスレッドで説明されているように:Jena Sparqlとconstruct、を使用する必要があります

Model results = qexec.execConstruct()

バックエンドで。だから私の質問は、バックエンドで、クエリ文字列がSelectクエリ、Describeクエリ、またはConstructクエリのいずれであるかを知ることができるので、execSelect()、execDescribe()、またはexecConstruct()から選択できますか?フロントエンド用に変更する必要があるものはありますか?

4

1 に答える 1

2

Queryクラスには、クエリのタイプを見つけるためのメソッドがあります。

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

完全にするには、おそらくとも処理する必要がDESCRIBEありASKます。

于 2012-09-05T12:21:56.173 に答える