Jena セマンティック Web フレームワーク バージョン 2.6.3 を使用しています。フクロウの推論でモデルを作成し、次のトリプルを追加するコードがあります。
_:bnode-3 rdf:type owl:Restriction .
_:bnode-3 owl:onProperty :offspringOf .
_:bnode-3 owl:someValuesFrom :Person .
_:bnode-3 rdfs:subClassOf :Person .
_:bnode-3
は、たとえば、is aと次のトリプルがアサートされた:joe
場合に含まれる制限クラスであると想定されています。:bob
:Person
:joe :offspringOf :bob .
次に、制限クラスは Person のサブクラスである:joe
ため、同じく person になります。
実際、これは機能します。私が混乱しているのは、この投稿の上部にある 4 つのトリプルだけをアサートした後、インファーサーが Person である空のノードを作成することです。つまり、次のトリプルがモデルに含まれるようになりました。
_:b0 rdf:type :Person
なぜこれを行うのかわかりません。これを理解するための助けをいただければ幸いです。
ありがとう。ケント。