此查詢適用於http://dbpedia.org/snorql/。爲什麼我的查詢不能在wikidata.dbpedia.org/sparql上運行?
但它不適用於http://wikidata.dbpedia.org/sparql。
我該如何解決這個問題才能在http://wikidata.dbpedia.org/sparql中工作?
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbpedia: <http://dbpedia.org/resource>
PREFIX dbpprop: <http://dbpedia.org/property>
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
SELECT DISTINCT *
WHERE{
?city rdf:type dbo:PopulatedPlace.
OPTIONAL {?city rdfs:label ?labelEN. FILTER (lang(?labelEN) = 'en').}
OPTIONAL {?city rdfs:label ?labelES. FILTER (lang(?labelES) = 'es').}
OPTIONAL {?city dbo:populationTotal ?pop.}
OPTIONAL {?city dbo:country ?country.
OPTIONAL {?country rdfs:label ?countryEN . FILTER (lang(?countryEN) = 'en').}
OPTIONAL {?country rdfs:label ?countryES . FILTER (lang(?countryES) = 'es').}
}
OPTIONAL {?city geo:long ?long.}
OPTIONAL {?city geo:lat ?lat.}
FILTER (?pop>1000000).
}
LIMIT 100
用''city dbo:populationTotal?pop.'替換'OPTIONAL {?city dbo:populationTotal?pop。}'' –
@StanislavKralin這不是必要的,但確實更有用。 – AKSW
@HumanFromEarth你的查詢很有效,但是由於一堆OPTIONAL(這是一堆左連接),查詢非常昂貴並且導致超時 - 在這種情況下,Virtuoso有一些隨時功能,它返回在給定的時間。 WebUI中的默認值是30秒,您可以增加它。 – AKSW