我試圖對DBpedia使用SPARQL查詢來檢索音樂劇列表和一些相關的屬性。然而,儘管使用了適當的過濾器(據我所知),但結果還是不止一次地包含了許多音樂劇。這裏是我的查詢:儘管過濾器DBpedia查詢返回一些音樂劇不止一次
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbpprop: <http://dbpedia.org/property/>
SELECT ?label ?abstract ?book ?music ?lyrics
WHERE {
?play <http://purl.org/dc/terms/subject> <http://dbpedia.org/resource/Category:Broadway_musicals> ;
rdfs:label ?label ;
dbo:abstract ?abstract ;
dbpprop:book ?book ;
dbpprop:lyrics ?lyrics ;
dbpprop:music ?music .
FILTER (LANG(?label) = 'en')
FILTER (LANG(?abstract) = 'en')
FILTER (LANG(?book) = 'en')
FILTER (LANG(?lyrics) = 'en')
FILTER (LANG(?music) = 'en')
}
結果列表有許多重複的條目。在此處粘貼查詢: DBpedia SPARQL Explorer,您會看到以「Mama Mia!」開頭。列表中有很多重複項。
任何想法我錯過了沒有重複的獨特結果?謝謝!
[由格倫·麥克唐納編輯澄清,這是被「複製」這裏的音樂劇,而不是三倍。]
這真的只適用,因爲圖表沒有重複的三元組,並且它留下了一個問題來處理解析RDF語法,所以我認爲Rob的答案更有用。 – 2011-02-28 16:06:38
RobV沒有看數據,但寫了一個關於什麼可能工作的快速推測性答案,以防應用。這是一件好事,但在這種情況下,我實際上查看了數據並知道這不是重複問題。所以Rob的回答不可能比我的「更有用」,因爲它在這種情況下根本沒有用。 – 2011-02-28 16:23:35
非常有意義,謝謝!我是SPARQL的新手,但我明白爲什麼我會得到多個結果。我將研究CONSTRUCT語句以及如何正確處理圖結果。 – 2011-02-28 16:26:53