2012-04-13 70 views
3

我正在使用BIND()來選擇和插入三元組,從4store。SPARQL 1.1支持4store?

以下SELECT作品,

PREFIX Sensor: <http://cei.usc.edu/Equipment.owl#> 
SELECT * 
WHERE { 
    ?subject100 Sensor:test1 "100" 
    BIND("1000" as ?x) . 
} LIMIT 10 

但是,當我嘗試做一個地方插入,它失敗

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不能用SPARQL 1.0在操作0 1號線使用

我運行最新的V1.1.4 4Store 20月 - 2011

我試過在INSERT WHERE之上使用不同的SPARQL存儲並且工作正常。 BIND是SPARQL 1.1中的一個新構造,因此我不確定它是否在4Store中受支持。

+0

我不認爲SELECT工作,你不會得到任何值的?x。 – 2012-04-16 08:38:17

回答

5

4store 1.1.4不支持BIND。它可能會在下一個版本中得到支持。已經有一些關於這方面的討論。

+0

更新:4store 1.1.5支持BIND – 2013-05-03 00:20:57