
edu.stanford.protege.webprotege.persistence.OWLEntityReadConverter Maven / Gradle / Ivy
The newest version!
package edu.stanford.protege.webprotege.persistence;
import com.mongodb.DBObject;
import org.semanticweb.owlapi.model.IRI;
import org.semanticweb.owlapi.model.OWLDataFactory;
import org.semanticweb.owlapi.model.OWLEntity;
import uk.ac.manchester.cs.owl.owlapi.OWLDataFactoryImpl;
/**
* Matthew Horridge
* Stanford Center for Biomedical Informatics Research
* 27 Jul 16
*/
public class OWLEntityReadConverter implements Converter {
private final OWLDataFactory dataFactory = new OWLDataFactoryImpl();
@Override
public OWLEntity convert(DBObject object) {
Object typeObject = object.get("type");
if(typeObject == null) {
throw new IllegalArgumentException("Missing type property value");
}
Object iriObject = object.get("iri");
if(iriObject == null) {
throw new IllegalArgumentException("Missing iri property value");
}
String typeString = typeObject.toString();
IRI iri = IRI.create(iriObject.toString());
switch (typeString) {
case "Class":
return dataFactory.getOWLClass(iri);
case "ObjectProperty":
return dataFactory.getOWLObjectProperty(iri);
case "DataProperty":
return dataFactory.getOWLDataProperty(iri);
case "AnnotationProperty":
return dataFactory.getOWLAnnotationProperty(iri);
case "NamedIndividual":
return dataFactory.getOWLNamedIndividual(iri);
case "Datatype":
return dataFactory.getOWLDatatype(iri);
default:
throw new RuntimeException("Unknown entity type");
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy