2011-06-03 56 views
3

我遇到了DBpedia SPARQL端點的問題,因爲諸如標籤rdf:type之類的屬性屬性沒有儲存在端點中。所以當我運行這個查詢時:DBpedia SPARQL和謂詞連接

SELECT * 
WHERE{ 
    <http://dbpedia.org/ontology/Place> ?predicat ?object . 
    OPTIONAL{?predicat rdfs:label ?label} 
} 

我對標籤沒有任何要求。

如果有人有任何想法解決這個問題,這將是非常有益的。

+0

你真的想獲得一個類的屬性的標籤嗎?如果您在示例中尊重謂詞URL,就可以找到它們,例如[link](http://www.w3.org/2000/01/rdf-schema#label),但它們不是很有趣。 rdf-schema#標籤的標籤是「label」,例如... – 2011-06-04 00:54:14

+0

是的,這是我想要的 – cyr 2011-06-06 11:59:25

+0

@glennmcdonald:我不同意謂語標籤並不有趣的說法,特別是它們不那麼有趣比任何其他標籤。畢竟,人們可能會爭辯說,標籤通常並不像英語標籤[http://dbpedia.org/ontology/Town'](http://dbpedia.org/ontology/Town)(不是謂詞)簡直就是*鎮*。另一方面,用作謂詞的['http://dbpedia.org/ontology/wikiPageExternalLink'](http://dbpedia.org/ontology/wikiPageExternalLink)'的標籤是相當豐富的*鏈接從Wikipage到外部頁面*。 – 2013-11-13 14:53:53

回答

2

因爲SPARQL端點沒有它們,所以無法從DBpedia獲取真實標籤。但是你可以使用屬性URI的本地名稱。所以,對於rdfs:subClassOf你會得到「subClassOf」。這比沒有好。這可以使用Virtuoso(非標準)bif:regexp_replace函數完成。

SELECT DISTINCT (bif:regexp_replace(STR(?p), "^.*[/#]", "") AS ?label) WHERE { 
    <http://dbpedia.org/ontology/Place> ?p ?o . 
} 
0

我不認爲有SPARQL解決方案。 Dbpedia沒有你想要的數據,並且我無法在W3C找到該RDF的SPARQL端點。我不認爲Virtuoso dbpedia端點支持聯合,即使我們確實找到了W3C的SPARQL端點。

很高興在任何這些問題上被證明是錯誤的。