1

FILTER次のようなステートメントを含む sparql クエリがあります。

FILTER ((?dayOfWeek = ?day) && (?start >= ?startTime) && (?finish <= ?finishTime))

リテラル値に置き換えて snorql で実行すると、このクエリが正しく実行されることがわかっています。

FILTER ((?dayOfWeek = "Wed") && (?start >= 720) && (?finish <= 820))

代わりに GET リクエストを介して値を提供したいので、次のようにします。

...sparql?query=<query>&day=Wed&startTime=720&finishTime=820

ただし、上記のリクエストは機能しません (空のデータ セットが返されます)。startTimefinishTimeのタイプを指定してみました。

...sparql?query=<query>&day=Wed&startTime=720&startTime_type=integer&finishTime=820&finishTime_type=integer

しかし、これで問題は解決しません。

クエリ文字列で snorql で機能するリテラル値を指定すると、データセットが空になり、本当に困惑します。

値を間違った方法で提供しているか、間違ってエンコードしているに違いないと思います。クエリ文字列自体はパーセント エスケープされています (文字セット: !*'();:@&=+$,/?%#[])。

助言がありますか?

4

1 に答える 1

2

If you are using the SPARQL protocol, the usage is

...sparql?query=PREFIX .. SELECT...

i.e. a complete SPARQL query (encoded for being in a URL).

于 2013-02-27T09:46:28.780 に答える