2016-06-09 81 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