如何编写SPARQL查询按年份从旧到新列出伍迪·艾伦执导的电影
查询伍迪·艾伦执导的所有电影(按年份从旧到新排序)的SPARQL语句
以下是可直接在DBpedia SPARQL端点执行的查询语句,会返回伍迪·艾伦执导的所有电影,并按上映年份从旧到新排序:
PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX dbr: <http://dbpedia.org/resource/> SELECT ?film ?title ?releaseYear WHERE { ?film dbo:director dbr:Woody_Allen ; rdfs:label ?title ; dbo:releaseDate ?releaseDate . BIND(YEAR(?releaseDate) AS ?releaseYear) FILTER(LANG(?title) = "en") } ORDER BY ASC(?releaseYear)
语句说明:
- 前缀定义:
dbo指向DBpedia的本体词汇,dbr指向DBpedia的资源条目,用前缀可简化冗长的URI写法。 - 筛选条件:
?film dbo:director dbr:Woody_Allen指定仅获取导演为伍迪·艾伦的电影资源。 - 字段提取:
rdfs:label ?title获取电影标题,通过FILTER(LANG(?title) = "en")限定返回英文标题,避免多语言重复结果。dbo:releaseDate ?releaseDate获取电影上映日期,再用BIND(YEAR(?releaseDate) AS ?releaseYear)提取年份作为排序依据。
- 排序规则:
ORDER BY ASC(?releaseYear)按上映年份升序排列,实现从旧到新的展示顺序。
内容的提问来源于stack exchange,提问作者user15793405
相关产品推荐
相关产品推荐

