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 を実行しています
上記の INSERT WHERE を別の SPARQL Store で試したところ、うまくいきました。BIND は SPARQL 1.1 の新しい構造であるため、4Store でサポートされているかどうかはわかりません。