for (Attribute column: columns) {
if (!filter.matches(column)) {
log.info("Skipping filtered column " + column + " as " + reason);
continue;
}
DataType type = schema.columnType(column);
if (type == null) {
writeWarning(new String[]{
"Skipping column " + column + " as " + reason + ".",
" Its datatype is unknown to D2RQ.",
" You can override the column's datatype using d2rq:xxxColumn and add a property bridge.",
}, "");
continue;
}
if (type.isUnsupported()) {
writeWarning(new String[]{
"Skipping column " + column + " as " + reason + ".",
" Its datatype " + schema.columnType(column) + " cannot be mapped to RDF."
}, "");
continue;
}
if (requireDistinct && !type.supportsDistinct()) {
writeWarning(new String[]{
"Skipping column " + column + " as " + reason + ".",
" Its datatype " + schema.columnType(column) + " does not support DISTINCT."
}, "");
}