在下面的代码中,我试图理解如何最终获得类表达式,但并没有真正明白这一点。
ShortFormProvider shortFormProvider = new SimpleShortFormProvider();
ManchesterOWLSyntaxEditorParser parser = new ManchesterOWLSyntaxEditorParser(schema.getFactory(), query);
parser.setDefaultOntology(schema.getSchema());
Set<OWLOntology> importsClosure = schema.getSchema().getImportsClosure();
BidirectionalShortFormProvider bidiShortFormProvider = new BidirectionalShortFormProviderAdapter(schema.getSchema().getOWLOntologyManager(),importsClosure, shortFormProvider);
OWLEntityChecker entityChecker = new ShortFormEntityChecker(bidiShortFormProvider);
parser.setOWLEntityChecker(entityChecker);
OWLClassExpression classExpression;
classExpression = parser.parseClassExpression();
我主要依赖于shortformprovider
和bidirectionalshortform
提供商。它们的功能是什么?有人可以帮助我理解这个吗?
答案 0 :(得分:1)
ShortFormProvider
和BidirectionalShortFormProvider
是帮助您处理URI缩写(shotforms)的对象。例如http://www.example.org/Cat
以Cat
为缩写形式。这些缩写对于在不使用URI前缀的情况下以紧凑的方式表达OWL表达式很有用。
根据文件:
<强> ShortFormProvider:强> 简短表单提供程序生成实体的呈现。这些渲染是字符串,通常可用于显示和序列化目的。给定实体仅为给定的短格式提供者提供一个简短形式。但是,对于给定的短格式提供者,简短形式可以映射到多个实体。换句话说,对于给定的短格式提供者,从实体到短格式的映射是有效的,但不是反函数,即内射映射。
<强> BidirectionalShortFormProvider:强> 一种简短的表单提供程序,能够在实体及其简短表单之间来回转换。