sparql 1.1查询中的foaf和count
我是SPARQL的初学者,如果你能帮我的话,那就太好了。我有这样一个RDF文档:sparql 1.1查询中的foaf和count,sparql,Sparql,我是SPARQL的初学者,如果你能帮我的话,那就太好了。我有这样一个RDF文档: @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix lb: <http://example.org/lastfm/> . lb:bob foaf:knows lb:user2, lb:user3, lb:user4 ; foaf:age 25 ; lb:list
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix lb: <http://example.org/lastfm/> .
lb:bob foaf:knows lb:user2, lb:user3, lb:user4 ;
foaf:age 25 ;
lb:listenedTo lb:track1, lb:track2 ;
lb:topArtist lb:artist1, lb:artist2 .
lb:user2 foaf:knows lb:user5, lb:user6 ;
foaf:age 40 ;
lb:listenedTo lb:track1, lb:track2, lb:track3 ;
lb:topArtist lb:artist2, lb:artist4 .
lb:user3 foaf:knows lb:user5, lb:bob, lb:user6 ;
foaf:age 19 ;
lb:listenedTo lb:track2, lb:track3, lb:track4 ;
lb:topArtist lb:artist2, lb:artist3 .
lb:user4 lb:listenedTo lb:track2, lb:track3, lb:track4 ;
foaf:age 61 ;
lb:topArtist lb:artist3, lb:artist4, lb:artist5 .
lb:user5 foaf:knows lb:user7 ;
foaf:age 23 ;
lb:topArtist lb:artist1, lb:artist3 .
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
prefix foaf: <http://xmlns.com/foaf/0.1/>
prefix lb: <http://example.org/lastfm/>
select ?user
where
{
lb:bob foaf:knows | foaf:knows/foaf:knows| foaf:knows/foaf:knows/foaf:knows ?user.
?user lb:listenedTo ?tracks
minus{lb:bob lb:listenedTo ?track}
filter (?tracks count(*)>=2)
}
但这个错误:
Encountered " "count" "count "" at line 12, column 23. Was expecting one of:
"not" ...
"in" ...
<INTEGER_POSITIVE> ...
<DECIMAL_POSITIVE> ...
<DOUBLE_POSITIVE> ...
<INTEGER_NEGATIVE> ...
<DECIMAL_NEGATIVE> ...
<DOUBLE_NEGATIVE> ...
")" ...
"=" ...
"!=" ...
">" ...
"<" ...
"<=" ...
">=" ...
"||" ...
"&&" ...
"+" ...
"-" ...
"*" ...
"/" ...
在第12行第23列遇到“计数”。我期待的是:
“不是”。。。
“在”。。。
...
...
...
...
...
...
")" ...
"=" ...
"!=" ...
">" ...
“那么:
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
prefix foaf: <http://xmlns.com/foaf/0.1/>
prefix lb: <http://example.org/lastfm/>
select ?user
where
{
lb:bob foaf:knows | foaf:knows/foaf:knows| foaf:knows/foaf:knows/foaf:knows ?user.
?user lb:listenedTo ?tracks
}
group by ?user
having (count(?tracks) > 2)
前缀rdf:
前缀foaf:
前缀lb:
选择?用户
哪里
{
lb:bob foaf:knows | foaf:knows/foaf:knows | foaf:knows/foaf:knows?用户。
?用户lb:ListedTo?曲目
}
按用户分组
具有(计数(?轨迹)>2个)
您在原始查询中有减号,我不确定。您是否尝试删除lb:bob
作为的绑定?user
,也许?过滤器(?user!=lb:bob)
将停止该操作。您好,谢谢。遇到“count”计数“在第12行第23列。期待着一个“不是”。。。“在……”。。。")" ... "=" ... "!=" ... ">" ... “+1聚合表达式不能在筛选器
中使用,如果需要使用聚合进行筛选,则必须在HAVING
子句中使用,如此答案所示。”