2011-01-12 69 views
1

我正在使用Jena語義Web框架版本2.6.3。我有一個創建與貓頭鷹推理模型,然後代碼添加以下三元組: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如果:bob:Person及以下三重分別爲斷言:

:joe :offspringOf :bob . 

然後,由於限制類是Person的子類,:joe也將是一個人。

而且,事實上,這是有效的。我感到困惑的是,在我剛剛在這篇文章的頂部聲明瞭四個三元組之後,推理器創建了一個空白節點,它是一個Person。換句話說,以下三元組現在在型號中:

_:b0 rdf:type :Person 

我不明白爲什麼它會這樣做。任何幫助理解這將不勝感激。

謝謝。 肯特。

回答

0

我不確定爲什麼推理者會這樣做,因爲我不是OWL專家 - 你有沒有試過在jena-users列表上詢問你的問題?

他們通常會很快回答你,他們應該知道你爲什麼會得到觀察到的行爲。

注意

我重新格式化你的問題是你的代碼樣品有點混亂 - 請不要寫出來三同爲[ex:subject ex:predicate ex:object],因爲它看起來有點像在烏龜/ N3/SPARQL一些語法糖,這將導致正在創建的附加空白節點超出您的預期範圍