2015-07-19 56 views
3

我使用的Protege 4.3推斷超(也嘗試了5-β),具有以下簡單的本體論:本體:個人

Class: Person 


Class: Man 

    SubClassOf: 
     Person 


Individual: John 

    Types: 
     Man 

接下來,我開始推理機山人1.3.8,但約翰是不是推斷爲一個人。此外,以下SPARQL不返回任何內容:

PREFIX this: <http://www.semanticweb.org/ontologies/2015/6/untitled-ontology-18#> 

SELECT ?subject 
    WHERE { ?subject a this:Person } 

您對我的理解錯誤有什麼建議嗎?

+1

好的,至於SPARQL查詢,似乎Protege沒有使用使用推理器的SPARQL實現([source](http://stackoverflow.com/questions/12090299/sparql-query-results在 - 保護 - 不承認 - 傳遞 - 財產))。使用例如耶拿應該解決這個問題。但第一個問題仍然存在。 – user2084865

+1

使用Protege 5和_Snap SPARQL插件也解決了第二個問題。 – user2084865

回答

2

關於子的「失蹤」的推理進行超

門徒新不顯示的子類的個人在他們的父,即使推理是有效的。然而,正如你已經看到的那樣,推論是有效的。下面的兩個例子都返回約翰類的個別人

SPARQL +推理機(快SPARQL插件4.2.0 +隱士1.3.8.413)

PREFIX this: <urn:absolute:test#> 

SELECT ?subject 
    WHERE { ?subject a this:Person } 

DL-查詢+裏森納(DL-查詢4.0.1 +隱士1.3.8.413)

Person 

的另一種方式,使其明顯的就是本體與所有推斷公理(「文件」出口 - >「導出推斷公理爲ontolog Y ...「)。由此產生的本體包含約翰,一個和一個兩個類斷言。

我認爲這種行爲可以在使用更大的本體(可能包含許多個體)時保持GUI可用。從Protégé5.1.0開始,似乎沒有辦法改變這種行爲。