首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为某支球队效力的球员的DBpedia斯帕克尔职业生涯

为某支球队效力的球员的DBpedia斯帕克尔职业生涯
EN

Stack Overflow用户
提问于 2019-03-28 12:38:53
回答 1查看 91关注 0票数 0

我想获得职业生涯的信息,为球员曾在某一特定的球队,谁是出生后的特定日期。我成功地执行了以下查询:

代码语言:javascript
复制
select ?playerName ?year ?teamName ?matches ?goals where {
  ?player a dbo:SoccerPlayer ;
            rdfs:label ?playerName ;
            dbo:birthDate ?birthDate ;
            dbo:careerStation ?station .
  ?station dbo:years ?year ;
           dbo:team ?team ;
           dbo:team/rdfs:label ?teamName ;
           dbo:numberOfMatches ?matches ;
           dbo:numberOfGoals ?goals .
  filter (langMatches(lang(?teamName), "EN"))
  filter (xsd:date(?birthDate) > "1980-01-01"^^xsd:date)
  filter (
     ?team = <http://dbpedia.org/resource/Olympique_Lyonnais>
  || ?team = <http://dbpedia.org/resource/AS_Monaco_FC>
  )
}
order by ?playerName ?year

我的问题是:

  • 我只得到球员为过滤队效力的那一年的年数,我希望他的整个职业生涯都是如此。
  • 有很多重复的行,我不知道为什么
  • 有些线与我的过滤器不对应。例子: “Ga tan Perrin"@en 2014年*“奥林匹克莱昂纳伊斯保留地和学院”@en\3\1

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2019-03-28 14:41:28

正如评论中指出的那样,你必须使用一个子查询来让所有的球员都为那些球队效力,并在1980年之后出生。在外部查询中,您可以获得他们所有的职业数据:

代码语言:javascript
复制
select ?playerName ?year ?teamName ?matches ?goals where {

# get all players for given teams born after 1980  
{
select distinct ?player {
?player a dbo:SoccerPlayer ;           
        dbo:birthDate ?birthDate ;
        dbo:careerStation/dbo:team ?team 
filter (?team in (dbr:Olympique_Lyonnais, dbr:AS_Monaco_FC))
filter (xsd:date(?birthDate) > "1980-01-01"^^xsd:date)
}
}

# get all their career station data
  ?player a dbo:SoccerPlayer ;
            rdfs:label ?playerName ;
            dbo:birthDate ?birthDate ;
            dbo:careerStation ?station .
  ?station dbo:years ?year ;
           dbo:team ?team ;
           dbo:team/rdfs:label ?teamName ;
           dbo:numberOfMatches ?matches ;
           dbo:numberOfGoals ?goals .
  filter (langMatches(lang(?teamName), "EN"))

}
order by ?playerName ?year
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55397864

复制
相关文章

相似问题

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