簡體   English   中英

使用屬性鏈在OWL本體(Protege)中獲取推斷知識

[英]Using Property Chains to get inferred Knowledge in an OWL Ontology(Protege)

我在我的Ontology中建模了以下內容:

俱樂部雇用一些玩家,玩家擁有國籍一些國籍,玩家擁有國家地位值National_Player,國家相當於國籍。

我希望Ontology推斷:

如果一個玩家擁有一些國籍,而玩家擁有國家狀態值National_Player那么,國家(與玩家擁有的國籍相同)雇用玩家。

舉個例子:

{Steven_Gerrard}具有國家價值英格蘭和{Steven_Gerrard}具有NationalStatus值National_Player因此,{England}雇用[Steven_Gerrard}。

有沒有可能的方法將這些知識添加到Protege?

謝謝。

編輯:

錯誤消息:

錯誤42登錄於2014年4月1日星期二20:49:24 BST

OWLReasonerRuntimeException:非簡單對象屬性' http://www.semanticweb.org/u1cjd/ontologies/2014/1/untitled-ontology-2#employs '用作簡單對象

錯誤43登錄於星期二四月01 20:49:24 BST 2014 ReasonerInternalException:tRole.cpp:243:斷言'Ancestor.empty()&& Descendant.empty()'失敗

這是可能的,它實際上非常類似於我在回答您之前的問題時提到的技術, 將知識語句添加到Protege中的OWL本體論 ,並且這個答案的結構幾乎與我對最近答案的答案相同.semanticweb.com問題, 來自空白節點的OWL屬性推斷 - 建模

你只需要使用一些rolification和一個屬性鏈公理。 需要注意的是,現有數據具有上箭頭的形式,所需信息位於下箭頭中。

diagrm

雇員提供子屬性hasNationality -1是不夠的,因為你想確保玩家具有特定的國家身份。 這是您需要滾動的地方。 您希望雇員擁有hasNationality -1 •p的子屬性鏈,其中p是一個特殊屬性,僅將具有國家身份的玩家與自己聯系起來。 你可以通過rol化來做到這一點。 只需聲明一個新的對象屬性R NationalPlayers並斷言公理

  1. hasNationalStatus National_Player EquivalentTo R_NationalPlayer some self
  2. (hasNationality) o R_NationalPlayer subPropertyOf使用

在描述邏輯語法中,這些類似於:

  1. = hasNationalStatus.National_Player≡∃RNationalPlayer。
  2. hasNationality -1•R NationalPlayer⊑采用

這將在一些推理者中起作用,但不幸的是,這確實將我們從OWL 2 DL中帶出並進入OWL。 這個答案的評論中對此進行了詳細討論。 正如更新的問題中的錯誤消息所示, 使用現在是非簡單屬性,並且在僅應使用簡單屬性的地方使用。 有關使屬性簡單與否的更多信息,請參見11.1屬性層次結構和簡單對象屬性表達式 .11.2有關屬性的更多信息可以出現在Axiom Closure上的限制

但是,聽起來你正在使用支持SWRL規則的推理器,在這種情況下你可以簡單地添加規則:

hasNationality(?player,?country)∧hasNationalStatus(?player,National_Player)→雇用(?country,?player)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM