使用OWL API生成DL表达式

时间:2019-04-26 06:52:56

标签: java owl-api description-logic

我需要从OWL API中的OWLObject生成DL表达式。目前,我正在使用DLSyntaxObjectRenderer,例如:

DLSyntaxObjectRenderer obj = new DLSyntaxObjectRenderer();

问题在于所生成的DL表达式仅包含资源的标签(例如Awning ⊔ Door ⊔ Gate ⊔ Shutter ⊔ Window)。尽管这些是语法上有效的DL表达式,但出于实现的目的,我需要原子实体的IRI,以便可以在不必加载整个本体之后使用OWL API加载该表达式。

如何实现?

1 个答案:

答案 0 :(得分:0)

Purchases确定实体的呈现。它具有多种实现方式,例如ShortFormProviderManchesterOWLSyntaxPrefixNameShortFormProviderQNameShortFormProvider。例如,以下代码使用SimpleShortFormProvider,并使用实体的IRI渲染DL表达式,

DLSyntaxObjectRenderer

要呈现表达式obj = new DLSyntaxObjectRenderer(); ShortFormProvider shortFormProvider = new ShortFormProvider() { @Override public String getShortForm(OWLEntity owlEntity) { return owlEntity.getIRI().getIRIString(); } }; obj.setShortFormProvider(shortFormProvider); ,只需使用exp