public static void setRequiredType(WriteGraph g, Resource componentType, Resource property,
String requiredType, Resource possibleType) throws DatabaseException {
Layer0 L0 = Layer0.getInstance(g);
+ ModelingResources MOD = ModelingResources.getInstance(g);
g.claimLiteral(property, L0.RequiresValueType, requiredType);
if (componentType != null) {
if(g.hasStatement(possibleType, L0.Enumeration)) {
// This value type is an enumeration - let's constrain the range of this predicate to match the enumeration type only
g.claim(property, L0.HasRange, possibleType);
+ } else if (g.isInheritedFrom(possibleType, MOD.MonitorValue)) {
+ // Support derived properties
+ g.claim(property, L0.HasRange, possibleType);
}
}