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

edu.stanford.protege.webprotege.persistence.DocumentToOwlEntityConverter Maven / Gradle / Ivy

The newest version!
package edu.stanford.protege.webprotege.persistence;

import org.bson.Document;
import org.semanticweb.owlapi.model.EntityType;
import org.semanticweb.owlapi.model.IRI;
import org.semanticweb.owlapi.model.OWLDataFactory;
import org.semanticweb.owlapi.model.OWLEntity;
import org.springframework.core.convert.converter.Converter;
import uk.ac.manchester.cs.owl.owlapi.OWLDataFactoryImpl;

/**
 * Matthew Horridge
 * Stanford Center for Biomedical Informatics Research
 * 2022-01-04
 */
public class DocumentToOwlEntityConverter implements Converter {

    private final OWLDataFactory dataFactory;

    public DocumentToOwlEntityConverter(OWLDataFactory dataFactory) {
        this.dataFactory = dataFactory;
    }

    @Override
    public OWLEntity convert(Document document) {
        var iriString = document.getString("iri");
        var entityTypeString = document.getString("type");
        for (EntityType entityType : EntityType.values()) {
            if (entityTypeString.equals(entityType.toString())) {
                return dataFactory.getOWLEntity(entityType, IRI.create(iriString));
            }
        }
        return null;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy