OWL提供了三种表达能力递增的子语言,以分别用于特定的实现者和用户团体。
· OWL Lite用于提供给那些只需要一个分类层次和简单约束的用户。例如,虽然OWL Lite支持基数限制,但只允许基数为0或1。提供支持OWL Lite的工具应该比支持表达能力更强的其他OWL语言更简单,并且从辞典(thesauri)和分类系统(taxonomy)转换到OWL Lite更为迅速。
· OWL DL 支持那些需要最强表达能力的推理系统的用户,且这个推理系统能够保证计算的完全性(computational completeness,即所有的结论都能够保证被计算出来)和可判定性(decidability,即所有的计算都在有限的时间内完成)。它包括了OWL语言的所有成分,但有一定的限制,如类型的分离(一个类不能同时是一个个体或属性,一个属性不能同时是一个个体或类)。OWL DL 这么命名是因为它对应于[描述逻辑],这是一个研究一阶逻辑的一个特定可判定片断的领域。OWL DL旨在支持已有的描述逻辑商业处理(business segment)和具有良好计算性质的推理系统。
· OWL Full 支持那些需要尽管没有可计算性保证,但有最强的表达能力和完全自由的RDF语法的用户。例如,在OWL Full中,一个类可以被同时看为许多个体的一个集合以及本身作为一个个体。另外一个和OWL DL的重要区别是owl:DatatypeProperty(数据类型属性)能作为一个owl:InverseFunctionalProperty(逆函数型属性)。OWL full允许一个本体增加预定义的(RDF、OWL)词汇的含义。这样,不太可能有推理软件能支持对OWL FULL的所有成分的完全推理。
在表达能力和推理能力上,每个子语言都是前面的语言的扩展。这三种子语言之间有如下关系成立,但这些关系反过来并不成立。
· 每个合法的OWL Lite本体都是一个合法的OWL DL本体;
· 每个合法的OWL DL本体都是一个合法的OWL Full本体;
· 每个有效的OWL Lite结论都是一个有效的OWL DL结论;
· 每个有效的OWL DL结论都是一个有效的OWL Full结论。
使用OWL的本体开发者要考虑哪种语言最符合他们的需求。选择OWL Lite还是OWL DL主要取决于用户在多大程度上需要OWL DL提供的表达能力更强的成分。OWL Lite的推理机会有良好的计算性质。而OWL DL的推理机处理的尽管是一个可判定的子语言,会有更高的最坏情况复杂度。选择OWL DL还是OWL Full主要取决于用户在多大程度上需要RDF的元模型机制(如定义关于类的类);使用OWL Full相比于OWL DL,对推理的支持是更难预测的。关于此问题的更多信息参考OWL语义文档。
用户在把RDF文档转换到OWL DL或OWL Lite文档时必须谨慎,以保证原来的RDF文档是否满足 OWL DL 或OWL Lite对RDF的一些附加的限制。这些限制在文档OWL参考的附录E中有详细的解释。
当我们介绍只在 OWL DL或 OWL Full中允许的构词(construct)时,他们被标记为"[OWL DL]"。