我正在使用 BIND ( ) 从和到 4store 选择和插入三元组。
以下 SELECT 有效,
PREFIX Sensor: <http://cei.usc.edu/Equipment.owl#>
SELECT *
WHERE {
?subject100 Sensor:test1 "100"
BIND("1000" as ?x) .
} LIMIT 10
但是当我尝试做一个 INSERT WHERE 时,它失败了
PREFIX Sensor: <http://cei.usc.edu/Equipment.owl#>
INSERT {
?subject Sensor:test510 ?value .
}
WHERE {
{
?subject100 Sensor:test1 "100" .
BIND("200" as ?value)
}
UNION
{
?subject99 Sensor:test1 "99" .
BIND("300" as ?value)
}
}
错误:BIND 不能在操作 0 的第 1 行与 SPARQL 1.0 一起使用
我正在运行最新的 4Store v1.1.4 20-Sep-2011
我用不同的 SPARQL 存储尝试了上面的 INSERT WHERE 并且它有效。BIND 是 SPARQL 1.1 中的一个新结构,所以我不确定 4Store 是否支持它。