在SHOIN(D)中,它等同于OWL-DL使用的DL族; 这个表达是否合法:
F ⊑ (≤1 r. D) ⊓ (¬ (=0 r. D))
其中F,D是概念,r是一个角色。我想表达的是,F的每个实例最多只与D到r的一个实例相关,而不是与零实例相关。
一般来说,如何判断某些表达是合法的。河吨。 DL的具体变化?我认为使用变体的BNF语法可能就是我的目标。
答案 0 :(得分:1)
一种简单的方法是检查是否可以在Protege中编写它。 您可以在Protege中编写的大多数内容都是合法的OWL-DL。在Protege中你可以写:
F SubClassOf ((r max 1 D)而不是(r 完全 0 D))< / p>
当然,说某些东西最多只有1个值,而不是一个就完全相同,它说的恰好是1:
F SubClassOf r 完全 1 D
但是你可以在Protege中做一些不合法的OWL-DL。找出这些是什么的更直接的方法是标准,特别是§11 Global Restrictions on Axioms in OWL 2 DL。通常,您可能遇到的唯一问题是尝试使用不允许的复合属性。
如果您不想手动检查,则可以尝试将本体上传到OWL Validator并选择 OWL2 DL配置文件。