我们可以更新已经在 xApi 中发送的数据吗
Can we update the data that have been sent already in the xApi
最初我对 xApi 做了一个 post 请求,其中包含一些值(分数) verb.After 成功 api 称它为 returns 令牌。
我的问题我们可以更新相同的值(分数)吗?
如果可以,请告诉我......!!!
通常答案是否定的。 xAPI 语句数据旨在保持不变。但就它是一个数据流而言,它实际上取决于声明消费者来指示值如何根据其目的而改变。所以有几种方法可以实现相同的概念...
1) 根据消费系统的不同,它可能就像发送带有新分数的另一条语句一样简单。一些消费系统会看到新的分数(通常是相同的 Activity、object
、and/or registration
)并将其视为更新。在这种情况下,会有多个表示分数的语句,但根据 timestamp
我们可以知道最后收到的分数是哪个。
2) 另一种更类似于 "update" 或 "edit" 的方式是通过将其作废来指示原始语句本来就不应该存在。作废语句有效地将其从数据流中移除,这样使用系统就不会认为它曾经存在过。作废后,您将发送一个包含更新分数的新语句,并可能保持其他一切不变,尤其是 timestamp
值。重要的是要认识到更简单的系统(例如 #1 中描述的系统)可能无法正确处理排尿情况,因为我们在野外(迄今为止)看到它的使用相对较少。此外,了解 timestamp
和 stored
属性 值之间的细微差别以及消费系统处理数据的顺序也很重要。有关排尿的更多信息,请参阅:https://www.ht2labs.com/void-xapi-statement/
最初我对 xApi 做了一个 post 请求,其中包含一些值(分数) verb.After 成功 api 称它为 returns 令牌。
我的问题我们可以更新相同的值(分数)吗?
通常答案是否定的。 xAPI 语句数据旨在保持不变。但就它是一个数据流而言,它实际上取决于声明消费者来指示值如何根据其目的而改变。所以有几种方法可以实现相同的概念...
1) 根据消费系统的不同,它可能就像发送带有新分数的另一条语句一样简单。一些消费系统会看到新的分数(通常是相同的 Activity、object
、and/or registration
)并将其视为更新。在这种情况下,会有多个表示分数的语句,但根据 timestamp
我们可以知道最后收到的分数是哪个。
2) 另一种更类似于 "update" 或 "edit" 的方式是通过将其作废来指示原始语句本来就不应该存在。作废语句有效地将其从数据流中移除,这样使用系统就不会认为它曾经存在过。作废后,您将发送一个包含更新分数的新语句,并可能保持其他一切不变,尤其是 timestamp
值。重要的是要认识到更简单的系统(例如 #1 中描述的系统)可能无法正确处理排尿情况,因为我们在野外(迄今为止)看到它的使用相对较少。此外,了解 timestamp
和 stored
属性 值之间的细微差别以及消费系统处理数据的顺序也很重要。有关排尿的更多信息,请参阅:https://www.ht2labs.com/void-xapi-statement/