我想要做的是,拥有一个特定的本体,创建一个新类并使其成为类的每个实例都具有特定值的属性。我的想法是,例如,如果我有类MoviesOf1994
和数据属性productionYear
,我可以使MoviesOf1994
成为productionYear value 1994
的子类,并从推断出来知识MoviesOf1994
的每个成员都将获得一个值为1994的数据属性productionYear
。有没有办法实现这个目标?
答案 0 :(得分:0)
是的,但不是你想的那个词。 OWL中的继承不像您在传统的面向对象语言中习惯那样工作。
假设您已创建一个类class MyFunctionDAO @Inject() (db: DB) {
def collection: JSONCollection = db.collection[JSONCollection]("myCollection")
def save(myObject: MyObject): Future[Either[String, UUID]] = {
collection.insert(myObject).map {
case result if result.ok == true => Right(myObject._id)
case result => Left(result.message)
}
}
}
作为MoviesOf1994
的子类。由于开放世界的假设,如果您创建类型为productionYear value 1994
的个人,则不会向其添加数据表格MoviesOf1994
。但是,如果您创建了一个人并为其提供了属性productionYear 1994
,则推断它是类productionYear 1994
的一部分
要做你想问的事情,你需要能够明确说明没有属性MoviesOf1994
的任何东西都不是productionYear 1994
,这是一项非常困难的任务(我想不可能,但我可能是错的。)
希望这有帮助。