2016-09-05 11 views
0

私はProtégéとOWLから始めています。私はそれがAとBのすべてのサブクラスが起こらない事、のサブクラスでもあることを推論するために、私は期待ペレット推論を開始すると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 . 

:私はちょうど同じよう門徒でクラスhiearchyを作成しました。また、私はSPARQLクエリSELECT ?subject WHERE { ?subject rdfs:subClassOf owl:Thing}がすべてのクラスAからBになることを期待しました。しかし、クエリはAとBを返します。

私は何か間違っていると思いますか?

+0

リスナーを選択して起動しましたか?これらは、Protégéの2つの異なるメニューオプションです。 – Ignazio

+0

SPARQLクエリがreasonerを使用していない可能性があります。私はチェックする必要があるオプションがあるかどうかは思い出せません。 – Ignazio

+0

@Ignazioはい、ペレットを選択して開始推論をクリックしました。 – joseCM

答えて

1

Protegeには複数のSPARQLプラグインがあります。推論を使用する場合は、スナップSPARQLクエリプラグインを使用する方法です。これはであり、ではなく、Protegeディストリビューションに付属するデフォルトのSPARQLプラグインですが、明示的にインストールする必要があることに注意してください(これはプラグインマネージャー経由で非常に簡単です)。

+0

ありがとうございました!それはそれをした! – joseCM

関連する問題