2012-04-13 56 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