I have attached the execution plan and the input stream.

The regex used to read from file adaptor,

*state:(\S+)\.*

Thank you
Regards

*Supun Rasitha Muthutantrige*
Software Engineer | Intern
WSO2 Inc: http://wso2.com
lean.enterprise.middleware
Mobile: 0758374608
<?xml version="1.0" encoding="UTF-8"?>
<executionPlan name="ExePlan_MarkovModel" statistics="enable"
  trace="enable" xmlns="http://wso2.org/carbon/eventprocessor";>
  <description>Execution plan for building the markov mocdel</description>
  <siddhiConfiguration>
    <property 
name="siddhi.persistence.snapshot.time.interval.minutes">0</property>
    <property name="siddhi.enable.distributed.processing">false</property>
  </siddhiConfiguration>
  <importedStreams>
    <stream as="inStream" name="MarkovModel_inStream" version="1.0.0"/>
  </importedStreams>
  <queryExpressions><![CDATA[
define table MarkovModel (State_Transition string, Initial_state string, countP 
double) from ('datasource.name'='FD_ToolBox_DB', 'database.name'='FDtoolbox', 
'table.name'='MarkovModel');
define table MarkovModelAll (state string, countA double) from 
('datasource.name'='FD_ToolBox_DB', 'database.name'='FDtoolbox', 
'table.name'='MarkovModelAllCount');

from every a = inStream -> b = inStream
select a.Event as initialState, b.Event as transState, concat(a.Event,b.Event) 
as StateTransition
insert into forCalculation;

from forCalculation[((StateTransition!=MarkovModel.State_Transition) in 
MarkovModel)]
select StateTransition, initialState, 1.0 as stateTrans_count
insert into insertIntoModel;


from forCalculation[((StateTransition==MarkovModel.State_Transition) in 
MarkovModel)]#window.length(1) join MarkovModel
on forCalculation.StateTransition == MarkovModel.State_Transition
select StateTransition, initialState, (MarkovModel.countP+1) as 
updatedState_count
insert into updateModel;

//from forCalculation#window.length(1) join MarkovModel
//on forCalculation.initialState == MarkovModel.Initial_state

from forCalculation join MarkovModel
on forCalculation.initialState == MarkovModel.Initial_state
select initialState as Event, sum(MarkovModel.countP) as totalCount
group by forCalculation.initialState
insert into ckStream;

//from forCalculation join MarkovModel
//on forCalculation.initialState == MarkovModel.Initial_state
//select initialState as Event, sum(MarkovModel.countP) as totalCount
//group by MarkovModel.Initial_state
//insert into ckStream;

//from inStream
//select Event, count(Event) as totalCount
//group by Event
//insert into ckStream;


from updateModel join MarkovModelAll
on updateModel.initialState == MarkovModelAll.state 
select StateTransition, initialState, 
(updatedState_count/MarkovModelAll.countA) as prob
insert into probStream;

//from ckStream#window.length(1) join MarkovModel
//on ckStream.Event == MarkovModel.Initial_state
//select MarkovModel.State_Transition as StateTransition, 
MarkovModel.Initial_state as initialState, 
(MarkovModel.countP/convert(ckStream.totalCount,double)) as prob
//insert into probCheck;


]]></queryExpressions>
  <exportedStreams>
    <stream name="insertIntoModel" valueOf="insertIntoModel" version="1.0.0"/>
    <stream name="updateModel" valueOf="updateModel" version="1.0.0"/>
    <stream name="ckStream" valueOf="ckStream" version="1.0.0"/>
    <stream name="probStream" valueOf="probStream" version="1.0.0"/>
  </exportedStreams>
</executionPlan>
                                    
state:HTS.
state:HFS.
state:HTM.
state:HTS.
state:HTL.
state:HFS.
state:MTS.
state:HTS.
state:HTL.
state:MFM.
state:HTS.
state:HFS.



_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to