2015-06-03 65 views
4

我正在寫一個SPARQL查詢,並無法弄清楚如何允許特定列的空白結果。SPARQL可以處理特定單元格的空白結果嗎?

我現在的要求是:

select * where { 
?game a dbpedia-owl:Game ; 
dbpprop:name ?name ; 
dbpedia-owl:publisher ?publisher . } 

有些遊戲有一隻貓頭鷹的出版商,而有的則沒有。上述請求會過濾掉沒有發佈商的遊戲。我希望能夠通過發佈商和遊戲而無需發佈商就可以在同一個csv中獲得遊戲。

我試圖編寫如果發行商貓頭鷹isset語句,但似乎無法得到正確的空白。

我不想在沒有發佈者的情況下過濾掉遊戲,而是希望發佈者單元格的結果爲空。

有什麼建議嗎?

回答

10

每當您正在查找可能存在和可能不存在的內容時,都可以將該語句的部分放在SPARQL查詢的optional部分中。因此:

select * where { 
    ?game a dbpedia-owl:Game ; 
    dbpprop:name ?name . 
optional{ 
    ?game dbpedia-owl:publisher ?publisher . 
} 
} 

之前可選計數是112和143是

+0

感謝偉大的反應阿蒂米斯後!完美的作品。 – Ryanf

+0

不客氣! – Artemis

相關問題