SPARQL查询问题->;错误答案

SPARQL查询问题->;错误答案,sparql,Sparql,我想使用SPARQL选择一个三元组。为此,我使用以下查询: SELECT count (*) WHERE {?s ?p ?o} FILTER (?s=http://kjkhlsa.net && ?p=http://lkasdjlkjas.com && ?o=Test) 作为回答,我完全错了三重:(主语不等于“”,谓语不等于“”,宾语也不等于“Test”。有人能解释一下我做错了什么吗:( 编辑1: 我已将查询放入php文件: $inst_query = '

我想使用SPARQL选择一个三元组。为此,我使用以下查询:

SELECT count (*)
WHERE {?s ?p ?o}
FILTER (?s=http://kjkhlsa.net && ?p=http://lkasdjlkjas.com && ?o=Test)
作为回答,我完全错了三重:(主语不等于“”,谓语不等于“”,宾语也不等于“Test”。有人能解释一下我做错了什么吗:(

编辑1: 我已将查询放入php文件:

    $inst_query = 'SELECT * { <http://kjkhlsa.net> <http://lkasdjlkjas.com> "Test"}';
    echo $inst_query;
$inst_query='SELECT*{“Test”};
echo$inst_查询;
回音的答案是“SELECT*{“Test”}。然后我在以下位置尝试了它:

    $inst_query = 'SELECT * WHERE { <http://kjkhlsa.net> <http://lkasdjlkjas.com> "Test"}';
    echo $inst_query;
$inst_query='选择*WHERE{“Test”}';
echo$inst_查询;
这里是答案“SELECT*WHERE{“Test”}”…因此,我没有找到URI,但对我来说这似乎是php问题,而不是sparql问题

编辑2:
我已经将查询放入SPARQL查询编辑器中,得到了“无结果”的响应……但我确信,我有这个三元组。

在当前形式下,问题不是很清楚(请参见我上面的评论)

由于您实际上是在尝试获取与模式匹配的三元组,因此使用图形模式而不是
过滤器
,效率更高。许多SPARQL实现首先通过图形模式匹配候选三元组,然后才应用
过滤器
表达式。本质上,使用
s?p?o
图形模式,您是在做一个线性扫描你所有的三元组

所以,这里有一些应该有效的方法,使用图形模式而不是过滤器

SELECT * { <http://kjkhlsa.net> <http://lkasdjlkjas.com> "Test" }
选择*{“测试”}
注意:我没有包括非标准SPARQL的
COUNT(*)
围绕URI。
围绕文字。

尝试使用以下方法:

SELECT count (*) as ?count
WHERE {
    ?s ?p ?o
FILTER (?s=<http://kjkhlsa.net> && ?p=<http://lkasdjlkjas.com> && ?o=Test)
}
选择count(*)作为?count
在哪里{
?s?p?o
过滤器(?s=&&p=&&o=测试)
}

以下查询使用count函数计算返回到?s变量的不同URI的数量

 SELECT ?s (COUNT (DISTINCT ?s) as ?count)
    WHERE {?s ?p ?o}
    FILTER (?o="Test")

您正在使用哪个查询引擎?请注意,标准SPARQL不支持COUNT(*)等聚合。另外,请编辑帖子,使SPARQL正确显示,在这种形式下,查询甚至不应该解析。抱歉,我不知道我使用的是哪个引擎。我已经尝试过了,但仍然不起作用。我确定,我做错了…但这不是查询。感谢和“”的提示。一旦我解决了这个问题,我会在这里发布解决方案。您已经在Sirakov最初提供的URI中添加了尾随斜杠。因此,运行您提供的查询实际上与预期不匹配,因为URI必须完全匹配。@Phil M:啊,浏览器URL复制粘贴功能的一个功能。感谢您指出这一点。我将编辑swer.@Sirakov:如果仍然不起作用,请发布其他详细信息。最好通过编辑原始帖子。它起作用了,我需要“FROM”-子句来指定必须使用的模型:SELECT*FROM model_URI WHERE{“Test”}