查询DBpedia中的银行

时间:2015-06-20 10:54:06

标签: sparql dbpedia

使用http://dbpedia.org/sparql,我希望收到所有银行大楼的地理坐标。 The list of classes告诉我,我应该查询Bank

然而,以下代码没有产生任何结果:

SELECT DISTINCT ?label ?lat ?long
WHERE {
[]
 rdf:type dbpedia-owl:Bank ;
 geo:lat ?lat ;
 geo:long ?long ;
 rdfs:label ?label.
      FILTER (LANGMATCHES(LANG(?label), 'en')) 
}

如果我要查询任何兄弟Bank,(例如BreweryLawFirm),我至少会看到一些结果。上面的代码有什么问题?

1 个答案:

答案 0 :(得分:0)

如果你查看某个银行的dbpedia页面,你可以看到rdf:type上的银行有一个dbpedia-owl:industryRefah bank)或dbpedia:BankCyprus bank)作为值。因此,如果您按以下方式重写查询,您将获得一些结果:

dbpedia:Financial_services

如果您添加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')) } ,其他组织(例如London stock exchange)也会显示:

dbpedia:Financial_services

再次,通过检查伦敦证券交易所,您可以看到有一个产品属性将这些金融机构分开。所以这会给你银行,但它可能不会覆盖所有可用的银行:

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')) 
}