2016-09-05 57 views
0

我剛從Protégé和OWL開始。我剛剛創建了一個類hiearchy在門徒一樣:Pellet推理器爲什麼不推斷子類關係?

:A rdf:type owl:Class ; 
    rdfs:subClassOf owl:Thing ; 
    owl:disjointWith :B . 

:B rdf:type owl:Class ; 
    rdfs:subClassOf owl:Thing . 

:C rdf:type owl:Class ; 
    rdfs:subClassOf :A ; 
    owl:disjointWith :D . 

:D rdf:type owl:Class ; 
    rdfs:subClassOf :A . 

:E rdf:type owl:Class ; 
    rdfs:subClassOf :B . 

當我開始沉澱推理我希望它可以推斷,A和B的所有子類也的事情,這不會發生的子類。此外我期望SPARQL查詢SELECT ?subject WHERE { ?subject rdfs:subClassOf owl:Thing}將導致所有類A到B.但查詢只返回A和B.

我做錯了什麼或我只是不正確的我的預期?

+0

你們是否選擇並啓動推理?這些是Protégé的兩種不同的菜單選項。 – Ignazio

+0

SPARQL查詢可能不使用推理器。我不記得是否有任何需要檢查的選項。 – Ignazio

+0

@Ignazio是的,我選擇了Pellet並點擊了開始推理。 – joseCM

回答

1

Protege中有多個SPARQL插件。如果您想使用推理,則可以使用Snap SPARQL Query插件。請注意,這是而不是Protege分發附帶的默認SPARQL插件,但必須明確安裝(通過插件管理器,這非常簡單)。

+0

謝謝!那樣做了! – joseCM

相關問題