(1) hasOutput 与 Result.withOutput的区别 前者的range为Output。用于声明process的输出。(类似于定义 函数型构 中的 返回值)。 后者的range为OutputBinding,用于为Process中的Output指定值的来源(来自sub-process的Perform、TheParentPerform或ThisPerform)。(类似于在函数体内,用return定义返回值的取值。) (2) ResultVar, Local 与 swrlx:Variable的区别 ResultVar: scope为 特定的Result,在该Result的Condition中绑定,可在该Result的Effect和OutputBinding中被引用。 Local : scope为整个Process,在该Process的PreCondition中绑定,可在该Process的 Result和Effect中被引用。 后者的scope为condition。仅能在condition内的其他Atom内引用。 (3) 一个Process的Input参数通常在其 TheParentPerform (即process属性的值为本Process的Perform) 中,通过hasDataFrom属性(range Binding)来指定,其值一般来自于父process或兄弟process。 一个Process的Output参数的指定通常是:在他本身的Result中,通过withOutput( range OutputBinding ) 关联到 对某个sub-process的Perform 所产生的Output ( 或以之为参数的函数,该函数的语义 is outside OWL-S )(见上)。 (类似于 用其他函数的返回值(进行一定运算后) 作为本函数的返回值 ) (4) Perform的作用: * 指定具体执行的 Process * 指定Process的 输入参数值 (5)Result的作用(在inCondition成立的条件下): * 为Process指定 输出参数值。 * 描述Process执行后的 效果。