我正在尝试构建一个非常简单的本体来代表一个带有protege和owl的RPG游戏。
我对本体论是相当新的,所以我可能并没有真正得到很多东西(例如,我认为是开放世界的假设)。
在这里你可以下载它 - > LINK
有两种类型的单位类别,魔法师和近战战士
魔法师将神秘魔法和神圣魔法分开
法术分为4个学校(唤起,治疗,元素,保护)
奥术魔法魔法师只能使用元素和召唤法术,神圣魔法附魔师只能使用其他两种法术。
单位可以有一个班级
单位,法术和单位等级都是个人。
我想要执行许多查询但不返回任何内容,例如:
canCast一些ArcaneMagicSpell
预期:可以施放奥术法术的单位等级列表
返回:单元类,但我也想要单元(个体)。
canCast值SpellFireball
预期:可以投掷火球的单位类别列表
返回:没什么。
canBeCasted由一些ArcaneMagicClass组成 预期:由奥术法师施放的所有法术 返回::没什么。
canBeCastedBy值UnitClassBlackMage
预期:黑魔法师可以施放的所有法术
返回:没什么。
hasClass some(canCast some Spell) 预期:所有可以施放特定法术的单位 返回:没什么。
我显然在这里做错了但我真的不明白。如何改进我的本体以支持这些查询(或更好的形成查询以获得相同的预期结果)?