在我的本体论中,我有一个工人类,它有一些属性,如名字。 名字是一个功能属性,但我想确保它存在于每个工人个体中。
我在for Worker中添加了相当于part的限制
First_Name some string
仅用于测试我在部分First_Name exactly 1 string
当我添加一个没有名字的新个人时,我不会从推理者(HermiT)那里得到任何错误。
错误是什么,或者我误解了什么?
答案 0 :(得分:2)
这是开放世界推理的乐趣。
某人具有名称
意味着每个人都有一个名字。这并不意味着您必须知道该名称是什么。所以,如果你断言一个人并且不给他们起名字,推理人就不会抱怨。
如果你说
某人has_name(不是名字)
例如,你会收到一个错误。