我使用官方的DBpedia端點做了SPARQL查詢。SPARQL用他人替換空屬性
我會把它例如用於主要問題:
SELECT ?museum ?EnglishAbstract ?RussianAbstract
WHERE {
?museum dbpedia-owl:abstract ?EnglishAbstract.
?museum a dbpedia-owl:Museum.
filter(lang(?EnglishAbstract)='en')
optional{
?museum dbpedia-owl:abstract ?RussianAbstract.
?museum a dbpedia-owl:Museum.
filter(lang(?RussianAbstract)='ru')
}}
GROUP BY ?museum
與此查詢(即工作好),我找到的每一行(museum
)2種語言一堆摘要:英文俄語。 俄羅斯文摘僅在可用時才存在,因爲我使用「可選」。 顯然我得到了很多空的屬性。
我會用英文摘要替換空白屬性(始終存在)。
閱讀W3C SPARQL頁面,我發現有一個特殊的測試值,這是真的,當一個變量被設置:綁定
我想編寫這樣的事:
If Bound (?RussianAbstract), "?RussianAbstract", "?EnglishAbstract"
- - >如果RussianAbstract
存在,保持它;否則,把EnglishAbstract
而不是它。
有誰知道我該如何使它工作?要做到這一點
您可能會發現[空屬性生成值(http://stackoverflow.com/q/19723721/1281433)是有用的,以及[SPARQL:如何使類標籤顯示爲類的列名稱?](http://stackoverflow.com/q/26114572/1281433),如果其他地址不可用,則實際使用一個值進行地址解析。 –