Dan*_*nny 2 semantic-web owl description-logic
我有一个具有以下等价的 OWL 类(采用曼彻斯特表示法):
A
and not (hasB some
(B
and (hasC some C)
and (hasD some D)
and (hasList some
(OWLList
and (hasContents some
(OWLList
and (hasContents some
(E
and (hasValue some integer[< 200])
and (hasType value "xsd:integer"^^string)))
and (hasNext some EmptyList)))
and (hasNext some EmptyList)))))
我希望对此类强制执行封闭世界推理,以便任何不满足语句后剩余条件的个人都not
将成为此类的成员。
为此,我尝试使hasC
,hasD
和hasList
属性具有功能性,以便 OWL 知道不可能有这些属性的其他实例附加到此类。
不幸的是,该hasB
属性可能会多次出现,因此无法对其进行限制。为了尝试“关闭”班级的这一部分,我oneOf
在班级中添加了一条声明B
,指定班级可以接受的所有可能的个人B
。
在我看来,函数属性和oneOf
语句的这种组合应该成功“关闭”该类。谁能告诉我我做错了什么?
我正在使用http://owl-workshop.man.ac.uk/acceptedLong/submission_12.pdf提出的 OWLList 类和相关属性。
非常感谢。
Stardog有一个称为完整性约束验证的功能,它为 OWL 添加了封闭世界解释,以便能够将其用作验证语言。您可以在详细的语义分解中阅读有关如何完成此操作的更多信息。
我不确定验证部分是否是您想要的,但如果是的话,您可以立即使用 Stardog ICV。如果没有,语义可能会指导您如何准确地实现您所需要的内容。