
prerna.reactor.database.metaeditor.GetOwlMetamodelReactor Maven / Gradle / Ivy
The newest version!
package prerna.reactor.database.metaeditor;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import prerna.engine.api.IDatabaseEngine;
import prerna.masterdatabase.utility.MetamodelVertex;
import prerna.reactor.masterdatabase.util.GenerateMetamodelLayout;
import prerna.sablecc2.om.PixelDataType;
import prerna.sablecc2.om.ReactorKeysEnum;
import prerna.sablecc2.om.nounmeta.NounMetadata;
import prerna.util.Constants;
import prerna.util.Utility;
public class GetOwlMetamodelReactor extends AbstractMetaEditorReactor {
public GetOwlMetamodelReactor() {
this.keysToGet = new String[]{ReactorKeysEnum.DATABASE.getKey()};
}
@Override
public NounMetadata execute() {
organizeKeys();
String databaseId = this.keyValue.get(this.keysToGet[0]);
// we may have the alias
databaseId = testDatabaseId(databaseId, false);
IDatabaseEngine database = Utility.getDatabase(databaseId);
Map metamodelObject = database.getMetamodel();
Object[] nodes = metamodelObject.get("nodes");
Object[] relationships = metamodelObject.get("edges");
Map> concepts = new HashMap>();
for(Object node : nodes) {
MetamodelVertex v = (MetamodelVertex) node;
concepts.put(v.getConceptualName(), new ArrayList(v.getPropSet()));
}
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy