+ private static class TypeDefinitionMapRequest extends ResourceRead<Map<String,Resource>> {
+ public TypeDefinitionMapRequest(Resource resource) {
+ super(resource);
+ }
+
+ @Override
+ public Map<String,Resource> perform(ReadGraph graph) throws DatabaseException {
+ Layer0 L0 = Layer0.getInstance(graph);
+ Map<String,Resource> result = new HashMap<>();
+ for(Resource valueType : QueryIndexUtils.searchByType(graph, resource, L0.ValueType)) {
+ Collection<Statement> stms = graph.getAssertedStatements(valueType, L0.HasValueType);
+ if(stms.size() == 1) {
+ String sclValueType = graph.getValue(stms.iterator().next().getObject(), Bindings.STRING);
+ result.put(sclValueType, valueType);
+ }
+ }
+ return result;
+ }
+ }
+