gpt4 book ai didi

java - 超能力规则语言: context nesting

转载 作者:行者123 更新时间:2023-12-01 10:01:54 25 4
gpt4 key购买 nike

我有以下两个类(class)带字段的心率:

int heartrate;
String heartratesTimestamp;
String macAddress;

以及带有字段的步骤:

int steps;
String stepsTimestamp;
String macAddress;

我编写的规则在最后 1 分钟内步数超过 100 且心率高于 160 时触发。

EPStatement cepStatementRule7 = cepRule.createEPL("context PartitionByMac select * from "
+ "Steps.win:time(1 min) S, HeartRate.win:time(1 min) H "
+ "having (max(S.steps)-min(S.steps) > 100) and (H.heartrate > 160)");
cepStatementRule7.addListener(new rule7Listener());

我想更改此规则,使其基于 macAddress 的上下文。这样规则只考虑具有相同macAddress的步数和心率。我为步骤的 macAddress 编写了一条上下文规则,为心率的 macAddress 编写了一条上下文规则。它们都单独工作,但当我尝试嵌套它们时,规则将不再触发。

cepRule.createEPL("create context PartitionByMac 
context PartitionByMacSteps partition by macAddress from Steps,
context PartitionByMacHeartRate partition by macAddress from HeartRate");

我做错了什么?

最佳答案

你想要的是

create context PartitionByMac 
partition by macAddress from Steps, macAddress from HeartRate;

这可确保相同的 macaddress 值位于同一分区中,用于分析步数和心率事件。

嵌套上下文的行为有所不同。

关于java - 超能力规则语言: context nesting,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36746387/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com