首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >到sparql查询php的printf数组字符串

到sparql查询php的printf数组字符串
EN

Stack Overflow用户
提问于 2019-11-13 11:45:04
回答 1查看 107关注 0票数 1

我想查询SPARQL,但使用数组。如果这样做有效,我想对所有数组进行迭代。

使用sprintf不会给出sparql查询的结果:

代码语言:javascript
复制
$arrayName = array("Brassica_oleracea_var_italica","Brassica_oleracea_var_botrytis");
    $bmni = $sparql->query(sprintf('SELECT DISTINCT ?bmni WHERE {
                ?bmni kb:namaIlmiah kp:%s}', $arrayName[0]));

我尝试过使用vprintf,但这使我在EasyRdf上出错了

无致命错误: Uncaught EasyRdf_Exception: HTTP请求SPARQL查询失败: Error 400:解析错误:105个遇到"105“在第1列.期望:"\ufeff”之一.“基地”。“前缀”“选择”"json““描述”“建造”。“问”在C中:.

EN

回答 1

Stack Overflow用户

发布于 2019-11-14 03:26:42

我不知道为什么,但我认为EasyRdf不能返回数组,所以我将数组转换为许多变量。它起了作用,但效率不高。

我愿意接受任何提高效率的建议。

谢谢..

代码语言:javascript
复制
// array to variable
$var_name = '';
for ($i = 0; $i < count($arrayName); $i++)
{
    $var_name = 'file' . $i;

    //looping every variable 
    $$var_name = $arrayName[$i];
    ${'file' . $i};
}

for ($i=0; $i < count($arrayName); $i++) { 
    $bmni = $sparql->query(sprintf('SELECT DISTINCT ?bmni WHERE {
                                        ?bmni kb:namaIlmiah kp:%s
                                    }', ${'file' . $i}));
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58836385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档