Hi Steve,
In principle, there could be several kind of things that one may expect to be instances of the test1:PressureMeasuringDevice.
Since I don’t have a good example with pressure at the moment, let's talk, instead, about WeightMeasuringDevice such as a scale. The idea is the same:
3. There are applied instances of scales. In other words, it is not only a specific scale, but it is a scale that is being used to measure my weight
I think you are describing the third situation because you are wanting to specify quantities e.g., Irene’s weight would be an instance of qudt:Quantity. Presumably, in your data you will have instances of qudt:Quantity and you want to ensure that they have the right unit of measure.
Your model would work fine for data validation of existing data e.g., if you have an instance of a weight measuring device and it is said to produce measurements (quantities) that are not measured in units of the right quantity kind, e.g., it is said that Irene’s weight is measured in meters you will get a violation. The device will be flagged as invalid.
I don’t like that both property shapes in your example have the same sh:name - this is confusing.
If on the other hand, you want to be able to create data based on this model e.g., when you create a device and then create a quantity "Irene’s weight", you want to be offered for selection only the appropriate units if this is a quantity measured by your device, then this model would not support it in EDG and, I doubt, would support it for any tool out of the box.
If quantities such as Irene’s weight are already existing when you create a device, you may want to be offered just the quantities that use appropriate units of measure when describing the device. This would not work out of the box either.
You could create a custom application targeted to your use of your specific modeling pattern.
Also, with data validation, is it the device that is invalid or is it the quantity that is invalid? Can quantities exist independent of the devices that measure them? May be the issue is with the quantity - it got described with the wrong units and not with the device. In other words, it is correct to say that a specific device is used to measure my weight, but it is not correct to say that my weight could be measured in meters. Further, data about my weight could exist without knowing a specific scale that measured it.
In other words, the model design depends on whether it is only for validation of already existing data or for guiding you in correctly creating new data. It also depends on what is the focus of your validation - devices or quantities.