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;
}