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

我用不同的 SPARQL 存储尝试了上面的 INSERT WHERE 并且它有效。BIND 是 SPARQL 1.1 中的一个新结构,所以我不确定 4Store 是否支持它。

4

1 回答 1

5

4store 1.1.4 不支持 BIND。它可能会在下一个版本中得到支持。已经有一些关于这个的讨论。

于 2012-04-14T00:06:00.643 回答