我正在使用 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)
}
}
错误:在操作0的第1行中,BIND不能与SPARQL 1.0一起使用。
我正在运行最新的4Store v1.1.4 20-Sep-2011。
我尝试过在另一个SPARQL存储中使用上述INSERT WHERE语句,并且它可以正常工作。BIND是SPARQL 1.1中的新结构,因此我不确定它是否受到4Store的支持。