All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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