2016-06-09 130 views
0

我正在處理需要設計以從其中一個工作簿更新predicate @ master的需求。因此,我在以下邏輯中添加了一個用於用戶調用的非活動塊行動。在loqiql中從工作簿更新謂詞從工作簿

+ predicate2 @ master [x,y] = flag < - predicate1 @ prev [x,y] = flag,flag = true。

請注意,在複製到主副本中的謂詞2後,我需要從謂詞1中刪除事實。

當這個邏輯被編譯時,我得到下面的錯誤。

block block_4SZVZ9DO:line 24:error:'predicate2 @ master'的stage'master'比run-stage'INITIAL'更早;不允許導出過去階段的事實(代碼:STAGE_PAST) + predicate2 @ master [x,y] =標記

請幫助您使用工作簿更新Master中的謂詞。

感謝, Senthilvel

回答

1

的問題是,更新謂詞@分支邏輯,必須在該分支被執行。對於你的邏輯,你需要在主控上執行它。看來你正在執行工作簿上的邏輯,而不是主人,對嗎?

我認爲一個更大的問題是,是否需要編寫這個邏輯。我們用於從工作簿更新主機的機制是通過工作簿框架提供的「提交」服務調用。你嘗試過使用它嗎?或者它不能滿足你的需求?

+0

是的,這個邏輯在工作簿中。我沒有嘗試使用「提交」服務電話,因爲我們的要求沒有什麼不同。只有當用戶執行「導出」操作時,我們才需要更新此特定的謂詞。 要求:用戶可以將少量度量從工作簿導出到其他出站系統。 設計:1.創建protobuf服務以將度量導出到json – Senthilvel

+0

是的,這個邏輯在工作簿中。我沒有嘗試使用「提交」服務電話,因爲我們的要求沒有什麼不同。只有當用戶執行「導出」操作時,我們才需要更新此特定謂詞,並且在此操作期間我們不必更新任何其他謂詞。 情景: - 用戶在工作簿中,並決定通過選擇幾行來將數據導出到下游系統。在出口行動後,我們正試圖將「選擇」複製到主人。一旦它在主服務器中可用,我們將運行腳本以從主服務器中提取謂詞併發出web客戶端調用以獲取json輸出。 – Senthilvel

+0

Shan - 感謝您的回覆。 – Senthilvel