如果你看看一個銀行DBpedia的頁面,你可以看到,而不是在rdf:type
,銀行作爲一個值,具有dbpedia:Bank
(Refah bank)或dbpedia:Financial_services
(Cyprus bank)屬性dbpedia-owl:industry
。所以,如果你重寫查詢,如下,你會得到一些結果:
SELECT DISTINCT ?label ?lat ?long
WHERE {
[] dbpedia-owl:industry dbpedia:Bank ;
geo:lat ?lat ;
geo:long ?long ;
rdfs:label ?label.
FILTER (LANGMATCHES(LANG(?label), 'en'))
}
如果添加dbpedia:Financial_services
,其他組織如London stock exchange也會出現:
SELECT DISTINCT ?bank
WHERE {
?bank dbpedia-owl:industry ?place ;
geo:lat ?lat ;
geo:long ?long ;
rdfs:label ?label.
FILTER (?place in (dbpedia:Financial_services, dbpedia:Bank) &&
LANGMATCHES(LANG(?label), 'en'))
}
再次,通過考察倫敦證券交易所,您可以看到有一個產品屬性將這些金融機構分開。因此,這會給你的銀行,但它可能無法覆蓋所有的銀行可用:
SELECT DISTINCT ?label ?lat ?long
WHERE {
[] dbpedia-owl:industry ?place ;
geo:lat ?lat ;
geo:long ?long ;
rdfs:label ?label;
dbpedia-owl:product ?product.
FILTER (?place in (dbpedia:Financial_services, dbpedia:Bank)
&& ?product in (dbpedia:Bank, dbpedia:Private_banking, dbpedia:Professional_Banking, dbpedia:Retail_banking, dbpedia:Investment_banking, dbpedia:Commercial_bank)
&& LANGMATCHES(LANG(?label), "en"))
} ORDER BY DESC(COUNT(DISTINCT ?product))
我只是試圖合作再次運行quries但我不斷收到錯誤'炫技37000錯誤SP030:SPARQL編譯器,第5行: dbpedia:Bank''前的'dbpedia-owl'中未定義的名稱空間前綴(用於第一個查詢)。 – MERose
他們更改了標準名稱空間http://dbpedia.org/sparql?nsdecl。我將編輯帖子。 – Artemis
他們也從我出來的幾個答案中刪除了lat和long。你可以得到'location',但就是這樣。 – Artemis