このクエリは、特定の競技会で特定のチームに属するプレーヤーの割合を返すことになっています。ただし、stardog db で実行すると、何も返されません。Stardog は、結果が 0 だったことを示したり、列ヘッダーを埋めたりしません。クエリを yasgui.org のインターフェイスに貼り付けたところ、クエリは整形式 (構文エラーなし) のように見えます。なぜ期待される結果が返されないのか、誰にもわかりませんか?
select ?competition ?team (COUNT(distinct ?team_1_player)/COUNT(distinct ?player) as ?proportion)
where {
?team_1_player prop:competesIn ?competition.
?team_1_player prop:memberOf ?team.
?player prop:competesIn ?competition.
}
group by ?competition ?team
order by desc(?proportion)
次の同様のクエリは、期待される結果を返します。特定のチームのプレーヤーの割合ではなく、チーム プレーヤーの合計と、大会に参加しているすべてのプレーヤーの合計を返すことを除いて、これはまったく同じことを行います。
select distinct ?competition ?team (COUNT(distinct ?team_1_player) as ?num_team_players) (COUNT(distinct ?player) as ?num_players)
where {
?team_1_player prop:competesIn ?competition.
?team_1_player prop:memberOf ?team.
?player prop:competesIn ?competition.
}
group by ?competition ?team
order by desc(?num_team_players)