首页 > 解决方案 > 带有检索和变量的 sparql 查询 if 语句

问题描述

我的主要需要是在其他编程语言中使用类似 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)

标签: if-statementswitch-statementsparqlquerying

解决方案


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

var booleanvar = req.params.booleanvar

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

        } else {
            booleanvar= '?'+booleanvar
        }

然后我只是在查询中添加了一个简单的三元组语句

?x g1:state '+booleanvar+'

推荐阅读