Protégé を使用して生成された OWL ファイルを使用しています。Java コードで OWL API を使用しています。定義済みのクラスのセットがあります。たとえば、次のとおりです。
SpeciesA ⊑ Species ⊓ ∃hasPart.Fruit ⊓ =hasShape.round
SpeciesA はサブクラスの Species であり、いくつかの Fruit を持ち、Shape 値は Round です。
これはすべて Protégé で定義され、OWL にエクスポートされ、Java のオントロジーに読み込まれます。種の個体 x を作成し、プロパティがあった場合
- hasPart(x,フルーツA)
- hasShape(x,Round)
個人が属するすべてのクラスを取得します (この場合、これには SpeciesA が含まれている必要があります)。
SWRL Species(?x)^hasPart(?x,Fruit)^hasShape(?x,"$Round$") を使用できますか?それとも Reasoner を使用する必要がありますか?
Protégé「と同等」と個人の所有物で本当に混同しています..