2016-09-07 2 views
1

JavaアプリケーションでSPARQLおよびSPARQL Updateクエリを解析する必要があります。私はrdf4jライブラリを使ってこれをしようとしました。このライブラリは、QueryParserUtil.parseUpdate(...)やSyntaxTreeBuilder.parseUpdateSequence(...など)などのクエリを解析する可能性(QueryParserUtil.parseQuery(...)やSyntaxTreeBuilder.parseQuery ))。しかし、両方を解析できるメソッドはありません。したがって、クエリ文字列がクエリまたは更新を表すかどうかを判断する必要があります。SPARQLクエリがJavaのクエリまたは更新であるかどうかをチェックする方法

parseQuery()メソッドに更新文字列を適用すると、ParseExceptionがスローされます。これは、他の方法でも同様です。もちろん、例外がスローされた場合、常に他のメソッドを試すことは可能です。しかし、それは悪いプログラミングスタイルになります。

rdf4jライブラリには、queryStringが更新または単純な問合せを表すかどうかを確認するためのメソッドがありますか?

もしそうでなければ、更新とクエリの両方を解析するための他のソリューションがありますか?

答えて

2

この目的でQueryParserUtil.parseOperation()を使用できます。それは、文字列を解析し、ParsedUpdateParsedQueryという2つのサブタイプを持つParsedOperationオブジェクトを返します。次に、簡単なinstanceofのチェックを行うことができます:

+0

これは完璧に動作します。ありがとうございました。 – Bianconeri1988

関連する問題