SD2E / opil

The Open Protocol Interface Language (OPIL) is intended as a standard language for protocol interfaces
5 stars 1 forks source link

ParameterValue has redundant hasMeasure property #109

Open jakebeal opened 3 years ago

jakebeal commented 3 years ago

ParameterValue has a hasMeasure property that duplicates that on its subclass, MeasureValue. MeasureValue should also be named value, like its siblings, rather than hasMeasure

bbartley commented 3 years ago

This is tricky, because value is defined as an owl Datatype property rather than ObjectProperty. Overloading it might cause some undesirable complications with the implementation.

jakebeal commented 3 years ago

I can see that the distinction between a simple property vs. an object reference could merit a different name. We can stick with hasMeasure then.

bbartley commented 3 years ago

Another possible solution could be to use multiple inheritance... MeasureValue could inherit from both om:Measure as well as opil:ParameterValue. While multiple inheritance is sometimes considered an antipattern, in this case it might simplify both the data model and the API.

jakebeal commented 3 years ago

I think we can leave this one while we consider #135 and #132, either of which is likely to render this point moot.

jakebeal commented 3 years ago

I'm going to split out the rendering part of the issue, however, which also affects other parts of the diagram.