package org.aksw.sparqlify.core.sql.schema; import java.util.List; import java.util.Map; import org.aksw.sparqlify.core.TypeToken; public interface Schema { int getColumnCount(); String getColumnName(int index); TypeToken getColumnType(int index); TypeToken getColumnType(String name); List<String> getColumnNames(); Map<String, TypeToken> getTypeMap(); boolean isNullable(String columnName); Schema createSubSchema(List<String> columnNames); // Any combinations of columns that are unique. Includes primary/foreign key constraints. //List<Set<String>> uniqueConstraints(); //boolean isNullable(boolean assumption); }