本体:个体的推断超类

Ontologies: Inferred superclass of individual

我正在使用 Protege 4.3(也试过 5-beta)和以下简单的 ontology:

Class: Person


Class: Man

    SubClassOf: 
        Person


Individual: John

    Types: 
        Man

接下来,我启动 Reasoner Hermit 1.3.8,但未将 John 推断为一个人。此外,以下 SPARQL 没有 return 任何内容:

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

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

有什么我理解错误的建议吗?

关于 subclass Man 到 superclass Person 的 "missing" 推断:

Protégé 不会在其超级class 中显示子class 的个体,即使推理器处于活动状态。但是,正如您已经看到的那样,推理是有效的。以下两个例子都是 return John 作为 class Person:

的个体

SPARQL + Reasoner(Snap SPARQL 插件 4.2.0 + HermiT 1.3.8.413)

PREFIX this: <urn:absolute:test#>

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

DL-Query + Reasoner(DL-Query 4.0.1 + HermiT 1.3.8.413)

Person

另一种使其显而易见的方法是导出带有所有推断公理的 ontology ("File" -> "Export inferred axioms as ontology...")。结果 ontology 包含 John 的两个 class 断言,一个是 Man,一个是 Person .

我假设在处理可能包含许多人的更大的本体时,此行为可以使 GUI 可用。从 Protégé 5.1.0 开始,似乎没有办法改变这种行为。