Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inverse relationships and labels should be discoverable #593

Open
DavidJohnHoney opened this issue Jun 29, 2023 · 0 comments
Open

Inverse relationships and labels should be discoverable #593

DavidJohnHoney opened this issue Jun 29, 2023 · 0 comments

Comments

@DavidJohnHoney
Copy link

DavidJohnHoney commented Jun 29, 2023

OSLC specifications commonly define pairs of links, one of which is regarded as the primary or forward link, the other as the secondary or inverse link. For example, in IBM Rational ELM, a test case may have an oslc_qm:validatesRequirement link that references a requirement that the test case validates. There is also an oslc_rm:validatedBy link that is the inverse of that link. OSLC allows a requirements management tool to explicitly store such links. In practice, in ELM, such an explicit inverse link is not persisted on requirements.

The problem is that a reporting application may want to query and report on the relationship between test cases and requirements. It may not be able to assume that only primary/forward links are persisted. So it needs to know that oslc_qm:validatesRequirement has an inverse oslc_rm:validatedBy relationship, and query for a UNION of data from both predicates. Currently, that is not discoverable through resource shapes.

Even if an application knows that inverse relationships are not explictly persisted, it might need to know what would be an appropriate name for a virtual relationship representing the other direction. A resource shape might include an OSLC property for oslc_qm:validatesRequirement that specifies a title such as "Validates" or "Validates requirement". However, if a tool wants to represent the incoming reverse link, it needs to know what the inverse label of that relationship is. In this example, it might be "Validated by". Currently, there is no OSLC vocabulary for defining such inverse labels. IBM Rational ELM uses a jazz.net namespace vocabulary term jrs:inverseLabel for this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant