带有检索和变量的 sparql 查询 if 语句

sparql query if statement with retrieval and variable

我的主要需求是在其他编程语言中使用类似 switch case 的东西。

我有一个 ?x g1:state (true OR false OR UNDEF) 最新的是一个来自 REST API 的变量,我想根据该值执行不同的事情

我要实现的是:如果?x g1:state true,把所有的true三元组都给我。如果是false,把对应的所有false个三元组都给我。如果最新的未定义,请将所有具有任何值的三元组带给我。像这样。

Bind ( if ('+test+'=true, ?x g1:state true, Bind ( if ('+test+'=false, ?x g1:state false, ?x g1:state ?y1) as ?y) as ?xf)

Ι 用不同的方法绕过了这个障碍,在 sparql 查询之外

var booleanvar = req.params.booleanvar

if (booleanvar==='true' || booleanvar==='false'){

        } else {
            booleanvar= '?'+booleanvar
        }

然后我在查询中添加了一个简单的三重语句

?x g1:state '+booleanvar+'