edu.stanford.protege.webprotege.change.CreateDataPropertiesChangeGenerator Maven / Gradle / Ivy
The newest version!
package edu.stanford.protege.webprotege.change;
import com.google.common.collect.ImmutableSet;
import edu.stanford.protege.webprotege.common.ChangeRequestId;
import edu.stanford.protege.webprotege.msg.MessageFormatter;
import edu.stanford.protege.webprotege.project.DefaultOntologyIdManager;
import org.semanticweb.owlapi.model.OWLAxiom;
import org.semanticweb.owlapi.model.OWLDataFactory;
import org.semanticweb.owlapi.model.OWLDataProperty;
import javax.annotation.Nonnull;
import javax.inject.Inject;
import java.util.Set;
import static com.google.common.base.Preconditions.checkNotNull;
import static java.util.stream.Collectors.toSet;
import static org.semanticweb.owlapi.model.EntityType.DATA_PROPERTY;
/**
* Author: Matthew Horridge
* Stanford University
* Bio-Medical Informatics Research Group
* Date: 25/03/2013
*/
public class CreateDataPropertiesChangeGenerator extends AbstractCreateEntitiesChangeListGenerator {
@Nonnull
private final OWLDataFactory dataFactory;
@Inject
public CreateDataPropertiesChangeGenerator(@Nonnull OWLDataFactory dataFactory,
@Nonnull MessageFormatter msg,
@Nonnull DefaultOntologyIdManager defaultOntologyIdManager,
@Nonnull String sourceText,
@Nonnull String langTag,
@Nonnull ImmutableSet parents,
@Nonnull ChangeRequestId changeRequestId) {
super(DATA_PROPERTY, sourceText, langTag, parents, dataFactory, msg, defaultOntologyIdManager, changeRequestId);
this.dataFactory = checkNotNull(dataFactory);
}
@Override
protected Set extends OWLAxiom> createParentPlacementAxioms(OWLDataProperty freshEntity,
ChangeGenerationContext context,
ImmutableSet parents) {
return parents.stream()
.map(parent -> dataFactory.getOWLSubDataPropertyOfAxiom(freshEntity, parent))
.collect(toSet());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy