Java源码示例:org.semanticweb.owlapi.util.ShortFormProvider
示例1
/**
* 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);
}
示例2
/**
* Constructs a quoted annotation value short form provider.
*
* @param ontologySetProvider set of ontologies to provide axioms
* @param alternateShortFormProvider short form provider to generate short forms for entities that
* do not have the given annotation
* @param alternateIRIShortFormProvider IRI short form provider
* @param annotationProperties preferred annotation properties, with the properties at the start
* of the list taking priority over those at the end
* @param preferredLanguageMap a map of annotation properties to preferred language
*/
public QuotedAnnotationValueShortFormProvider(
@Nonnull OWLOntologySetProvider ontologySetProvider,
@Nonnull ShortFormProvider alternateShortFormProvider,
@Nonnull IRIShortFormProvider alternateIRIShortFormProvider,
@Nonnull List<OWLAnnotationProperty> annotationProperties,
@Nonnull Map<OWLAnnotationProperty, List<String>> preferredLanguageMap) {
super(
ontologySetProvider,
alternateShortFormProvider,
alternateIRIShortFormProvider,
annotationProperties,
preferredLanguageMap);
}
示例3
/**
* Use annotation properties and the short form provider to add mappings for a single entity.
*
* @param parentOntology an ontology with annotations for the entity
* @param entity the entity to add mappings for
*/
public void add(OWLOntology parentOntology, OWLEntity entity) {
if (entity == null) {
return;
}
Map<String, IRI> map = pickMap(entity);
if (map == null) {
logger.info("Unknown OWL entity type for: " + entity);
return;
}
if (providers != null) {
for (ShortFormProvider provider : providers) {
labels.put(entity.getIRI(), provider.getShortForm(entity));
iris.put(provider.getShortForm(entity), entity.getIRI());
map.put(provider.getShortForm(entity), entity.getIRI());
}
}
if (parentOntology != null && properties != null) {
// Get a set of the parent ontology and its imports
Set<OWLOntology> ontologies = Sets.newHashSet(parentOntology);
ontologies.addAll(parentOntology.getImports());
for (OWLAnnotationProperty property : properties) {
// Get the labels for all entities
for (OWLAnnotation ann :
EntitySearcher.getAnnotationObjects(entity, ontologies, property)) {
OWLLiteral value = ann.getValue().asLiteral().orNull();
// If it has a label, add it to the map (will replace short form)
if (value != null) {
labels.put(entity.getIRI(), value.getLiteral());
iris.put(value.getLiteral(), entity.getIRI());
map.put(value.getLiteral(), entity.getIRI());
}
}
}
}
}
示例4
/**
* Init a new Column using an IRI.
*
* @param name Column name
* @param displayName Column display name
* @param iri IRI of column property
* @param shortFormProvider ShortFormProvider to use when rendering values
*/
public Column(
String name,
String displayName,
@Nonnull IRI iri,
@Nonnull ShortFormProvider shortFormProvider,
@Nonnull String entitySelect) {
this.name = name;
this.displayName = displayName;
this.iri = iri;
this.shortFormProvider = shortFormProvider;
setEntitySelect(entitySelect);
}
示例5
/**
* Init a new Column using an annotation property.
*
* @param name Column name
* @param displayName Column display name
* @param annotationProperty column OWLAnnotationProperty
* @param shortFormProvider ShortFormProvider to use when rendering values
*/
public Column(
String name,
String displayName,
@Nonnull OWLAnnotationProperty annotationProperty,
@Nonnull ShortFormProvider shortFormProvider) {
this.name = name;
this.displayName = displayName;
this.annotationProperty = annotationProperty;
this.shortFormProvider = shortFormProvider;
}
示例6
/**
* Init a new Column using a data property.
*
* @param name Column name
* @param displayName Column display name
* @param dataProperty column OWLDataProperty
* @param shortFormProvider ShortFormProvider to use when rendering values
*/
public Column(
String name,
String displayName,
@Nonnull OWLDataProperty dataProperty,
@Nonnull ShortFormProvider shortFormProvider,
@Nonnull String entitySelect) {
this.name = name;
this.displayName = displayName;
this.dataProperty = dataProperty;
this.shortFormProvider = shortFormProvider;
setEntitySelect(entitySelect);
}
示例7
/**
* Init a new column using an object property.
*
* @param name Column name
* @param displayName Column display name
* @param objectProperty column OWLObjectProperty
* @param shortFormProvider ShortFormProvider to use when rendering values
*/
public Column(
String name,
String displayName,
@Nonnull OWLObjectProperty objectProperty,
@Nonnull ShortFormProvider shortFormProvider,
@Nonnull String entitySelect) {
this.name = name;
this.displayName = displayName;
this.objectProperty = objectProperty;
this.shortFormProvider = shortFormProvider;
setEntitySelect(entitySelect);
}
示例8
/** Initialize the renderer with the given Writer and ShortFormProvider */
public ManchesterOWLSyntaxObjectHTMLRenderer(Writer writer, ShortFormProvider sfProvider) {
super(writer, sfProvider);
}
示例9
public MarkdownLinkShortFormProvider(ShortFormProvider labelProvider) {
this.labelProvider = labelProvider;
}
示例10
/**
* Add a short form providers for finding names.
*
* @param provider the short form provider to add
*/
public void addProvider(ShortFormProvider provider) {
providers.add(provider);
}
示例11
/**
* Return the short form provider for this column
*
* @return ShortFormProvider
*/
@Nonnull
public ShortFormProvider getShortFormProvider() {
return shortFormProvider;
}