Modelling Property Ranges in Part7 and Part8
-
- Posts: 77
- Joined: Tue May 15, 2012 8:48 am
Modelling Property Ranges in Part7 and Part8
As part of the IIP / iRING modelling process we have encountered a number of instances where properties that have an upper and lower numeric value appear in the RDL in two formats.
<PropertyName> Range : entity type Property Range
and
<PropertyName> UPPER LIMIT : entity type Single Property Dimension
<PropertyName> LOWER LIMIT : entity type Single Property Dimension
examples include
OPERATING PRESSURE RANGE
UPPER LIMIT OPERATING PRESSURE
LOWER LIMIT OPERATING PRESSURE
CALIBRATED RANGE
CALIBRATED RANGE UPPER LIMIT
CALIBRATED RANGE LOWER LIMIT
The iRING group has come up with this template for range
CalibratedRangeScaleReal
1) hasPossessor
2) hasScale
3) hasType
4) valLowerBound
5) valUperBound
This raises a number of questions regarding best practise we would like to raise in this group
a) Should we express a preference for one or other of these means of transferring the data or persisting it in a triple store
b) In implementing this in various applications do we need to be able to handle both variations
c) If we choose to use the PropertyRange approach is it possible to have one of the value roles with a null value. In other words if we only have the Upper Limit for UPPER LIMIT can we omit the value for LOWER LIMIT
Keith
<PropertyName> Range : entity type Property Range
and
<PropertyName> UPPER LIMIT : entity type Single Property Dimension
<PropertyName> LOWER LIMIT : entity type Single Property Dimension
examples include
OPERATING PRESSURE RANGE
UPPER LIMIT OPERATING PRESSURE
LOWER LIMIT OPERATING PRESSURE
CALIBRATED RANGE
CALIBRATED RANGE UPPER LIMIT
CALIBRATED RANGE LOWER LIMIT
The iRING group has come up with this template for range
CalibratedRangeScaleReal
1) hasPossessor
2) hasScale
3) hasType
4) valLowerBound
5) valUperBound
This raises a number of questions regarding best practise we would like to raise in this group
a) Should we express a preference for one or other of these means of transferring the data or persisting it in a triple store
b) In implementing this in various applications do we need to be able to handle both variations
c) If we choose to use the PropertyRange approach is it possible to have one of the value roles with a null value. In other words if we only have the Upper Limit for UPPER LIMIT can we omit the value for LOWER LIMIT
Keith
-
- Posts: 283
- Joined: Sun Jan 22, 2012 10:02 pm
Re: Modelling Property Ranges in Part7 and Part8
Hi Keith,
All six cases are about ClassOfIndirectProperty.
Please see:
http://www.infowebml.ws/TS/TS-details/T ... dingValues
http://www.infowebml.ws/TS/TS-details/T ... ximumValue
http://www.infowebml.ws/TS/TS-details/T ... nimumValue
Null values are not allowed in Part 8
Regards,
Hans
All six cases are about ClassOfIndirectProperty.
Please see:
http://www.infowebml.ws/TS/TS-details/T ... dingValues
http://www.infowebml.ws/TS/TS-details/T ... ximumValue
http://www.infowebml.ws/TS/TS-details/T ... nimumValue
Null values are not allowed in Part 8
Regards,
Hans
Re: Modelling Property Ranges in Part7 and Part8
Hans,
hasDefined role in the ClassOfIndirectPropertyWithBoundingValues - is not a good idea! If it's the situation - this ClassOfIndirectProperty should be registered in RDL separately.
hasDefined role in the ClassOfIndirectPropertyWithBoundingValues - is not a good idea! If it's the situation - this ClassOfIndirectProperty should be registered in RDL separately.
Re: Modelling Property Ranges in Part7 and Part8
Keith,
What is the difference between suggested template and PropertyRangeMagnitudeRestrictionOfClass already registered with URI http://tpl.rdlfacade.org/data#R57467669805 and available at http://www.iringsandbox.org/repositorie ... tSet/query ?
On your questions:
These Lower and Upper Limit classes look like a mistake for me. They are instances of a subtype of ClassOfProperty. But no "upper" or "lower" derivations can be modeled as "direct" property. They should be specializations of ClassOfIndirectProperty, not Single Property Dimensions.
As you can not omit a role in a template or put it to zero if it's indeed an infinity - I'm supporting Hans suggestion for two extra templates.
What is the difference between suggested template and PropertyRangeMagnitudeRestrictionOfClass already registered with URI http://tpl.rdlfacade.org/data#R57467669805 and available at http://www.iringsandbox.org/repositorie ... tSet/query ?
On your questions:
These Lower and Upper Limit classes look like a mistake for me. They are instances of a subtype of ClassOfProperty. But no "upper" or "lower" derivations can be modeled as "direct" property. They should be specializations of ClassOfIndirectProperty, not Single Property Dimensions.
As you can not omit a role in a template or put it to zero if it's indeed an infinity - I'm supporting Hans suggestion for two extra templates.
-
- Posts: 283
- Joined: Sun Jan 22, 2012 10:02 pm
Re: Modelling Property Ranges in Part7 and Part8
Hi Victor,
You can declare an instance of ClassOfIndirectProperty and give it an ID and a definition in a language, but when you want to properly define that instance, you need this template, lock, stock and barrel.
Regards,
Hans
You can declare an instance of ClassOfIndirectProperty and give it an ID and a definition in a language, but when you want to properly define that instance, you need this template, lock, stock and barrel.
Regards,
Hans
Re: Modelling Property Ranges in Part7 and Part8
Hans, when I want to properly define that instance I'll record proper specialization in RDL!
Then I'm satisfied with PropertyRangeMagnitudeRestrictionOfClass template.
And I can not map to your template from a legacy tool, if its datamodel doesn't already contain a correct ISO 15926 property specialization tree. Do you know such a tool?
Then I'm satisfied with PropertyRangeMagnitudeRestrictionOfClass template.
And I can not map to your template from a legacy tool, if its datamodel doesn't already contain a correct ISO 15926 property specialization tree. Do you know such a tool?
-
- Posts: 283
- Joined: Sun Jan 22, 2012 10:02 pm
Re: Modelling Property Ranges in Part7 and Part8
Hi Victor,
So, for all clarity: such a specialized template can reside in the RDL, but also in your project data, when you define the requirements for P-101.
Regards,
Hans
[HT] Yep, and that is why we need to discuss the Part 8 Template Model, because in Part 8 a template is and is not a class, and hence can or cannot be specialized. I have written a paper for that topic and will post it.when I want to properly define that instance I'll record proper specialization in RDL
So, for all clarity: such a specialized template can reside in the RDL, but also in your project data, when you define the requirements for P-101.
[HT] I am not.Then I'm satisfied with PropertyRangeMagnitudeRestrictionOfClass template
[HT] I don't understand you. We need to specialize templates, not properties. Please clarify.And I can not map to your template from a legacy tool, if its data model doesn't already contain a correct ISO 15926 property specialization tree. Do you know such a tool?
Regards,
Hans
Re: Modelling Property Ranges in Part7 and Part8
Hans,
Probable I've misunderstood your template ClassOfIndirectPropertyWithBoundingValues?
The only difference between it and PropertyRangeMagnitudeRestrictionOfClass is an additional role hasDefined for an instance of a ClassOfIndirectProperty. As far as I understand the situation you are simultaneously stating two facts: that a property characterized is of a nature described by hasDefined role and that this is indeed a new sub-property of a property in hasIndirectPropertyType role.
What is the idea behind introduction of this sub-property? Can you show an example?
Probable I've misunderstood your template ClassOfIndirectPropertyWithBoundingValues?
The only difference between it and PropertyRangeMagnitudeRestrictionOfClass is an additional role hasDefined for an instance of a ClassOfIndirectProperty. As far as I understand the situation you are simultaneously stating two facts: that a property characterized is of a nature described by hasDefined role and that this is indeed a new sub-property of a property in hasIndirectPropertyType role.
What is the idea behind introduction of this sub-property? Can you show an example?
-
- Posts: 283
- Joined: Sun Jan 22, 2012 10:02 pm
Re: Modelling Property Ranges in Part7 and Part8
Hi Victor,
Assume you design vessel V-101 and use the template ClassOfIndirectPropertyWithPointValue in order to state that its Maximum Allowable Working Pressure (MAWP) shall be 100 barg.
Much later, when you have purchased a vessel for function place V-101 in your plant and installed that vessel, you may (or may not) automaically generate an instance of the template IndirectPropertyOfTemporalPart to confirm that the installed vessel:
- still has the requirement of an MAWP of 100 barg, as inherited from the temporal whole functional physical object (function place) that is a member of the class V-101
- has the actual MAWP of the purchase vessel, that is 100 barg or may be higher than 100 barg, as inherited from the temporal whole being the asset vessel as purchased and delivered.
Having said that you may see a problem occur, because the installed item inherits from both sides, and those inherited data may not be in line with each other. So what to do then? I think that the software, that generates the template instance, should:
- take the data from the materialized physical object OR
- create an alarm in case the data of the materialized physical object does not meet the requirements of the functional physical object
Although this is straightforward in this case, it not always is, for example related to materials. This is something for studies and rules, later
The nice thing is that you always know what the requirements were, something that often is not the case in the industry. If then a replacement has to be made, the basis is not the requirement but the actual data of the replaced item, often leading to an overspecified replacement.
The link between the design and the individual is via this hasDefined subtype of ClassOfRelationship (also with connection, assembly, etc).
Note that I have not yet added the Ur-Class to the template, since I first want to have the MMT blessing for that.
Regards,
Hans
Assume you design vessel V-101 and use the template ClassOfIndirectPropertyWithPointValue in order to state that its Maximum Allowable Working Pressure (MAWP) shall be 100 barg.
Much later, when you have purchased a vessel for function place V-101 in your plant and installed that vessel, you may (or may not) automaically generate an instance of the template IndirectPropertyOfTemporalPart to confirm that the installed vessel:
- still has the requirement of an MAWP of 100 barg, as inherited from the temporal whole functional physical object (function place) that is a member of the class V-101
- has the actual MAWP of the purchase vessel, that is 100 barg or may be higher than 100 barg, as inherited from the temporal whole being the asset vessel as purchased and delivered.
Having said that you may see a problem occur, because the installed item inherits from both sides, and those inherited data may not be in line with each other. So what to do then? I think that the software, that generates the template instance, should:
- take the data from the materialized physical object OR
- create an alarm in case the data of the materialized physical object does not meet the requirements of the functional physical object
Although this is straightforward in this case, it not always is, for example related to materials. This is something for studies and rules, later
The nice thing is that you always know what the requirements were, something that often is not the case in the industry. If then a replacement has to be made, the basis is not the requirement but the actual data of the replaced item, often leading to an overspecified replacement.
The link between the design and the individual is via this hasDefined subtype of ClassOfRelationship (also with connection, assembly, etc).
Note that I have not yet added the Ur-Class to the template, since I first want to have the MMT blessing for that.
Regards,
Hans
- Attachments
-
- IndirectPropertyOfTemporalPart.png (46.3 KiB) Viewed 13932 times
-
- ClassOfIndirectPropertyWithPointValue.png (61.79 KiB) Viewed 13932 times
-
- Posts: 13
- Joined: Thu Mar 08, 2012 8:37 am
- Location: Haarlem, the Netherlands
Re: Modelling Property Ranges in Part7 and Part8
Hans,
On the first diagram I believe you need to change the role of PointInTime to whole instead of part. Doesn't make sense otherwise.
Also, assuming that at a partiular point in time you only have one temporal part of possible individual (or is it not the case?) - do you actually need a separate hasPossessor role? Can you not unambiguously deduce the appropriate individual if you have hasTemporalWhole and the time stamp?
On the first diagram I believe you need to change the role of PointInTime to whole instead of part. Doesn't make sense otherwise.
Also, assuming that at a partiular point in time you only have one temporal part of possible individual (or is it not the case?) - do you actually need a separate hasPossessor role? Can you not unambiguously deduce the appropriate individual if you have hasTemporalWhole and the time stamp?