本体:个体的推断超类
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 开始,似乎没有办法改变这种行为。
我正在使用 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 开始,似乎没有办法改变这种行为。