owl(web ontology language)是w3c开发的一种网络本体语言,用于对本体进行语义描述。由于owl是针对各方面的需求在daml+0il 的基础上改进而开发的,所以一方面要保持对daml+0il/rdfs的兼容性,另一方面又要保证更加强大的语义表达能力,同时还要保证描述逻辑(dl,description logic)的可判定推理,因此,w3c的设计人员针对各类特征的需求制定了三种相应的owl的子语言,即owl lite、owl dl和owl full,而且各子语言的表达能力递增[5]。
owl lite是表达能力最弱的子语言。它是owl dl的一个子集,但是通过降低owl dl中的公理约束,保证了迅速高效的推理。它支持基数约束,但基数值只能为0或l。因为owl lite表达能力较弱,为其开发支持工具要比其他两个子语言容易一些。owl lite用于提供给那些仅需要一个分类层次和简单约束的用户[6,7]。
owl dl(description logic,描述逻辑)将可判定推理能力和较强表达能力作为首要目标,而忽略了对rdfs的兼容性。owl dl包括了owl语言的所有语言成分,但使用时必须符合一定的约束,受到一定的限制。owl dl提供了描述逻辑的推理功能,描述逻辑是owl的形式化基础。
owl full包含owl的全部语言成分并取消了owl dl中的限制,它将rdfs扩展为一个完备的本体语言,支持那些不需要可计算性保证(no computational guarantees)但需要最强表达能力和完全自由的rdfs用户[6]。在owl full中,一个类可以看成是个体的集合,也可以看成是一个个体。由于owl full取消了基数限制中对可传递性质的约束,因此不能保证可判定推理。
owl是一个非冗余的蛋白质序列数据库,是由leeds大学和warrington的daresbury实验室合作开发的(bleasby等,1994)。owl数据库由四个主要的一级序列数据库复合而成,即swiss-prot、pir、genbank(由其编码序列翻译而成的氨基酸序列)和nrl-3d。在构建owl数据库的过程中,考虑到每个数据库所包含序列信息的情况,赋予它们不同的优先级,swiss-prot数据库的优先级最高。在对数据的处理上,不仅删除与某一序列完全相同的序列条目,也剔除与某一序列相差个别氨基酸残基的序列条目。因此,owl数据库是一个具有较小冗余度的蛋白质序列数据库。尽管如此,与nrdb相同,owl数据库也会有一些错误,即在该数据库中仍然包括来自一次数据库的错误序列,例如由genbank中错误序列翻译而得的错误的氨基酸序列。此外,owl数据库更新较慢。英国的embnet国家节点上提供有针对于owl的blast搜索服务。