按标题在维基数据 SPARQL 中搜索电影或电视剧
Search Wikidata SPARQL for movies or tv series by title
我想在电视剧 (http://www.wikidata.org/entity/Q5398426
) 和电影 (http://www.wikidata.org/entity/Q11424
) 中搜索 "Star Wars"。以下 SPARQL 用于搜索电影:
# search movies by name
SELECT DISTINCT ?item ?name WHERE {
?item wdt:P31 wd:Q11424.
?item rdfs:label ?queryByTitle.
OPTIONAL { ?item wdt:P1476 ?name. }
#FILTER(REGEX(?queryByTitle, "star wars", "i"))
FILTER(contains(lcase(?queryByTitle), "star wars"))
}
LIMIT 100
知道如何同时搜索电视剧吗?
@AKSW 回答了问题。这是供将来搜索的任何人使用的完整要点。
SELECT DISTINCT ?item ?name WHERE {
VALUES ?type {wd:Q5398426 wd:Q11424} ?item wdt:P31 ?type .
?item rdfs:label ?queryByTitle.
OPTIONAL { ?item wdt:P1476 ?name. }
FILTER(REGEX(?queryByTitle, "star wars", "i"))
}
LIMIT 100
我想在电视剧 (http://www.wikidata.org/entity/Q5398426
) 和电影 (http://www.wikidata.org/entity/Q11424
) 中搜索 "Star Wars"。以下 SPARQL 用于搜索电影:
# search movies by name
SELECT DISTINCT ?item ?name WHERE {
?item wdt:P31 wd:Q11424.
?item rdfs:label ?queryByTitle.
OPTIONAL { ?item wdt:P1476 ?name. }
#FILTER(REGEX(?queryByTitle, "star wars", "i"))
FILTER(contains(lcase(?queryByTitle), "star wars"))
}
LIMIT 100
知道如何同时搜索电视剧吗?
@AKSW 回答了问题。这是供将来搜索的任何人使用的完整要点。
SELECT DISTINCT ?item ?name WHERE {
VALUES ?type {wd:Q5398426 wd:Q11424} ?item wdt:P31 ?type .
?item rdfs:label ?queryByTitle.
OPTIONAL { ?item wdt:P1476 ?name. }
FILTER(REGEX(?queryByTitle, "star wars", "i"))
}
LIMIT 100