3

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 でサポートされているかどうかはわかりません。

4

1 に答える 1

5

BIND は 4store 1.1.4 ではサポートされていません。おそらく次のバージョンでサポートされるでしょう。これについては、すでにいくつかの議論が行われています。

于 2012-04-14T00:06:00.643 に答える