2012-06-18 38 views
1

我是SPARQL的新手,因此會對此有所幫助。SPARQL從第二個查詢返回記錄ONLY如果第一個查詢執行的記錄集中沒有記錄

我有兩個查詢運行。該人從一個來源返回記錄。但是,在第一種情況下沒有記錄返回的情況下,我想從第二個查詢返回記錄。

在SQL Server中,我可能會做一些像

SELECT FIRSTAME, LASTNAME, DOB, CLASS 
FROM TABLENAME 
    WHERE CLASS ="FIRSTCLASS" 

IF @@ROWCOUNT = 0 

    SELECT FIRSTAME, LASTNAME, DOB, CLASS 
FROM TABLENAME 
    WHERE CLASS ="SECONDCLASS" 

回答

2

爲什麼不直接派遣在應用程序中的兩個查詢? SPARQL中沒有條件邏輯。 SPARQL 1.1確實包含子查詢,但我不確定您是否可以複製所需的子查詢。我建議只使用兩個單獨的查詢,並將業務邏輯保存在代碼中而不是查詢中。

+0

如果一定要一個查詢(事務性原因,例如),那麼你可以添加FILTER(?CLASS = ||?類= ),或使用UNION,而在你的應用程序中應用的邏輯。 –

相關問題