我有一个带有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
但是,上述请求不起作用(它返回一个空数据集)。我试过指定 and 的类型startTime
,finishTime
即
...sparql?query=<query>&day=Wed&startTime=720&startTime_type=integer&finishTime=820&finishTime_type=integer
但这并不能解决问题。
在查询字符串中提供适用于 snorql 的文字值也会导致一个空数据集,这真的让我感到困惑。
我假设我必须以错误的方式提供值,或者对它们进行错误编码。查询字符串本身已被百分比转义(字符集:)!*'();:@&=+$,/?%#[]
。
有什么建议么?