我在 Protégé 中对传递角色进行推理时遇到问题。
我创建了一个简单的本体,上面写着:
“任何杆都是某些引擎的一部分。”
“任何引擎都是汽车的一部分。”
“PartOf 关系是传递的。”
我希望 Protégé 在 DL 度量中将这个 DL 识别为 S,并推断“任何杆都是某些汽车的一部分”,但它似乎只是忽略了传递性公理。问题是为什么。
(我使用了不同版本的 Protégé(4.3 和 5.0)和不同的推理器。我怀疑我没有设置一些重要的复选框选项。)
我附上我的本体:
<?xml version="1.0"?>
<!DOCTYPE Ontology [
<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
<!ENTITY xml "http://www.w3.org/XML/1998/namespace" >
<!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
]>
<Ontology xmlns="http://www.w3.org/2002/07/owl#"
xml:base="http://www.semanticweb.org/ирина/ontologies/2015/2/untitled-ontology-9"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
ontologyIRI="http://www.semanticweb.org/ирина/ontologies/2015/2/untitled-ontology-9">
<Prefix name="rdf" IRI="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
<Prefix name="rdfs" IRI="http://www.w3.org/2000/01/rdf-schema#"/>
<Prefix name="xsd" IRI="http://www.w3.org/2001/XMLSchema#"/>
<Prefix name="owl" IRI="http://www.w3.org/2002/07/owl#"/>
<Declaration>
<Class IRI="#Car"/>
</Declaration>
<Declaration>
<Class IRI="#Engine"/>
</Declaration>
<Declaration>
<Class IRI="#Rod"/>
</Declaration>
<Declaration>
<ObjectProperty IRI="#isPartOf"/>
</Declaration>
<SubClassOf>
<Class IRI="#Engine"/>
<ObjectSomeValuesFrom>
<ObjectProperty IRI="#isPartOf"/>
<Class IRI="#Car"/>
</ObjectSomeValuesFrom>
</SubClassOf>
<SubClassOf>
<Class IRI="#Rod"/>
<ObjectSomeValuesFrom>
<ObjectProperty IRI="#isPartOf"/>
<Class IRI="#Engine"/>
</ObjectSomeValuesFrom>
</SubClassOf>
<TransitiveObjectProperty>
<ObjectProperty IRI="#isPartOf"/>
</TransitiveObjectProperty>
</Ontology>
<!-- Generated by the OWL API (version 3.5.0) http://owlapi.sourceforge.net -->