数据提供型Web服务组合与参与式企业建模
数据提供型Web服务组合
在数据提供型Web服务组合中,查询重写是一个重要的环节。对于一个查询Q,可能会产生多个重写结果。一个有效的重写需要满足以下条件:提供所需的输出,其骨干结构与查询骨干精确匹配,并且其输入满足查询约束列表。
在组合执行阶段,之前的算法会生成一定数量的查询重写(即数据提供(DP)服务组合集)。这些组合编码了组合服务的调用顺序。在执行这些组合之前,会应用一个额外的算法(因篇幅限制未详细介绍)来叠加这些组合(如果可能的话),目的是避免在多个组合中重复调用相同的服务。例如,原本需要调用WS4两次,现在只需调用一次,然后使用获得的结果来调用WS1和WS2。
在系统中,每次服务调用的结果会自动转换为OWL实例(在此过程中会使用Skolem函数),然后再用于调用后续服务或发送给请求者。这有助于合并和聚合来自不同服务的结果,并能基于语义推理器检测数据不一致性(例如,两个具有相同功能属性值(如国家ID)但姓名不同的患者实例可能存在拼写错误)。
对于组合服务之间的数据流,通常可以应用以下三种语义运算符:
- 语义并集(WSi ∪ WSj) :用于语义组合服务WSi和WSj的输出(OWL实例)。结果包括WSi和WSj提供的不相交实例,以及两者提供的语义等效实例(仅包含一次)。例如,假设有一个与WS4等效的服务WS ,在调用后续服务之前,需要使用并集运算符将WS 和WS4的结果合并。
- 语义交集(WSi ∩ WSj) :用于返回WSi和WSj提供的语义等效实例。
- 语义差集
超级会员免费看
订阅专栏 解锁全文
2998

被折叠的 条评论
为什么被折叠?



