我正在处理使用 Protégé 生成的 OWL 文件。我在我的 Java 代码中使用 OWL API。我有一组定义的类,例如:
SpeciesA ⊑ Species ⊓ ∃hasPart.Fruit ⊓ =hasShape.round SpeciesA
是子类 Species,hasPart 一些 Fruit,hasShape 值为 Round。
这一切都在 Protégé 中定义,然后导出到 OWL,然后加载到我的 Java 本体中。如果我创建一个物种的个体 x 并且我拥有这些属性
- hasPart(x,FruitA)
- 有形状(x,圆形)
我检索我的个人所属的每个类(在这种情况下,这应该包括 SpeciesA)。
我完全不确定我应该使用什么:我可以使用 SWRL Species(?x)^hasPart(?x,Fruit)^hasShape(?x,"$Round$") 还是应该使用 Reasoner ?
我真的对Protégé“等同于”和个人财产感到困惑。