Re: AllowedValues not visible in the specs


David Honey2
 

Hi Jad,

 

You can find best practice here described at https://jazz.net/wiki/bin/view/LinkedData/UseUrisForEnums. If it were an enumerated value in the spec, which it is not, then values might indeed include URIs in the oslc_qm namespace.

 

The QM spec doesn’t say that the value represents an enumeration – a finite set of values. It only says it’s a string, and the values of that string are implementation defined. Whether that was the right choice is a separate design issue. We cannot change the spec now because that would be a breaking change. So the only thing we should do is remove the allowed values from that OSLC property.

Best regards,
David.

 

From: Jad El-Khoury <jad@...>
Sent: 22 February 2022 08:59
To: David Honey2 <david.honey@...>; oslc-op@...
Subject: [EXTERNAL] RE: AllowedValues not visible in the specs

 

Hi David I understood from you that enumeration values should have URIs, instead of xsd:string. And “com.ibm.rqm.execution.common.state.failed", for example, does classify as a valid URI. or do you mean that the URI be in the form ‍ ‍ ‍ ZjQcmQRYFpfptBannerStart

This Message Is From an External Sender

This message came from outside your organization.

ZjQcmQRYFpfptBannerEnd

Hi David

 

I understood from you that enumeration values should have URIs, instead of xsd:string. And “com.ibm.rqm.execution.common.state.failed", for example, does classify as a valid URI. or do you mean that the URI be in the form http://open-services.net/ns/qm#failed ?

 

But yes, the specs document should match the ttl file, so maybe we should remove that list if the specs does not define any.

 

regards

______________________________

Jad El-khoury, PhD

KTH Royal Institute of Technology

School of Industrial Engineering and Management, Mechatronics Division

Brinellvägen 83, SE-100 44 Stockholm, Sweden

Phone: +46(0)8 790 6877 Mobile: +46(0)70 773 93 45

jad@..., www.kth.se

 

From: David Honey2 <david.honey@...>
Sent: Monday, 21 February 2022 13:09
To: Jad El-Khoury <jad@...>; oslc-op@...
Subject: RE: AllowedValues not visible in the specs

 

They are not URIs. The values are of type xsd:string.  I personally think the QM spec may have got it wrong here. If the intent was for the value to be an enumeration, it should have defined them as such using URIs. But that doesn’t appear to be the intent of the spec.

 

The shape should not define any allowed values because the specification does not define any. The specification says that a server may implement any values it wants. These might not necessarily be a closed set. The allowed values don’t belong in oslc_qm:status at all.

 

From: Jad El-Khoury <jad@...>
Sent: 21 February 2022 12:04
To: David Honey2 <david.honey@...>; oslc-op@...
Subject: [EXTERNAL] RE: AllowedValues not visible in the specs

 

I did react to the “ibm” in the naming as well. But besides that, what would make the values more correct then? What makes them acceptable URIs, assuming we change the valueType to be so? Would the given values be ok? ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ZjQcmQRYFpfptBannerStart

This Message Is From an External Sender

This message came from outside your organization.

ZjQcmQRYFpfptBannerEnd

I did react to the “ibm” in the naming as well. But besides that, what would make the values more correct then? What makes them acceptable URIs, assuming we change the valueType to be so?

Would the given values be ok?

 

I was looking for examples in other domains but allowedValues is not used so often.

 

regards

______________________________

Jad El-khoury, PhD

KTH Royal Institute of Technology

School of Industrial Engineering and Management, Mechatronics Division

Brinellvägen 83, SE-100 44 Stockholm, Sweden

Phone: +46(0)8 790 6877 Mobile: +46(0)70 773 93 45

jad@..., www.kth.se

 

From: David Honey2 <david.honey@...>
Sent: Monday, 21 February 2022 12:43
To: oslc-op@...; Jad El-Khoury <jad@...>
Subject: RE: AllowedValues not visible in the specs

 

Looking at oslc_qm:status in the TestResultShape shows:

                               oslc:allowedValue        "com.ibm.rqm.execution.common.state.failed" , "com.ibm.rqm.execution.common.state.inconclusive" , "com.ibm.rqm.execution.common.state.passed" , "com.ibm.rqm.execution.common.state.deferred" , "com.ibm.rqm.execution.common.state.incomplete" , "com.ibm.rqm.execution.common.state.blocked" , "com.ibm.rqm.execution.common.state.part_blocked" , "com.ibm.rqm.execution.common.state.perm_failed" , "com.ibm.rqm.execution.common.state.error" ;

 

Also the value type is:

                               oslc:valueType           xsd:string ;

 

That seems like an error to me. All of those allowed values are specific to IBM’s ETM application.

The description of that property says:

“Used to indicate the state of the Test Result based on values defined by the service provider. Most often a read-only property.”

Using allowed values for a string value goes against general linked data guidance that says that enumeration values should have URIs. This means that the allowed values should be URIs, and may have a specific type that might defined as the oslc:range of that property.

 

I think you should submit a defect against that resource shape. Those allowed value should be removed.

 

David.

 

From: oslc-op@... <oslc-op@...> On Behalf Of Jad El-Khoury
Sent: 21 February 2022 09:04
To: OASIS OSLC Open Project (oslc-op@...) <oslc-op@...>
Subject: [EXTERNAL] [oslc-op] AllowedValues not visible in the specs

 

Hi I was looking for examples of AllowedValues, and noticed that these values are not directly visible in the HTML version of the specs, yet they are well defined in the RDF version. For example, in https://oslc-op.github.io/oslc-specs/specs/qm/quality-management-shapes.ttl ZjQcmQRYFpfptBannerStart

This Message Is From an External Sender

This message came from outside your organization.

ZjQcmQRYFpfptBannerEnd

Hi

 

I was looking for examples of AllowedValues, and noticed that these values are not directly visible in the HTML version of the specs, yet they are well defined in the RDF version.

 

For example, in https://oslc-op.github.io/oslc-specs/specs/qm/quality-management-shapes.ttl, I can see the allowedValue list for a TestResult.

But this is not seen in https://oslc-op.github.io/oslc-specs/specs/qm/quality-management-shapes.html#TestResultShape

 

I think such information is important to show in the specs that the people read. Does it make sense to add such info?

 

regards

______________________________

Jad El-khoury, PhD

KTH Royal Institute of Technology

School of Industrial Engineering and Management, Mechatronics Division

Brinellvägen 83, SE-100 44 Stockholm, Sweden

Phone: +46(0)8 790 6877 Mobile: +46(0)70 773 93 45

jad@..., www.kth.se

 

Join oslc-op@lists.oasis-open-projects.org to automatically receive all group messages.