The ORM Foundation

Get the facts!

ValueTypeValueRange in Object Properties

Last post Thu, May 29 2008 16:27 by Brian Nalewajek. 2 replies.
Page 1 of 1 (3 items)
Sort Posts: Previous Next
  • Wed, May 28 2008 16:12

    ValueTypeValueRange in Object Properties


    Anyone have a reference on the purpose and use of the ValeTypeValueRange property (listed below ValueRange in Properties Tab)?  I'm guessing it limits the ValueTypes to a set entered as values in this entry, but wouldn't that be better as a drop-down list?  I tried a few searches and couldn't find an entry.  If there's a PPT, post or document that covers this, please pass that along - I missed the memo.



  • Thu, May 29 2008 15:32 In reply to

    Re: ValueTypeValueRange in Object Properties


    ValueTypeValueRange appears when you have a collapsed reference mode pattern on an EntityType. In this case, there are two collapsed locations where you can attach a ValueRange. The first location is on the far identifying role and is controlled by the ValueRange property. The second location is on the ValueType itself. This is the location associated with the ValueTypeValueRange property. The goal is to let you control whether the value ranges are applied as a RoleValueConstraint (applies only to the values used in the existential predicate) or to the ValueType (applies to anyone using that ValueType).

    NORMA displays the role value constraint with a collapsed EntityType, but we wanted to give you a way to control and view the ValueType range as well.

    Note that for the popular reference mode pattern, the ValueType is generally attached to the existential predicate only, so it doesn't really matter where you put the constraint. For example, if you limit Gender(.code) to 'M', 'F', then it doesn't matter much if you apply the constraint to the far role of the existential FactType or the Gender_code ValueType itself. However, if you have PersonHeight(cm:), then you don't want to limit the cmValue ValueType--which is used by any other entity with a cm: reference mode--to 250, you want to limit the role. So, in the unit-based and general reference mode cases it does matter whether you set the ValueRange or the ValueTypeValueRange properties.

    You can see more of what is going on by setting the ExpandRefMode property on the EntityTypeShape to true.


  • Thu, May 29 2008 16:27 In reply to

    Re: ValueTypeValueRange in Object Properties

    Hi Matt,

    Fancy you, of all people, knowing the answer to this one.

    You explained your thinking well.  Perhaps there's a better term for what it's about than "ValueTypeValueRange."  A condensed version of your reply would make a good tool tip or property setting description (I noticed the box at the bottom of the properties tab just parrots the property name at present).

    I had talked about logical abstraction layer views as a feature request; I hadn't thought about the PRS collapse in Entity Object Types already being a form of such a layering.  I don't know if that could be carried further, or if the existential nature of PRS would be required across a layer.  Something to think about, though.

    Thanks for the memo,


Page 1 of 1 (3 items)
© 2008-2020 The ORM Foundation: A UK not-for-profit organisation -------------- Terms of Service