2011-01-12 16 views
1

私はJenaセマンティックWebフレームワークのバージョン2.6.3を使用しています。私はフクロウの推論でモデルを作成し、以下のトリプルを追加するコードしている::bob:Personで、以下のトリプルがあった場合OWLの推論の質問

_:bnode-3 rdf:type   owl:Restriction . 

_:bnode-3 owl:onProperty  :offspringOf . 

_:bnode-3 owl:someValuesFrom :Person . 

_:bnode-3 rdfs:subClassOf  :Person . 

_:bnode-3は、例えば、:joeを含んでいるでしょう、制限クラスことになっていますアサート:

:joe :offspringOf :bob . 

を次に、制限クラスは人のサブクラスであることから、:joeも人になります。

実際、これは機能します。私にとって混乱しているのは、このポストの先頭に4つのトリプルだけをアサートした後、推論者はPersonである空のノードを作成するということです。言い換えれば、以下のトリプルがモデルに追加されました:

_:b0 rdf:type :Person 

私はこれを行う理由を理解していません。これを理解する助けとなることは大いに感謝しています。

ありがとうございました。ケント。 。

答えて

0

私はOWLの専門家ではないため、推論者がこれを行う理由はわかりません - jena-usersのリストで質問をしてみましたか?

彼らは通常あなたにかなり素早く応答し、観察された動作を得る理由を知っておく必要があります。それがもたらすであろうタートル/ N3/SPARQLでいくつかのシンタックスシュガーのようにではなくなりますので、[ex:subject ex:predicate ex:object]としてトリプルを書き出すないでください - あなたのコードサンプルはやや混乱したとして

私はあなたの質問を再フォーマット追加のブランクノードが意図したものを超えて作成される