2011-12-15 24 views
3

假設我正在尋找一個像「綠野仙蹤」這樣的實體,並且知道我對這本書特別感興趣,而不是電影或音樂劇。 哪個查詢/方法會在大多數情況下返回正確的結果?如何解決Yago/DBpedia中的消歧?

回答

1

你可以做到這一點像的查詢:

SELECT * WHERE { 
    ?s <http://dbpedia.org/property/name> ?name . 
    ?s a <http://dbpedia.org/ontology/Book> . 
    FILTER(regex(STR(?name), "wizard of oz", "i")) 
} 
+0

感謝您的回覆,我試圖搜索沒有特定本體論相關性的「Book」,因此它也將捕獲「Childrens_Books」類別中的實體。 – user971956 2011-12-16 13:52:24

+0

當然,他們可以...看到它雖然超時,除非它是針對私人實例運行的... – em70 2011-12-21 11:50:48

0

由於每本書,只有書,有一個ISBN,我想你可以採取史蒂夫哈里斯的查詢,而不是問它是否是一本書,你可以問它是否有一個ISBN。

SELECT * WHERE { 
    ?s <http://dbpedia.org/property/name> ?name . 
    ?s <http://dbpedia.org/ontology/isbn> ?isbn . 
    FILTER(regex(STR(?name), "wizard of oz", "i")) 
}