您好我正在使用SPARQL查询LMDB(http://data.linkedmdb.org/snorql/)并且我一直在尝试获取返回某些查询结果时的实例数。我一直在尝试添加(COUNT(?something) AS ?somethingElse)
,然后GROUP or ORDER BY
添加到我的查询中,然后变量?somethingElse
替换所有其他结果。我认为最好的方法是使用UNION
并将结果放在单独的行中,这与其他行无关,但由于某种原因我无法找到正确的解决方案。
我的查询:
PREFIX mov: <http://data.linkedmdb.org/resource/movie/>
SELECT DISTINCT ?Names WHERE
{ ?link mov:actor_name 'guy boyd' .
?movie mov:actor ?link;
mov:actor ?Link_To_Actor_Page.
?Link_To_Actor_Page mov:actor_name ?Names. }
如果您运行此查询,一切正常,但如果您添加(COUNT(?Names) AS ?total)
,则只打印出?total
。所以我想我的问题是如何打印出我想要的变量,并将COUNT(?something)
作为一个单独的列。基本上没有COUNT(?)
替换查询中的所有其他?variable
。
答案 0 :(得分:1)
上午,
只需添加SELECT
方法所需的内容即可。要求的元素数量不限。
以下是您更正的示例:
PREFIX mov: <http://data.linkedmdb.org/resource/movie/>
SELECT DISTINCT ?Names (COUNT(?Names) as ?total)
WHERE {
?link mov:actor_name 'guy boyd' .
?movie mov:actor ?link ;
mov:actor ?Link_To_Actor_Page .
?Link_To_Actor_Page mov:actor_name ?Names .
} GROUP BY ?Names
以下是SPARQL端点的位置:http://www.linkedmdb.org/snorql/
我希望它能帮到你,而不是简单地在没有理解的情况下给你答案。