如何在本体中执行存在量词推理?推理机适配与算法疑问
存在量词推理的本体推理问题
我尝试在本体中计算存在量词推理,示例本体如下:
Politician(Albert) Politician(Bob) related(Albert, Bob)
期望得到的推理结果为:
∃ related.Politician
我已经在OWLAPI应用中使用ELK、HermiT推理机进行尝试,也通过Protégé工具测试过,但这些推理机似乎都无法完成这类推理计算。以下是我使用的代码片段:
/** * Compute the ontology along with the inferred consequences * @throws OWLOntologyCreationException */ public void computeInferredOntology() throws OWLOntologyCreationException { logger.info("Computing inferences..."); reasoner.precomputeInferences(); logger.info("Creating axiom generators list..."); // To generate an inferred ontology we use implementations of inferred axiom generators List<InferredAxiomGenerator<? extends OWLAxiom>> generators = new ArrayList<InferredAxiomGenerator<? extends OWLAxiom>>(); generators.add(new InferredClassAssertionAxiomGenerator()); generators.add(new InferredSubClassAxiomGenerator()); generators.add(new InferredEquivalentClassAxiomGenerator()); generators.add(new InferredEquivalentDataPropertiesAxiomGenerator()); generators.add(new InferredEquivalentObjectPropertyAxiomGenerator()); generators.add(new InferredDataPropertyCharacteristicAxiomGenerator()); generators.add(new InferredSubDataPropertyAxiomGenerator()); generators.add(new InferredSubObjectPropertyAxiomGenerator()); // generators.add(new InferredDisjointClassesAxiomGenerator()); // generators.add(new InferredPropertyAssertionGenerator()); logger.info("Generating inferred ontology..."); // Put the inferred axioms into a fresh empty ontology. inferredOntology = ontologyManager.createOntology(); ontologyManager.addAxioms(inferredOntology, ontology.getAxioms()); InferredOntologyGenerator inferredOntologyGenerator = new InferredOntologyGenerator(reasoner, generators); inferredOntologyGenerator.fillOntology(ontologyManager.getOWLDataFactory(), inferredOntology); }
我想知道:
- 有没有可以处理此类存在量词推理的推理机?
- 这是否是OWL推理算法中的已知问题?
内容的提问来源于stack exchange,提问作者Davy Souza
相关产品推荐
相关产品推荐

