0

在下面的代码中,我试图了解类表达式是如何最终获得的,但并没有真正理解重点。

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();

我主要被困在shortformproviderbidirectionalshortform提供者上。它们的作用是什么?有人可以帮助我理解这一点吗?

4

1 回答 1

1

ShortFormProviderBidirectionalShortFormProvider是帮助您处理 URI 的缩写(快照形式)的对象。例如http://www.example.org/CatCatas shortform。缩写形式对于以紧凑的方式在不使用 URI 前缀的情况下制定 OWL 表达式很有用。

根据文档:

ShortFormProvider: 一个简短的表单提供者生成实体的渲染。这些渲染是通常可用于显示和序列化目的的字符串。一个给定的实体对于给定的简短表格提供者只有一个简短表格。但是,对于给定的短格式提供者,短格式可以映射到多个实体。换句话说,对于给定的短格式提供者,从实体到短格式的映射是函数式的,但不是逆函数式的,即单射映射。

BidirectionalShortFormProvider: 一个简短的表单提供程序,能够在实体及其简短表单之间来回转换。

于 2013-07-24T08:25:55.833 回答