protected String renderObject(OWLObject o) { if (o instanceof OWLAnnotationAssertionAxiom && ((OWLAnnotationAssertionAxiom) o).getSubject() instanceof IRI) { SimpleIRIShortFormProvider iriShortFormProvider = new SimpleIRIShortFormProvider(); OWLAnnotationAssertionAxiom axiom = (OWLAnnotationAssertionAxiom) o; StringBuffer buffer = new StringBuffer(iriShortFormProvider.getShortForm((IRI) axiom.getSubject())); buffer.append(" "); buffer.append(new ManchesterOWLSyntaxOWLObjectRendererImpl().render(axiom.getAnnotation())); return buffer.toString(); } else { return new ManchesterOWLSyntaxOWLObjectRendererImpl().render(o); } }
/** * Render an Explanation object as Markdown text, linking text labels to term IRIs and indenting * axioms. * * @param explanation explanation to render * @param manager OWLOntologyManager containing source ontologies for explanation axioms * @return Markdown-formatted explanation text */ public static String renderExplanationAsMarkdown( Explanation<OWLAxiom> explanation, OWLOntologyManager manager) { ExplanationOrderer orderer = new ProtegeExplanationOrderer(manager); ExplanationTree tree = orderer.getOrderedExplanation(explanation.getEntailment(), explanation.getAxioms()); ShortFormProvider labelProvider = new AnnotationValueShortFormProvider( Collections.singletonList(OWLManager.getOWLDataFactory().getRDFSLabel()), Collections.emptyMap(), manager); ShortFormProvider linkProvider = new MarkdownLinkShortFormProvider(labelProvider); ManchesterOWLSyntaxOWLObjectRendererImpl axiomRenderer = new ManchesterOWLSyntaxOWLObjectRendererImpl(); axiomRenderer.setShortFormProvider(linkProvider); return renderTree(tree, axiomRenderer); }
@Inject public OWLObjectStringFormatter(@Nonnull ShortFormProvider shortFormProvider, @Nonnull IRIShortFormProvider iriShortFormProvider, @Nonnull LiteralRenderer literalRenderer) { this.iriShortFormProvider = checkNotNull(iriShortFormProvider); this.shortFormProvider = checkNotNull(shortFormProvider); this.literalRenderer = checkNotNull(literalRenderer); render = new ManchesterOWLSyntaxOWLObjectRendererImpl(); render.setShortFormProvider(shortFormProvider); }