Date   

OSLC Configuration Management v1.0 Project Specification 01 approved by the OSLC Open Project

Paul Knight
 

OASIS is pleased to announce that OSLC Configuration Management Version 1.0 from the Open Services for Lifecycle Collaboration Open Project [1] has been approved as an OASIS Project Specification.

Managing change and configuration in a complex systems development lifecycle is very difficult, especially in heterogeneous environments that include homegrown tools, open source projects, and commercial tools from different vendors. The OSLC initiative applies World Wide Web and Linked Data principles to enable interoperation of change, configuration, and asset management processes across a product's entire application and product lifecycle.

OSLC Configuration Management defines an RDF vocabulary and a set of REST APIs for managing versions and configurations of linked data resources from multiple domains.

This Project Specification is an OASIS deliverable, completed and approved by the OP's Project Governing Board and fully ready for testing and implementation. The applicable open source licenses can be found in the project's administrative repository at https://github.com/oslc-op/oslc-admin/blob/master/LICENSE.md.

The specification and related files are available at:

OSLC Configuration Management Version 1.0
Project Specification 01
30 May 2022

- OSLC Configuration Management Version 1.0. Part 1: Overview
https://docs.oasis-open-projects.org/oslc-op/config/v1.0/ps01/oslc-config-mgt.html
https://docs.oasis-open-projects.org/oslc-op/config/v1.0/ps01/oslc-config-mgt.pdf

- OSLC Configuration Management Version 1.0. Part 2: Versioned Resources
https://docs.oasis-open-projects.org/oslc-op/config/v1.0/ps01/versioned-resources.html
https://docs.oasis-open-projects.org/oslc-op/config/v1.0/ps01/versioned-resources.pdf

- OSLC Configuration Management Version 1.0. Part 3: Configuration Specification
https://docs.oasis-open-projects.org/oslc-op/config/v1.0/ps01/config-resources.html
https://docs.oasis-open-projects.org/oslc-op/config/v1.0/ps01/config-resources.pdf

- OSLC Configuration Management Version 1.0. Part 4: RDF Vocabulary
https://docs.oasis-open-projects.org/oslc-op/config/v1.0/ps01/config-vocab.html
https://docs.oasis-open-projects.org/oslc-op/config/v1.0/ps01/config-vocab.pdf

- OSLC Configuration Management machine readable "turtle" files:
Vocabulary Terms: https://docs.oasis-open-projects.org/oslc-op/config/v1.0/ps01/config-vocab.ttl
Vocabulary Constraints: https://docs.oasis-open-projects.org/oslc-op/config/v1.0/ps01/config-shapes.ttl

Distribution ZIP file

For your convenience, OASIS provides a complete package of the specification and related files in a ZIP distribution file. You can download the ZIP file at:
https://docs.oasis-open-projects.org/oslc-op/config/v1.0/ps01/config-v1.0-ps01.zip

Members of the OSLC OP Project Governing Board approved this specification by Special Majority Vote [2] as required by the Open Project rules [3].

Our congratulations to the participants and contributors in the Open Services for Lifecycle Collaboration Open Project on their achieving this milestone.

========== Additional references:

[1] Open Services for Lifecycle Collaboration Open Project
https://open-services.net/

[2] Approval ballot:
- https://lists.oasis-open-projects.org/g/oslc-op-pgb/message/239

[3] https://www.oasis-open.org/policies-guidelines/open-projects-process
--
OASIS...Setting the standard for open collaboration


Re: Now: oslc-op Weekly Contributors Meeting - 06/09/2022 #cal-notice

Andrii Berezovskyi
 

Minutes: https://github.com/oslc-op/oasis-open-project/blob/master/minutes/2022/2022-05-26.md

 

/Andrew

 

From: <oslc-op@...> on behalf of Group Notification <noreply@...>
Reply-To: "oslc-op@..." <oslc-op@...>, "noreply@..." <noreply@...>
Date: Thursday, 9 June 2022, W23 at 16:00
To: "oslc-op@..." <oslc-op@...>
Subject: [oslc-op] Now: oslc-op Weekly Contributors Meeting - 06/09/2022 #cal-notice

 

oslc-op Weekly Contributors Meeting

When:
06/09/2022
10:00am to 11:00am
(UTC-04:00) America/New York

Where:
https://meet.jit.si/oslc-op

Organizer: Jim Amsden jamsden@...

View Event

Description:
oslc-op contributors weekly telecon. 


One tap audio Dial In: +15124022718,,,,2979764690# (US) or +498938038719,,,,2979764690# (Germany) Looking for a different dial in number? Please see: https://meet.jit.si/static/dialInInfo.html?room=oslc-op

Meeting ID: 2979764690#

 

The meeting minutes are edited in https://hackmd.io/@driib/oslc-op-minutes/edit
Previous minutes can be found under https://github.com/oslc-op/oslc-admin/tree/master/minutes/2019 


OASIS OSLC Open Project group home: https://lists.oasis-open-projects.org/g/oslc-op 
oslc-op GitHub Organization: https://github.com/oslc-op
Mailing list: oslc-op@... (archives: https://lists.oasis-open-projects.org/g/oslc-op)


Re: Link profiles

Andrii Berezovskyi
 

Following the discussion today, please find attached the spreadsheet with the updates made during the call. The profiles in the second sheet are described in https://docs.google.com/spreadsheets/d/1fjjGvHrv2yPru8S_6HNoJ5atn6617cUfFUDRz5xAfKQ/edit#gid=0

 

Cell F22 in the second sheet is an “anomalous anomaly”, which requires TRS but not configuration management, I simply marked it with the Bidi profile + an ad-hoc TRS support requirement.

 

The idea of the table is too keep the product names in the row 8 and 19 as it and replace the product names in the column D with OSLC domain names to indicate in the future which profiles 3rd-party tools need to support to integrate with the corresponding Jazz products.

 

Looking forward to your feedback.

 

/Andrew

 

From: David Honey2 <david.honey@...>
Date: Wednesday, 1 June 2022, W22 at 11:41
To: Eran Gery <eran.gery@...>
Cc: "oslc-op@..." <oslc-op@...>, Jim Amsden <jamsden@...>, Andrii Berezovskyi <andriib@...>, Michael Rowe <michael.rowe@...>, "e.gentry@..." <e.gentry@...>
Subject: RE: Link profiles

 

Thu 2nd June is a UK public holiday, so I won’t be attending the OSLC OP meeting.

I will look at this next week.

 

From: Eran Gery <eran.gery@...>
Sent: 01 June 2022 10:14
To: David Honey2 <david.honey@...>
Cc: oslc-op@...; Jim Amsden <jamsden@...>; Andrii Berezovskyi <andriib@...>; Michael Rowe <michael.rowe@...>; e.gentry@...
Subject: RE: [EXTERNAL] Link profiles

 

David

 

Can you please look up the link storage/discovery tables I sent and confirm? These tables are a practical basis to discuss the linking profile.

Would be great if you can do before tomorrow’s meeting… shouldn’t take you more than 5 minutes.

 

(See XL attachment to the original message)

 

Thanks

Eran

 

From: Eran Gery
Sent: Friday, 27 May 2022 11:24
To: David Honey2 <david.honey@...>; Jim Amsden <jamsden@...>; Andrii Berezovskyi <andriib@...>; e.gentry@...; Michael Rowe <michael.rowe@...>
Cc: oslc-op@...
Subject: RE: [EXTERNAL] Link profiles

 

Hi David, all,

 

Again, pulling back towards the pragmatic principle “let’s define a profile that at least guarantees ELM (jazz) cross linking”.

Let’s push to the background for now discussions around “good architectural specification”. Profiles here are all about (ugly) pragmatics.

 

Note: there are some ELM anomalies we may not include in a profile, only document. Obviously we need ELM to fix that. Some examples:

-          ELM currently does not support AM/AM linking (RMM). Obviously we cannot enforce this in a profile. We are pushing hard to fix it this year.

-          While in opt-in mode incoming link discovery is done via LDX, RM expects AM to support OSLC query for that. This means that LDX support is not enough for an AM provider, and it needs to support both LDX feed and OSLC query. Again we can document it but recommend LDX usage across all opt-in incoming link discoveries.

-          In OptOut mode (no config) ELM assumes backlinking. So for example if a Jira connector creates a link to a requirement, it also needs to create a backlink on the requirement. Ouch.

 

So for that purpose a question about “opt out” mode: how does ELM behave here, between using a single link with incoming implemented with OSLC query, vs. using backlinks. As far as I recall, all CCM links are using backlinking, and other (RM:QM, RM:AM, AM:QM) use a query. Is that correct?

 

As for shapes based discovery: I think we also need to specify the storage policy, as creating apps based on discovery requires a higher level of sophistication and preparing for variability. Between two providers, if both have shapes that claim ownership, one need to concede. So to simplify we need to provide ownership map. Also another related question: do the shapes change between opt-out and opt-in mode? For example. RM in opt-out would keep a backlink to CCM. In opt-in not. Does it maintain two shapes?

 

Also for Anrew’s request attached is a spreadsheet  I created at the time for opt-in mode. We also need to create on for opt-out.  @David Honey2

Can you please confirm its accuracy?

Hope this makes sense…

Regards,

Eran

 

 

From: David Honey2 <david.honey@...>
Sent: Thursday, 26 May 2022 21:59
To: Jim Amsden <
jamsden@...>; Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; e.gentry@...
Cc:
oslc-op@...
Subject: RE: [EXTERNAL] Link profiles

 

Always trying to create both forward and back links seems like the wrong thing to do, even in opt-out mode. Servers are free to either silently ignore RDF properties it doesn’t support, or to fail the whole PUT if it contains an unsupported property. That could give rise to unpredictable behaviour.

 

An OSLC client may be able to discover which direction(s) are to be used. Consider a user wanting to create a validates requirement link between a test case and a requirement. There are two potential links (as defined by OSLC specs):

·         oslc_qm:validatesRequirement stored on the test case

·         oslc_rm:validatedBy stored on the requirement

 

A caller can GET the test case, look for its oslc:instanceShape, get that shape, and then look for the presence or absence of an OSLC property for oslc_qm:validatesRequirement. It can then GET the requirement, look for its oslc:instanceShape, get that shape, and then look for the presence or absence of an OSLC property for oslc_rm:validatedBy.

I wonder whether that’s sufficient to do the right thing for ELM and for other applications.

 

Thinking about the opt-in case….

Say you have requirement R1 version 1 (R1-1), and test case TC1 version 1 (TC1-1).
You update the test case in the context of some ETM stream, creating TC1-2 that has a
oslc_qm:validatesRequirement link to the concept R1. In order to create the back-link, you’d need to update R1-1 in the context of a DNG stream, to create R1-2. A caller won’t know which stream to use for that backlink, so the only way I can see this working is if this is done in a GC context. It also has the side-effect of creating a new version of both the source and the target. If someone looked at R1 in a GC context that resolved to R1-1, and resolved TC1 to TC1-2, you end up with an inconsistency. The oslc_rm:validatedBy link didn’t exist on R1-1, but the forward link to that requirement exists on TC1-2. I think these were the reasons why ELM decided for opt-in, there would be no backlinks.

 

David.

 

From: Jim Amsden <jamsden@...>
Sent: 26 May 2022 18:46
To: Andrii Berezovskyi <
andriib@...>; Eran Gery <eran.gery@...>; David Honey2 <david.honey@...>; e.gentry@...
Cc:
oslc-op@...
Subject: Re: [EXTERNAL] Link profiles

 

This is a good start, but we should understand how it supports the use cases and common practice.

 

On the issues we’ve been discussing on links: the OSLC specifications define vocabularies and shapes that specify links that would be reasonably considered inverses. Requirement validatedBy TestCase and TestCase validatesRquirement Requirement is one such example. However, OSLC does not specify which one is the property, which would be considered the inverse property, which or  “owed by” any particular server that supports RM and/or QM domains. Rather this is a server implementation decision, often driven by use cases/scenarios that support a particular work-flow – i.e., requirements vs. test driven develop in this case.

 

Fundamentally OSLC ResourceShape constraints have no way of indicating what a server expects to store vs. expects another server involved in a link relationship expects/can/has to store. So, implementations do what works for them and what is stored where must be documented outside OSLC discovery.

 

Added to that, OSLC delegated dialogs don’t establish a clear distinction between the requester and provider of the delegated dialog and who’s supposed to “own” the link – that is, which link property the pair of tools considers the actual source and target of the link, and whether the source or target resource will be the subject of the link property triple.

 

Jazz.net tools attempt to make this transparent, so the user doesn’t have to know which server is storing the link, or how the incoming links are stored or calculated. This is purely a usability issue. However, the participating servers do have to know because even through the creation of the link can be created from either direction, the servers must know which one stores it and implement the link creation accordingly. Again, there is no way to discover this.

 

We could expand ResourceShape to define inverse property constraints to provide a discoverable way for clients and servers to interoperate when creating links from either direction. I expect that might be a better approach than defining a number of profile special cases.

 

 

 

From: Andrii Berezovskyi <andriib@...>
Date: Thursday, May 26, 2022 at 11:49 AM
To: Eran Gery <
eran.gery@...>, David Honey2 <david.honey@...>, Jim Amsden <jamsden@...>, "e.gentry@..." <e.gentry@...>
Cc: "
oslc-op@..." <oslc-op@...>
Subject: [EXTERNAL] Link profiles

 

Hi, I put together a simple table for the possible profiles after the call: https://docs.google.com/spreadsheets/d/1fjjGvHrv2yPru8S_6HNoJ5atn6617cUfFUDRz5xAfKQ/edit?usp=sharing Please look at them and tell me what you think. Thanks to Eran

ZjQcmQRYFpfptBannerStart

This Message Is From an External Sender

This message came from outside your organization.

ZjQcmQRYFpfptBannerEnd

Hi,

 

I put together a simple table for the possible profiles after the call: https://docs.google.com/spreadsheets/d/1fjjGvHrv2yPru8S_6HNoJ5atn6617cUfFUDRz5xAfKQ/edit?usp=sharing

 

Please look at them and tell me what you think. Thanks to Eran for taking extra time to explain some things to me.

 

/A

Unless otherwise stated above:

IBM United Kingdom Limited
Registered in England and Wales with number 741598
Registered office: PO Box 41, North Harbour, Portsmouth, Hants. PO6 3AU


Now: oslc-op Weekly Contributors Meeting - 06/09/2022 #cal-notice

Group Notification <noreply@...>
 

oslc-op Weekly Contributors Meeting

When:
06/09/2022
10:00am to 11:00am
(UTC-04:00) America/New York

Where:
https://meet.jit.si/oslc-op

Organizer: Jim Amsden jamsden@...

View Event

Description:
oslc-op contributors weekly telecon. 


One tap audio Dial In: +15124022718,,,,2979764690# (US) or +498938038719,,,,2979764690# (Germany) Looking for a different dial in number? Please see: https://meet.jit.si/static/dialInInfo.html?room=oslc-op
Meeting ID: 2979764690#
 
The meeting minutes are edited in https://hackmd.io/@driib/oslc-op-minutes/edit
Previous minutes can be found under https://github.com/oslc-op/oslc-admin/tree/master/minutes/2019 

OASIS OSLC Open Project group home: https://lists.oasis-open-projects.org/g/oslc-op 
oslc-op GitHub Organization: https://github.com/oslc-op
Mailing list: oslc-op@... (archives: https://lists.oasis-open-projects.org/g/oslc-op)


OSLC PROMCODE v1.0 Errata 01 from the OSLC PROMCODE TC approved

Paul Knight
 

OASIS members and other interested parties,

We are pleased to announce that OSLC PROMCODE v1.0 Errata 01 from the OSLC PROMCODE TC is now an Approved Errata.

This document lists errata for the OASIS Standard "OSLC PROMCODE Version 1.0." As described in the document, there are no changes to the published textual documents of the OASIS Standard (Part 1: Specification, Part 2: Vocabulary, and Part 3: Constraints). Changes have been made only to the two machine-readable "turtle" files (promcode-vocab.ttl and promcode-shapes.ttl). As required by OASIS policy, these are not Material Changes. The modified "turtle" files are included in this publication.

OSLC PROMCODE Version 1.0 defines the overall approach to PROMCODE (PROject Management of COntracted DElivery) based on the Open Services for Lifecycle Collaboration (OSLC) Core 3.0 [OSLCCore3] Specification.

The documents and related files are available here:

OSLC PROMCODE Version 1.0 Errata 01
Approved Errata
03 June 2022

HTML:
https://docs.oasis-open.org/oslc-promcode/promcode/v1.0/errata01/os/promcode-v1.0-errata01-os.html (Authoritative)
PDF:
https://docs.oasis-open.org/oslc-promcode/promcode/v1.0/errata01/os/promcode-v1.0-errata01-os.pdf

Machine-readable files
Vocabulary terms: https://docs.oasis-open.org/oslc-promcode/promcode/v1.0/errata01/os/promcode-vocab.ttl
Constraints: https://docs.oasis-open.org/oslc-promcode/promcode/v1.0/errata01/os/promcode-shapes.ttl

For your convenience, OASIS provides a complete package of the specification document and any related files in ZIP distribution files. You can download the ZIP file at:
https://docs.oasis-open.org/oslc-promcode/promcode/v1.0/errata01/os/promcode-v1.0-errata01-os.zip

Members of the OSLC PROMCODE TC approved Errata 01 by Full Majority Vote. The specification had been released for public review as required by the TC Process [2]. The vote to approve as Approved Errata passed [3], and the document is now available online in the OASIS Library as referenced above.

Our congratulations to the TC on achieving this milestone and our thanks to the reviewers who provided feedback on the specification drafts to help improve the quality of the work.

Additional information about the specification and the OSLC PROMCODE TC can be found at the TC's public home page:
https://www.oasis-open.org/committees/oslc-promcode/

========== Additional references:

[1] OASIS OSLC Lifecycle Integration for Project Management of Contracted Delivery (OSLC PROMCODE) TC
https://www.oasis-open.org/committees/oslc-promcode/

[2] Public review:
* 15-day public review began 19 May 2022
Announcement email: https://lists.oasis-open.org/archives/members/202205/msg00004.html
https://docs.oasis-open.org/oslc-promcode/promcode/v1.0/errata01/csd01/promcode-v1.0-errata01-csd01-public-review-metadata.html

[3] Meeting minutes:
https://wiki.oasis-open.org/oslc-promcode/telecon%20June%203%2C%202022
--
OASIS...Setting the standard for open collaboration


Preparing PS01 files (was: Your ballot to approve Configuration Management v1.0 as a PS has passed)

Paul Knight
 

Hi all,

As usual, we will rely on the OSLC OP team to prepare the PS01 HTML and TTL files for Configuration Management v1.0. I will provide quality review as needed and handle preparation of the PDF format files and other publication tasks.

Chet noted that the work is being tracked in https://issues.oasis-open.org/browse/TCADMIN-4198, and I will monitor the ticket for any updates.

Of course, please feel free to contact me or Chet directly with any questions, as we make your approved Project Specification available in the OASIS OP Library.

Best regards,
Paul

On Tue, May 31, 2022 at 5:26 PM Chet Ensign <chet.ensign@...> wrote:
Participants in the OSLC Open Project, 


The ballot to approve OSLC Configuration Management Version 1.0 PSD01 as a Project Specification, found in https://lists.oasis-open-projects.org/g/oslc-op-pgb/message/239, closed on 30 May 2022. The ballot passed.

Project Admin will now work with you to get the Project Spec published. TC Admin JIRA ticket https://issues.oasis-open.org/browse/TCADMIN-4198
has been opened to track the work. Feel free to follow the ticket and post questions or updates to it. 

And congratulations on another  milestone for the OSLC Open Project! 

Best regards, 

/chet


--

Chet Ensign

Chief Technical Community Steward

OASIS Open

   
+1 201-341-1393
chet.ensign@...
www.oasis-open.org


--
OASIS...Setting the standard for open collaboration


Now: oslc-op Weekly Contributors Meeting - 06/02/2022 #cal-notice

Group Notification <noreply@...>
 

oslc-op Weekly Contributors Meeting

When:
06/02/2022
10:00am to 11:00am
(UTC-04:00) America/New York

Where:
https://meet.jit.si/oslc-op

Organizer: Jim Amsden jamsden@...

View Event

Description:
oslc-op contributors weekly telecon. 


One tap audio Dial In: +15124022718,,,,2979764690# (US) or +498938038719,,,,2979764690# (Germany) Looking for a different dial in number? Please see: https://meet.jit.si/static/dialInInfo.html?room=oslc-op
Meeting ID: 2979764690#
 
The meeting minutes are edited in https://hackmd.io/@driib/oslc-op-minutes/edit
Previous minutes can be found under https://github.com/oslc-op/oslc-admin/tree/master/minutes/2019 

OASIS OSLC Open Project group home: https://lists.oasis-open-projects.org/g/oslc-op 
oslc-op GitHub Organization: https://github.com/oslc-op
Mailing list: oslc-op@... (archives: https://lists.oasis-open-projects.org/g/oslc-op)


Re: Regrets

Jad El-Khoury
 

hi

I will also be away today.

 

______________________________

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: oslc-op@... <oslc-op@...> On Behalf Of Andrii Berezovskyi
Sent: Tuesday, 31 May 2022 17:06
To: oslc-op@...
Subject: [oslc-op] Regrets

 

Hi,

 

I will attend an off-site project meeting on Thursday and won’t be able to join the OP call. Please make sure to have someone take minutes.

 

/Andrew


Re: Link profiles

David Honey2
 

Thu 2nd June is a UK public holiday, so I won’t be attending the OSLC OP meeting.

I will look at this next week.

 

From: Eran Gery <eran.gery@...>
Sent: 01 June 2022 10:14
To: David Honey2 <david.honey@...>
Cc: oslc-op@...; Jim Amsden <jamsden@...>; Andrii Berezovskyi <andriib@...>; Michael Rowe <michael.rowe@...>; e.gentry@...
Subject: RE: [EXTERNAL] Link profiles

 

David

 

Can you please look up the link storage/discovery tables I sent and confirm? These tables are a practical basis to discuss the linking profile.

Would be great if you can do before tomorrow’s meeting… shouldn’t take you more than 5 minutes.

 

(See XL attachment to the original message)

 

Thanks

Eran

 

From: Eran Gery
Sent: Friday, 27 May 2022 11:24
To: David Honey2 <david.honey@...>; Jim Amsden <jamsden@...>; Andrii Berezovskyi <andriib@...>; e.gentry@...; Michael Rowe <michael.rowe@...>
Cc: oslc-op@...
Subject: RE: [EXTERNAL] Link profiles

 

Hi David, all,

 

Again, pulling back towards the pragmatic principle “let’s define a profile that at least guarantees ELM (jazz) cross linking”.

Let’s push to the background for now discussions around “good architectural specification”. Profiles here are all about (ugly) pragmatics.

 

Note: there are some ELM anomalies we may not include in a profile, only document. Obviously we need ELM to fix that. Some examples:

  • ELM currently does not support AM/AM linking (RMM). Obviously we cannot enforce this in a profile. We are pushing hard to fix it this year.
  • While in opt-in mode incoming link discovery is done via LDX, RM expects AM to support OSLC query for that. This means that LDX support is not enough for an AM provider, and it needs to support both LDX feed and OSLC query. Again we can document it but recommend LDX usage across all opt-in incoming link discoveries.
  • In OptOut mode (no config) ELM assumes backlinking. So for example if a Jira connector creates a link to a requirement, it also needs to create a backlink on the requirement. Ouch.

 

So for that purpose a question about “opt out” mode: how does ELM behave here, between using a single link with incoming implemented with OSLC query, vs. using backlinks. As far as I recall, all CCM links are using backlinking, and other (RM:QM, RM:AM, AM:QM) use a query. Is that correct?

 

As for shapes based discovery: I think we also need to specify the storage policy, as creating apps based on discovery requires a higher level of sophistication and preparing for variability. Between two providers, if both have shapes that claim ownership, one need to concede. So to simplify we need to provide ownership map. Also another related question: do the shapes change between opt-out and opt-in mode? For example. RM in opt-out would keep a backlink to CCM. In opt-in not. Does it maintain two shapes?

 

Also for Anrew’s request attached is a spreadsheet  I created at the time for opt-in mode. We also need to create on for opt-out.  @David Honey2

Can you please confirm its accuracy?

Hope this makes sense…

Regards,

Eran

 

 

From: David Honey2 <david.honey@...>
Sent: Thursday, 26 May 2022 21:59
To: Jim Amsden <
jamsden@...>; Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; e.gentry@...
Cc:
oslc-op@...
Subject: RE: [EXTERNAL] Link profiles

 

Always trying to create both forward and back links seems like the wrong thing to do, even in opt-out mode. Servers are free to either silently ignore RDF properties it doesn’t support, or to fail the whole PUT if it contains an unsupported property. That could give rise to unpredictable behaviour.

 

An OSLC client may be able to discover which direction(s) are to be used. Consider a user wanting to create a validates requirement link between a test case and a requirement. There are two potential links (as defined by OSLC specs):

  • oslc_qm:validatesRequirement stored on the test case
  • oslc_rm:validatedBy stored on the requirement

 

A caller can GET the test case, look for its oslc:instanceShape, get that shape, and then look for the presence or absence of an OSLC property for oslc_qm:validatesRequirement. It can then GET the requirement, look for its oslc:instanceShape, get that shape, and then look for the presence or absence of an OSLC property for oslc_rm:validatedBy.

I wonder whether that’s sufficient to do the right thing for ELM and for other applications.

 

Thinking about the opt-in case….

Say you have requirement R1 version 1 (R1-1), and test case TC1 version 1 (TC1-1).
You update the test case in the context of some ETM stream, creating TC1-2 that has a
oslc_qm:validatesRequirement link to the concept R1. In order to create the back-link, you’d need to update R1-1 in the context of a DNG stream, to create R1-2. A caller won’t know which stream to use for that backlink, so the only way I can see this working is if this is done in a GC context. It also has the side-effect of creating a new version of both the source and the target. If someone looked at R1 in a GC context that resolved to R1-1, and resolved TC1 to TC1-2, you end up with an inconsistency. The oslc_rm:validatedBy link didn’t exist on R1-1, but the forward link to that requirement exists on TC1-2. I think these were the reasons why ELM decided for opt-in, there would be no backlinks.

 

David.

 

From: Jim Amsden <jamsden@...>
Sent: 26 May 2022 18:46
To: Andrii Berezovskyi <
andriib@...>; Eran Gery <eran.gery@...>; David Honey2 <david.honey@...>; e.gentry@...
Cc:
oslc-op@...
Subject: Re: [EXTERNAL] Link profiles

 

This is a good start, but we should understand how it supports the use cases and common practice.

 

On the issues we’ve been discussing on links: the OSLC specifications define vocabularies and shapes that specify links that would be reasonably considered inverses. Requirement validatedBy TestCase and TestCase validatesRquirement Requirement is one such example. However, OSLC does not specify which one is the property, which would be considered the inverse property, which or  “owed by” any particular server that supports RM and/or QM domains. Rather this is a server implementation decision, often driven by use cases/scenarios that support a particular work-flow – i.e., requirements vs. test driven develop in this case.

 

Fundamentally OSLC ResourceShape constraints have no way of indicating what a server expects to store vs. expects another server involved in a link relationship expects/can/has to store. So, implementations do what works for them and what is stored where must be documented outside OSLC discovery.

 

Added to that, OSLC delegated dialogs don’t establish a clear distinction between the requester and provider of the delegated dialog and who’s supposed to “own” the link – that is, which link property the pair of tools considers the actual source and target of the link, and whether the source or target resource will be the subject of the link property triple.

 

Jazz.net tools attempt to make this transparent, so the user doesn’t have to know which server is storing the link, or how the incoming links are stored or calculated. This is purely a usability issue. However, the participating servers do have to know because even through the creation of the link can be created from either direction, the servers must know which one stores it and implement the link creation accordingly. Again, there is no way to discover this.

 

We could expand ResourceShape to define inverse property constraints to provide a discoverable way for clients and servers to interoperate when creating links from either direction. I expect that might be a better approach than defining a number of profile special cases.

 

 

 

From: Andrii Berezovskyi <andriib@...>
Date: Thursday, May 26, 2022 at 11:49 AM
To: Eran Gery <
eran.gery@...>, David Honey2 <david.honey@...>, Jim Amsden <jamsden@...>, "e.gentry@..." <e.gentry@...>
Cc: "
oslc-op@..." <oslc-op@...>
Subject: [EXTERNAL] Link profiles

 

Hi, I put together a simple table for the possible profiles after the call: https://docs.google.com/spreadsheets/d/1fjjGvHrv2yPru8S_6HNoJ5atn6617cUfFUDRz5xAfKQ/edit?usp=sharing Please look at them and tell me what you think. Thanks to Eran

ZjQcmQRYFpfptBannerStart

This Message Is From an External Sender

This message came from outside your organization.

ZjQcmQRYFpfptBannerEnd

Hi,

 

I put together a simple table for the possible profiles after the call: https://docs.google.com/spreadsheets/d/1fjjGvHrv2yPru8S_6HNoJ5atn6617cUfFUDRz5xAfKQ/edit?usp=sharing

 

Please look at them and tell me what you think. Thanks to Eran for taking extra time to explain some things to me.

 

/A

Unless otherwise stated above:

IBM United Kingdom Limited
Registered in England and Wales with number 741598
Registered office: PO Box 41, North Harbour, Portsmouth, Hants. PO6 3AU


Re: Link profiles

"Eran Gery"
 

David

 

Can you please look up the link storage/discovery tables I sent and confirm? These tables are a practical basis to discuss the linking profile.

Would be great if you can do before tomorrow’s meeting… shouldn’t take you more than 5 minutes.

 

(See XL attachment to the original message)

 

Thanks

Eran

 

From: Eran Gery
Sent: Friday, 27 May 2022 11:24
To: David Honey2 <david.honey@...>; Jim Amsden <jamsden@...>; Andrii Berezovskyi <andriib@...>; e.gentry@...; Michael Rowe <michael.rowe@...>
Cc: oslc-op@...
Subject: RE: [EXTERNAL] Link profiles

 

Hi David, all,

 

Again, pulling back towards the pragmatic principle “let’s define a profile that at least guarantees ELM (jazz) cross linking”.

Let’s push to the background for now discussions around “good architectural specification”. Profiles here are all about (ugly) pragmatics.

 

Note: there are some ELM anomalies we may not include in a profile, only document. Obviously we need ELM to fix that. Some examples:

  • ELM currently does not support AM/AM linking (RMM). Obviously we cannot enforce this in a profile. We are pushing hard to fix it this year.
  • While in opt-in mode incoming link discovery is done via LDX, RM expects AM to support OSLC query for that. This means that LDX support is not enough for an AM provider, and it needs to support both LDX feed and OSLC query. Again we can document it but recommend LDX usage across all opt-in incoming link discoveries.
  • In OptOut mode (no config) ELM assumes backlinking. So for example if a Jira connector creates a link to a requirement, it also needs to create a backlink on the requirement. Ouch.

 

So for that purpose a question about “opt out” mode: how does ELM behave here, between using a single link with incoming implemented with OSLC query, vs. using backlinks. As far as I recall, all CCM links are using backlinking, and other (RM:QM, RM:AM, AM:QM) use a query. Is that correct?

 

As for shapes based discovery: I think we also need to specify the storage policy, as creating apps based on discovery requires a higher level of sophistication and preparing for variability. Between two providers, if both have shapes that claim ownership, one need to concede. So to simplify we need to provide ownership map. Also another related question: do the shapes change between opt-out and opt-in mode? For example. RM in opt-out would keep a backlink to CCM. In opt-in not. Does it maintain two shapes?

 

Also for Anrew’s request attached is a spreadsheet  I created at the time for opt-in mode. We also need to create on for opt-out.  @David Honey2

Can you please confirm its accuracy?

Hope this makes sense…

Regards,

Eran

 

 

From: David Honey2 <david.honey@...>
Sent: Thursday, 26 May 2022 21:59
To: Jim Amsden <
jamsden@...>; Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; e.gentry@...
Cc:
oslc-op@...
Subject: RE: [EXTERNAL] Link profiles

 

Always trying to create both forward and back links seems like the wrong thing to do, even in opt-out mode. Servers are free to either silently ignore RDF properties it doesn’t support, or to fail the whole PUT if it contains an unsupported property. That could give rise to unpredictable behaviour.

 

An OSLC client may be able to discover which direction(s) are to be used. Consider a user wanting to create a validates requirement link between a test case and a requirement. There are two potential links (as defined by OSLC specs):

  • oslc_qm:validatesRequirement stored on the test case
  • oslc_rm:validatedBy stored on the requirement

 

A caller can GET the test case, look for its oslc:instanceShape, get that shape, and then look for the presence or absence of an OSLC property for oslc_qm:validatesRequirement. It can then GET the requirement, look for its oslc:instanceShape, get that shape, and then look for the presence or absence of an OSLC property for oslc_rm:validatedBy.

I wonder whether that’s sufficient to do the right thing for ELM and for other applications.

 

Thinking about the opt-in case….

Say you have requirement R1 version 1 (R1-1), and test case TC1 version 1 (TC1-1).
You update the test case in the context of some ETM stream, creating TC1-2 that has a
oslc_qm:validatesRequirement link to the concept R1. In order to create the back-link, you’d need to update R1-1 in the context of a DNG stream, to create R1-2. A caller won’t know which stream to use for that backlink, so the only way I can see this working is if this is done in a GC context. It also has the side-effect of creating a new version of both the source and the target. If someone looked at R1 in a GC context that resolved to R1-1, and resolved TC1 to TC1-2, you end up with an inconsistency. The oslc_rm:validatedBy link didn’t exist on R1-1, but the forward link to that requirement exists on TC1-2. I think these were the reasons why ELM decided for opt-in, there would be no backlinks.

 

David.

 

From: Jim Amsden <jamsden@...>
Sent: 26 May 2022 18:46
To: Andrii Berezovskyi <
andriib@...>; Eran Gery <eran.gery@...>; David Honey2 <david.honey@...>; e.gentry@...
Cc:
oslc-op@...
Subject: Re: [EXTERNAL] Link profiles

 

This is a good start, but we should understand how it supports the use cases and common practice.

 

On the issues we’ve been discussing on links: the OSLC specifications define vocabularies and shapes that specify links that would be reasonably considered inverses. Requirement validatedBy TestCase and TestCase validatesRquirement Requirement is one such example. However, OSLC does not specify which one is the property, which would be considered the inverse property, which or  “owed by” any particular server that supports RM and/or QM domains. Rather this is a server implementation decision, often driven by use cases/scenarios that support a particular work-flow – i.e., requirements vs. test driven develop in this case.

 

Fundamentally OSLC ResourceShape constraints have no way of indicating what a server expects to store vs. expects another server involved in a link relationship expects/can/has to store. So, implementations do what works for them and what is stored where must be documented outside OSLC discovery.

 

Added to that, OSLC delegated dialogs don’t establish a clear distinction between the requester and provider of the delegated dialog and who’s supposed to “own” the link – that is, which link property the pair of tools considers the actual source and target of the link, and whether the source or target resource will be the subject of the link property triple.

 

Jazz.net tools attempt to make this transparent, so the user doesn’t have to know which server is storing the link, or how the incoming links are stored or calculated. This is purely a usability issue. However, the participating servers do have to know because even through the creation of the link can be created from either direction, the servers must know which one stores it and implement the link creation accordingly. Again, there is no way to discover this.

 

We could expand ResourceShape to define inverse property constraints to provide a discoverable way for clients and servers to interoperate when creating links from either direction. I expect that might be a better approach than defining a number of profile special cases.

 

 

 

From: Andrii Berezovskyi <andriib@...>
Date: Thursday, May 26, 2022 at 11:49 AM
To: Eran Gery <
eran.gery@...>, David Honey2 <david.honey@...>, Jim Amsden <jamsden@...>, "e.gentry@..." <e.gentry@...>
Cc: "
oslc-op@..." <oslc-op@...>
Subject: [EXTERNAL] Link profiles

 

Hi, I put together a simple table for the possible profiles after the call: https://docs.google.com/spreadsheets/d/1fjjGvHrv2yPru8S_6HNoJ5atn6617cUfFUDRz5xAfKQ/edit?usp=sharing Please look at them and tell me what you think. Thanks to Eran

ZjQcmQRYFpfptBannerStart

This Message Is From an External Sender

This message came from outside your organization.

ZjQcmQRYFpfptBannerEnd

Hi,

 

I put together a simple table for the possible profiles after the call: https://docs.google.com/spreadsheets/d/1fjjGvHrv2yPru8S_6HNoJ5atn6617cUfFUDRz5xAfKQ/edit?usp=sharing

 

Please look at them and tell me what you think. Thanks to Eran for taking extra time to explain some things to me.

 

/A


Your ballot to approve Configuration Management v1.0 as a PS has passed

Chet Ensign
 

Participants in the OSLC Open Project, 


The ballot to approve OSLC Configuration Management Version 1.0 PSD01 as a Project Specification, found in https://lists.oasis-open-projects.org/g/oslc-op-pgb/message/239, closed on 30 May 2022. The ballot passed.

Project Admin will now work with you to get the Project Spec published. TC Admin JIRA ticket https://issues.oasis-open.org/browse/TCADMIN-4198
has been opened to track the work. Feel free to follow the ticket and post questions or updates to it. 

And congratulations on another  milestone for the OSLC Open Project! 

Best regards, 

/chet


--

Chet Ensign

Chief Technical Community Steward

OASIS Open

   
+1 201-341-1393
chet.ensign@...
www.oasis-open.org


Publish an approved specification for OSLC Conf iguration Management Version 1.0 from OSLC Open Project

Chet Ensign
 

Your name:
  Chet Ensign
Project name:
  OSLC Open Project
Project email address:
  oslc-op@...
Title and version number:
  OSLC Configuration Management Version 1.0
Approval:
  https://lists.oasis-open-projects.org/g/oslc-op-pgb/message/239
Notes:
  This ticket is being entered on behalf of the OP. The ballot passed. The approval date is 30 May 2022.

The url of the PSD approved is:

http://docs.oasis-open-projects.org/oslc-op/config/v1.0/psd01/oslc-config-mgt.html


Your request automatically opens a ticket in the project administrator's JIRA issue tracker. To see the current queue of support tickets and find yours, click here.


Regrets

Andrii Berezovskyi
 

Hi,

 

I will attend an off-site project meeting on Thursday and won’t be able to join the OP call. Please make sure to have someone take minutes.

 

/Andrew


Re: [OSLC forum] Summary

Gentry, Edward
 

Well IBM/ELM/Jazz has a discovery namespace: http://jazz.net/xmlns/prod/jazz/discovery/1.0/

 

This was developed after 3.x because it of perceived architectural limitations of the rootservices. But rootservices was never deprecated so now Jazz has both.

 

The discovery service idea was actually pretty good. Applications contribute services to the JTS and the JTS allows these to be discovered. You can see some of this in the browser, also do GET on /rm/scr to see the contribution.

 

I suspect, that what your seeing is perhaps a relic of this, where the discovery idea was to be contributed to OSLC.

 

Ed Gentry, Product Owner
MID GmbH | Kressengartenstr. 10 | 90402 Nürnberg | Germany
email: 
e.gentry@... | www.mid.de

phone: +49 0172 8867789 

Sitz des Unternehmens/Registered Office: Nürnberg
Handelsregister/Commercial Register: Amtsgericht Nürnberg HRB Nr. 21108

Vorsitzender der Geschäftsführung/Chairman of the board of management: Dr. Martin Müller
Geschäftsführer/Management Board: Andreas Ditze

 

 

From: oslc-op@... <oslc-op@...> On Behalf Of Andrii Berezovskyi via lists.oasis-open-projects.org
Sent: Dienstag, 31. Mai 2022 12:53
To: oslc-op@...
Subject: [oslc-op] [OSLC forum] Summary

 

Could someone refresh my memory on what xmlns:oslc_disc=“http://open-services.net/xmlns/discovery/1.0/” is and when was it deprecated, please?

 

/A



Begin forwarded message:

 

From: OSLC forum <discourse@...>

Subject: [OSLC forum] Summary

Date: 30 May 2022 at 00:04:11 CEST

Reply-To: OSLC forum <discourse@...>

 

OSLC forum

 

 

 

Since your last visit

1

New Topics

Popular Topics

 

Lyo

May 29

 

ServiceProviderCatalog discovery not working with DNG

 

TWilmer

T Wilmer

TWilmer

 

Hi

I am new to OSLC/lyo and the @Oslc… magic lyo is using. Bear with me, if I my mistake is obvious.

I use a recent DNG 7.0.2 and I try to use the ETMSample (changes certain locations from QM to RM) after fetching the rootservices it’s loading the catalog from ttps://dng.example.one:9443/rm/oslc_rm/catalog

 

likes 0

replies 0

Read More

 

 

 

 

This summary is sent from OSLC forum when we haven't seen you in a while. Change your email settings, or click here to unsubscribe.

 


[OSLC forum] Summary

Andrii Berezovskyi
 

Could someone refresh my memory on what xmlns:oslc_disc=“http://open-services.net/xmlns/discovery/1.0/” is and when was it deprecated, please?

/A

Begin forwarded message:

From: OSLC forum <discourse@...>
Subject: [OSLC forum] Summary
Date: 30 May 2022 at 00:04:11 CEST
Reply-To: OSLC forum <discourse@...>

OSLC forum
 

Since your last visit
1
New Topics
Popular Topics

Lyo

May 29

ServiceProviderCatalog discovery not working with DNG

TWilmer
T Wilmer

TWilmer

Hi

I am new to OSLC/lyo and the @Oslc… magic lyo is using. Bear with me, if I my mistake is obvious.

I use a recent DNG 7.0.2 and I try to use the ETMSample (changes certain locations from QM to RM) after fetching the rootservices it’s loading the catalog from ttps://dng.example.one:9443/rm/oslc_rm/catalog

likes 0 replies 0 Read More
 
 
 
This summary is sent from OSLC forum when we haven't seen you in a while. Change your email settings, or click here to unsubscribe.


Re: Link profiles

Gentry, Edward <e.gentry@...>
 

Sorry I should have been more careful with my vocabulary. I meant reify in generic sense not in an RDF sense.

 

I meant to formalize what we mean by and expect from links – and indeed we already doing this.

 

 

From: David Honey2 <david.honey@...>
Sent: Freitag, 27. Mai 2022 11:23
To: Gentry, Edward <e.gentry@...>; Jim Amsden <jamsden@...>; Robert Baillargeon <rbaillargeon@...>; Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; oslc-op@...
Subject: RE: [oslc-op] Link profiles

 

Re: We should reify the concept of link beyond just a single predicate

OSLC avoids and discourages the use of reification. It can make querying problematic, especially for OSLC query. I don’t think we should set a precedent just for this use case.

 

From: Gentry, Edward <e.gentry@...>
Sent: 27 May 2022 08:00
To: Jim Amsden <jamsden@...>; Robert Baillargeon <rbaillargeon@...>; Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; oslc-op@...; David Honey2 <david.honey@...>
Subject: [EXTERNAL] RE: [oslc-op] Link profiles

 

A few ideas and observations and a concrete proposal: A helpful idea was proposed by our French Sodius Colleague whose name escapes me. He suggested in a conversation after our last call – and he’ll correct me if I don’t represent him well

ZjQcmQRYFpfptBannerStart

This Message Is From an External Sender

This message came from outside your organization.

ZjQcmQRYFpfptBannerEnd

A few ideas and observations and a concrete proposal:

 

  • A helpful idea was proposed by our French Sodius Colleague whose name escapes me.  He suggested in a conversation after our last call – and he’ll correct me if I don’t represent him well - that resource shapes should be extended so that tools could indicate which links they index.

 

  • @Jim Amsden’s  suggestion is also interesting (again he’ll correct me if I don’ represent him well) Each “link” might be represented as a pair of reciprocal predicates. For example: Let  (P and P’) be a pair of reciprocal predicates.  Then semantically, the triple (S0, P, O0), would have the same meaning the triple (O0, P’, S0).

 

  • Also I’d observe that “links” already have the concept of a reciprocal-names. Let N be the name for the P in triple (S0, P, O0) when viewed from the perceptive of S0. Then N’, the reciprocal-name is the title of P, is the title of P when it is viewed from the perspective of O2. Naturally if we had reciprocal predicates then the name of P’ (above) would be N’.

 

Besides discussing these more in detail, I’d like to make the following suggestion: We should reify the concept of link beyond just a single predicate – indeed above are examples of where we are already doing this. We should formalize what we mean by links, want kind of characteristics they may have: titles, reciprocal-links, reciprocal-labels, etc.

 

However has  @Eran Gery has emphasized all of this is beyond the scope of the first version of Link Profiles.

 

For me the link profile work would look something like this:

 

Version 0: Describe linking as it exists in ELM today keeping modifications to a minimum. Given the importance of GC’s for real life applications – and changing my position a bit here – this should include both opt in and opt out cases (with and out GCS), even though that means waving our hands a bit and just assuming the indexing for back links.  

 

Version 1: We reify links and include the concepts above and more.

 

 

From: Gentry, Edward <e.gentry@...>
Sent: Donnerstag, 26. Mai 2022 22:48
To: Jim Amsden <jamsden@...>; Robert Baillargeon <rbaillargeon@...>; Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; oslc-op@...; David Honey2 <david.honey@...>
Subject: Re: [oslc-op] Link profiles

 

Sorry I’ve missed the discussion today. It’s a holiday here. 

 

One thing for me is very clear. If by link we mean a single predicate then we always know where it is stored. Always. It is stored with the subject of the link. Always. 

 

We don’t store statements about resources we don’t control. And I certainly should not trust a statement made by another about a resource that belongs to me. 

 

Now if we understand a link more semantically then Jim’s suggestion that the concept “satisfies” could be expressed with two different predicates “satisfies” and “satisfies by” each potentially stored on the corresponding side is something we might consider. But I’d suggest as a second phase since nothing like this exists to my knowledge 


From: Jim Amsden <jamsden@...>
Sent: Thursday, May 26, 2022 9:33:00 PM
To: Robert Baillargeon <
rbaillargeon@...>; Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; Gentry, Edward <e.gentry@...>; oslc-op@... <oslc-op@...>; David Honey2 <david.honey@...>
Subject: RE: [oslc-op] Link profiles

 

I am specifically not proposing to store backlinks. What I’m suggesting is that which link is the forward link depends on the use case the servers are trying to support. So rather I’m proposing using constraints as a means of discovering and perhaps specifying in a profile, what the links mean in a particular situation.

 

Once discovered where the link is stored, there should be standard way of determining the incoming/inverse link.

 

 

From: Robert Baillargeon <rbaillargeon@...>
Date: Thursday, May 26, 2022 at 3:12 PM
To: Jim Amsden <
jamsden@...>, Andrii Berezovskyi <andriib@...>, Eran Gery <eran.gery@...>, "e.gentry@..." <e.gentry@...>, "oslc-op@..." <oslc-op@...>, David Honey2 <david.honey@...>
Subject: [EXTERNAL] Re: [oslc-op] Link profiles

 

I'm always for only storing the forward link. It has a clear advantage in the ability to better manage the configurations and the composition of configurations. If I could get rid of backlinks I would. ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍

ZjQcmQRYFpfptBannerStart

This Message Is From an External Sender

This message came from outside your organization.

ZjQcmQRYFpfptBannerEnd

I'm always for only storing the forward link.  It has a clear advantage in the ability to better manage the configurations and the composition of configurations.  If I could get rid of backlinks I would. 

 

When moving entirely to reverse link discovery, I would also note that we will need to have some behaviors in the tools to address when a discovery task fails due to downstream authentication, timeout, or otherwise.  We have seen situations where the inverse link is not visible and user confusion about the cause.

 

That is an interesting thought that we could discover link ownership by inspecting the shape.  Let me consider that path and see if that is complete with the information we would expect.

 

 

 

The other interesting point is to 

Chief Product Officer – Linked Data

418 N. Main Street 2nd Floor/Suite 200, Royal Oak, Michigan 48067, USA
Ph: 716 261 8338 
sodiuswillert.com

 

 

Try out our Jira and Confluence OSLC Tools on the Atlassian Marketplace


From: oslc-op@... <oslc-op@...> on behalf of David Honey2 via lists.oasis-open-projects.org <david.honey=ibm.com@...>
Sent: Thursday, May 26, 2022 2:59 PM
To: Jim Amsden <
jamsden@...>; Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; e.gentry@... <e.gentry@...>
Cc:
oslc-op@... <oslc-op@...>
Subject: Re: [oslc-op] Link profiles

 

Always trying to create both forward and back links seems like the wrong thing to do, even in opt-out mode. Servers are free to either silently ignore RDF properties it doesn’t support, or to fail the whole PUT if it contains an unsupported property. That could give rise to unpredictable behaviour.

 

An OSLC client may be able to discover which direction(s) are to be used. Consider a user wanting to create a validates requirement link between a test case and a requirement. There are two potential links (as defined by OSLC specs):

  • oslc_qm:validatesRequirement stored on the test case
  • oslc_rm:validatedBy stored on the requirement

 

A caller can GET the test case, look for its oslc:instanceShape, get that shape, and then look for the presence or absence of an OSLC property for oslc_qm:validatesRequirement. It can then GET the requirement, look for its oslc:instanceShape, get that shape, and then look for the presence or absence of an OSLC property for oslc_rm:validatedBy.

I wonder whether that’s sufficient to do the right thing for ELM and for other applications.

 

Thinking about the opt-in case….

Say you have requirement R1 version 1 (R1-1), and test case TC1 version 1 (TC1-1).
You update the test case in the context of some ETM stream, creating TC1-2 that has a
oslc_qm:validatesRequirement link to the concept R1. In order to create the back-link, you’d need to update R1-1 in the context of a DNG stream, to create R1-2. A caller won’t know which stream to use for that backlink, so the only way I can see this working is if this is done in a GC context. It also has the side-effect of creating a new version of both the source and the target. If someone looked at R1 in a GC context that resolved to R1-1, and resolved TC1 to TC1-2, you end up with an inconsistency. The oslc_rm:validatedBy link didn’t exist on R1-1, but the forward link to that requirement exists on TC1-2. I think these were the reasons why ELM decided for opt-in, there would be no backlinks.

 

David.

 

From: Jim Amsden <jamsden@...>
Sent: 26 May 2022 18:46
To: Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; David Honey2 <david.honey@...>; e.gentry@...
Cc: oslc-op@...
Subject: Re: [EXTERNAL] Link profiles

 

This is a good start, but we should understand how it supports the use cases and common practice.

 

On the issues we’ve been discussing on links: the OSLC specifications define vocabularies and shapes that specify links that would be reasonably considered inverses. Requirement validatedBy TestCase and TestCase validatesRquirement Requirement is one such example. However, OSLC does not specify which one is the property, which would be considered the inverse property, which or  “owed by” any particular server that supports RM and/or QM domains. Rather this is a server implementation decision, often driven by use cases/scenarios that support a particular work-flow – i.e., requirements vs. test driven develop in this case.

 

Fundamentally OSLC ResourceShape constraints have no way of indicating what a server expects to store vs. expects another server involved in a link relationship expects/can/has to store. So, implementations do what works for them and what is stored where must be documented outside OSLC discovery.

 

Added to that, OSLC delegated dialogs don’t establish a clear distinction between the requester and provider of the delegated dialog and who’s supposed to “own” the link – that is, which link property the pair of tools considers the actual source and target of the link, and whether the source or target resource will be the subject of the link property triple.

 

Jazz.net tools attempt to make this transparent, so the user doesn’t have to know which server is storing the link, or how the incoming links are stored or calculated. This is purely a usability issue. However, the participating servers do have to know because even through the creation of the link can be created from either direction, the servers must know which one stores it and implement the link creation accordingly. Again, there is no way to discover this.

 

We could expand ResourceShape to define inverse property constraints to provide a discoverable way for clients and servers to interoperate when creating links from either direction. I expect that might be a better approach than defining a number of profile special cases.

 

 

 

From: Andrii Berezovskyi <andriib@...>
Date: Thursday, May 26, 2022 at 11:49 AM
To: Eran Gery <
eran.gery@...>, David Honey2 <david.honey@...>, Jim Amsden <jamsden@...>, "e.gentry@..." <e.gentry@...>
Cc: "
oslc-op@..." <oslc-op@...>
Subject: [EXTERNAL] Link profiles

 

Hi, I put together a simple table for the possible profiles after the call: https://docs.google.com/spreadsheets/d/1fjjGvHrv2yPru8S_6HNoJ5atn6617cUfFUDRz5xAfKQ/edit?usp=sharing Please look at them and tell me what you think. Thanks to Eran

ZjQcmQRYFpfptBannerStart

This Message Is From an External Sender

This message came from outside your organization.

ZjQcmQRYFpfptBannerEnd

Hi,

 

I put together a simple table for the possible profiles after the call: https://docs.google.com/spreadsheets/d/1fjjGvHrv2yPru8S_6HNoJ5atn6617cUfFUDRz5xAfKQ/edit?usp=sharing

 

Please look at them and tell me what you think. Thanks to Eran for taking extra time to explain some things to me.

 

/A

Unless otherwise stated above:

IBM United Kingdom Limited
Registered in England and Wales with number 741598
Registered office: PO Box 41, North Harbour, Portsmouth, Hants. PO6 3AU

Unless otherwise stated above:

IBM United Kingdom Limited
Registered in England and Wales with number 741598
Registered office: PO Box 41, North Harbour, Portsmouth, Hants. PO6 3AU


Re: Link profiles

Gentry, Edward <e.gentry@...>
 

Hi Eran,

 

Yes OSLC query for opt out makes sense, and it’s straight forward. we should discuss.

 

From: Eran Gery <eran.gery@...>
Sent: Freitag, 27. Mai 2022 10:30
To: Gentry, Edward <e.gentry@...>; Jim Amsden <jamsden@...>; Robert Baillargeon <rbaillargeon@...>; Andrii Berezovskyi <andriib@...>; oslc-op@...; David Honey2 <david.honey@...>
Subject: RE: [oslc-op] Link profiles

 

Ed,

 

Thanks for coming back to version 0…. Indeed this is what we should focus on and we rather call it version 1.

As I mentioned in my other note, IMO for Opt-out we should not recommend link index as this is too far from how Jazz behaves. I think we should recommend OSLC query. That also reduces the requirement to support TRS in that case. And again, there is the CCM anomaly that still relies on backlinking.

 

Regards,

eran

 

From: Gentry, Edward <e.gentry@...>
Sent: Friday, 27 May 2022 10:00
To: Jim Amsden <jamsden@...>; Robert Baillargeon <rbaillargeon@...>; Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; oslc-op@...; David Honey2 <david.honey@...>
Subject: [EXTERNAL] RE: [oslc-op] Link profiles

 

A few ideas and observations and a concrete proposal: A helpful idea was proposed by our French Sodius Colleague whose name escapes me. He suggested in a conversation after our last call – and he’ll correct me if I don’t represent him well

ZjQcmQRYFpfptBannerStart

This Message Is From an External Sender

This message came from outside your organization.

ZjQcmQRYFpfptBannerEnd

A few ideas and observations and a concrete proposal:

 

  • A helpful idea was proposed by our French Sodius Colleague whose name escapes me.  He suggested in a conversation after our last call – and he’ll correct me if I don’t represent him well - that resource shapes should be extended so that tools could indicate which links they index.

 

  • @Jim Amsden’s  suggestion is also interesting (again he’ll correct me if I don’ represent him well) Each “link” might be represented as a pair of reciprocal predicates. For example: Let  (P and P’) be a pair of reciprocal predicates.  Then semantically, the triple (S0, P, O0), would have the same meaning the triple (O0, P’, S0).

 

  • Also I’d observe that “links” already have the concept of a reciprocal-names. Let N be the name for the P in triple (S0, P, O0) when viewed from the perceptive of S0. Then N’, the reciprocal-name is the title of P, is the title of P when it is viewed from the perspective of O2. Naturally if we had reciprocal predicates then the name of P’ (above) would be N’.

 

Besides discussing these more in detail, I’d like to make the following suggestion: We should reify the concept of link beyond just a single predicate – indeed above are examples of where we are already doing this. We should formalize what we mean by links, want kind of characteristics they may have: titles, reciprocal-links, reciprocal-labels, etc.

 

However has  @Eran Gery has emphasized all of this is beyond the scope of the first version of Link Profiles.

 

For me the link profile work would look something like this:

 

Version 0: Describe linking as it exists in ELM today keeping modifications to a minimum. Given the importance of GC’s for real life applications – and changing my position a bit here – this should include both opt in and opt out cases (with and out GCS), even though that means waving our hands a bit and just assuming the indexing for back links.  

 

Version 1: We reify links and include the concepts above and more.

 

 

From: Gentry, Edward <e.gentry@...>
Sent: Donnerstag, 26. Mai 2022 22:48
To: Jim Amsden <jamsden@...>; Robert Baillargeon <rbaillargeon@...>; Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; oslc-op@...; David Honey2 <david.honey@...>
Subject: Re: [oslc-op] Link profiles

 

Sorry I’ve missed the discussion today. It’s a holiday here. 

 

One thing for me is very clear. If by link we mean a single predicate then we always know where it is stored. Always. It is stored with the subject of the link. Always. 

 

We don’t store statements about resources we don’t control. And I certainly should not trust a statement made by another about a resource that belongs to me. 

 

Now if we understand a link more semantically then Jim’s suggestion that the concept “satisfies” could be expressed with two different predicates “satisfies” and “satisfies by” each potentially stored on the corresponding side is something we might consider. But I’d suggest as a second phase since nothing like this exists to my knowledge 


From: Jim Amsden <jamsden@...>
Sent: Thursday, May 26, 2022 9:33:00 PM
To: Robert Baillargeon <
rbaillargeon@...>; Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; Gentry, Edward <e.gentry@...>; oslc-op@... <oslc-op@...>; David Honey2 <david.honey@...>
Subject: RE: [oslc-op] Link profiles

 

I am specifically not proposing to store backlinks. What I’m suggesting is that which link is the forward link depends on the use case the servers are trying to support. So rather I’m proposing using constraints as a means of discovering and perhaps specifying in a profile, what the links mean in a particular situation.

 

Once discovered where the link is stored, there should be standard way of determining the incoming/inverse link.

 

 

From: Robert Baillargeon <rbaillargeon@...>
Date: Thursday, May 26, 2022 at 3:12 PM
To: Jim Amsden <
jamsden@...>, Andrii Berezovskyi <andriib@...>, Eran Gery <eran.gery@...>, "e.gentry@..." <e.gentry@...>, "oslc-op@..." <oslc-op@...>, David Honey2 <david.honey@...>
Subject: [EXTERNAL] Re: [oslc-op] Link profiles

 

I'm always for only storing the forward link. It has a clear advantage in the ability to better manage the configurations and the composition of configurations. If I could get rid of backlinks I would. ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍

ZjQcmQRYFpfptBannerStart

This Message Is From an External Sender

This message came from outside your organization.

ZjQcmQRYFpfptBannerEnd

I'm always for only storing the forward link.  It has a clear advantage in the ability to better manage the configurations and the composition of configurations.  If I could get rid of backlinks I would. 

 

When moving entirely to reverse link discovery, I would also note that we will need to have some behaviors in the tools to address when a discovery task fails due to downstream authentication, timeout, or otherwise.  We have seen situations where the inverse link is not visible and user confusion about the cause.

 

That is an interesting thought that we could discover link ownership by inspecting the shape.  Let me consider that path and see if that is complete with the information we would expect.

 

 

 

The other interesting point is to 

Chief Product Officer – Linked Data

418 N. Main Street 2nd Floor/Suite 200, Royal Oak, Michigan 48067, USA
Ph: 716 261 8338 
sodiuswillert.com

 

 

Try out our Jira and Confluence OSLC Tools on the Atlassian Marketplace


From: oslc-op@... <oslc-op@...> on behalf of David Honey2 via lists.oasis-open-projects.org <david.honey=ibm.com@...>
Sent: Thursday, May 26, 2022 2:59 PM
To: Jim Amsden <
jamsden@...>; Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; e.gentry@... <e.gentry@...>
Cc:
oslc-op@... <oslc-op@...>
Subject: Re: [oslc-op] Link profiles

 

Always trying to create both forward and back links seems like the wrong thing to do, even in opt-out mode. Servers are free to either silently ignore RDF properties it doesn’t support, or to fail the whole PUT if it contains an unsupported property. That could give rise to unpredictable behaviour.

 

An OSLC client may be able to discover which direction(s) are to be used. Consider a user wanting to create a validates requirement link between a test case and a requirement. There are two potential links (as defined by OSLC specs):

  • oslc_qm:validatesRequirement stored on the test case
  • oslc_rm:validatedBy stored on the requirement

 

A caller can GET the test case, look for its oslc:instanceShape, get that shape, and then look for the presence or absence of an OSLC property for oslc_qm:validatesRequirement. It can then GET the requirement, look for its oslc:instanceShape, get that shape, and then look for the presence or absence of an OSLC property for oslc_rm:validatedBy.

I wonder whether that’s sufficient to do the right thing for ELM and for other applications.

 

Thinking about the opt-in case….

Say you have requirement R1 version 1 (R1-1), and test case TC1 version 1 (TC1-1).
You update the test case in the context of some ETM stream, creating TC1-2 that has a
oslc_qm:validatesRequirement link to the concept R1. In order to create the back-link, you’d need to update R1-1 in the context of a DNG stream, to create R1-2. A caller won’t know which stream to use for that backlink, so the only way I can see this working is if this is done in a GC context. It also has the side-effect of creating a new version of both the source and the target. If someone looked at R1 in a GC context that resolved to R1-1, and resolved TC1 to TC1-2, you end up with an inconsistency. The oslc_rm:validatedBy link didn’t exist on R1-1, but the forward link to that requirement exists on TC1-2. I think these were the reasons why ELM decided for opt-in, there would be no backlinks.

 

David.

 

From: Jim Amsden <jamsden@...>
Sent: 26 May 2022 18:46
To: Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; David Honey2 <david.honey@...>; e.gentry@...
Cc: oslc-op@...
Subject: Re: [EXTERNAL] Link profiles

 

This is a good start, but we should understand how it supports the use cases and common practice.

 

On the issues we’ve been discussing on links: the OSLC specifications define vocabularies and shapes that specify links that would be reasonably considered inverses. Requirement validatedBy TestCase and TestCase validatesRquirement Requirement is one such example. However, OSLC does not specify which one is the property, which would be considered the inverse property, which or  “owed by” any particular server that supports RM and/or QM domains. Rather this is a server implementation decision, often driven by use cases/scenarios that support a particular work-flow – i.e., requirements vs. test driven develop in this case.

 

Fundamentally OSLC ResourceShape constraints have no way of indicating what a server expects to store vs. expects another server involved in a link relationship expects/can/has to store. So, implementations do what works for them and what is stored where must be documented outside OSLC discovery.

 

Added to that, OSLC delegated dialogs don’t establish a clear distinction between the requester and provider of the delegated dialog and who’s supposed to “own” the link – that is, which link property the pair of tools considers the actual source and target of the link, and whether the source or target resource will be the subject of the link property triple.

 

Jazz.net tools attempt to make this transparent, so the user doesn’t have to know which server is storing the link, or how the incoming links are stored or calculated. This is purely a usability issue. However, the participating servers do have to know because even through the creation of the link can be created from either direction, the servers must know which one stores it and implement the link creation accordingly. Again, there is no way to discover this.

 

We could expand ResourceShape to define inverse property constraints to provide a discoverable way for clients and servers to interoperate when creating links from either direction. I expect that might be a better approach than defining a number of profile special cases.

 

 

 

From: Andrii Berezovskyi <andriib@...>
Date: Thursday, May 26, 2022 at 11:49 AM
To: Eran Gery <
eran.gery@...>, David Honey2 <david.honey@...>, Jim Amsden <jamsden@...>, "e.gentry@..." <e.gentry@...>
Cc: "
oslc-op@..." <oslc-op@...>
Subject: [EXTERNAL] Link profiles

 

Hi, I put together a simple table for the possible profiles after the call: https://docs.google.com/spreadsheets/d/1fjjGvHrv2yPru8S_6HNoJ5atn6617cUfFUDRz5xAfKQ/edit?usp=sharing Please look at them and tell me what you think. Thanks to Eran

ZjQcmQRYFpfptBannerStart

This Message Is From an External Sender

This message came from outside your organization.

ZjQcmQRYFpfptBannerEnd

Hi,

 

I put together a simple table for the possible profiles after the call: https://docs.google.com/spreadsheets/d/1fjjGvHrv2yPru8S_6HNoJ5atn6617cUfFUDRz5xAfKQ/edit?usp=sharing

 

Please look at them and tell me what you think. Thanks to Eran for taking extra time to explain some things to me.

 

/A

Unless otherwise stated above:

IBM United Kingdom Limited
Registered in England and Wales with number 741598
Registered office: PO Box 41, North Harbour, Portsmouth, Hants. PO6 3AU


Re: Link profiles

Gentry, Edward <e.gentry@...>
 

A few ideas and observations and a concrete proposal:

 

  • A helpful idea was proposed by our French Sodius Colleague whose name escapes me.  He suggested in a conversation after our last call – and he’ll correct me if I don’t represent him well - that resource shapes should be extended so that tools could indicate which links they index.

 

  • @Jim Amsden’s  suggestion is also interesting (again he’ll correct me if I don’ represent him well) Each “link” might be represented as a pair of reciprocal predicates. For example: Let  (P and P’) be a pair of reciprocal predicates.  Then semantically, the triple (S0, P, O0), would have the same meaning the triple (O0, P’, S0).

 

  • Also I’d observe that “links” already have the concept of a reciprocal-names. Let N be the name for the P in triple (S0, P, O0) when viewed from the perceptive of S0. Then N’, the reciprocal-name is the title of P, is the title of P when it is viewed from the perspective of O2. Naturally if we had reciprocal predicates then the name of P’ (above) would be N’.

 

Besides discussing these more in detail, I’d like to make the following suggestion: We should reify the concept of link beyond just a single predicate – indeed above are examples of where we are already doing this. We should formalize what we mean by links, want kind of characteristics they may have: titles, reciprocal-links, reciprocal-labels, etc.

 

However has  @Eran Gery has emphasized all of this is beyond the scope of the first version of Link Profiles.

 

For me the link profile work would look something like this:

 

Version 0: Describe linking as it exists in ELM today keeping modifications to a minimum. Given the importance of GC’s for real life applications – and changing my position a bit here – this should include both opt in and opt out cases (with and out GCS), even though that means waving our hands a bit and just assuming the indexing for back links.  

 

Version 1: We reify links and include the concepts above and more.

 

 

From: Gentry, Edward <e.gentry@...>
Sent: Donnerstag, 26. Mai 2022 22:48
To: Jim Amsden <jamsden@...>; Robert Baillargeon <rbaillargeon@...>; Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; oslc-op@...; David Honey2 <david.honey@...>
Subject: Re: [oslc-op] Link profiles

 

Sorry I’ve missed the discussion today. It’s a holiday here. 

 

One thing for me is very clear. If by link we mean a single predicate then we always know where it is stored. Always. It is stored with the subject of the link. Always. 

 

We don’t store statements about resources we don’t control. And I certainly should not trust a statement made by another about a resource that belongs to me. 

 

Now if we understand a link more semantically then Jim’s suggestion that the concept “satisfies” could be expressed with two different predicates “satisfies” and “satisfies by” each potentially stored on the corresponding side is something we might consider. But I’d suggest as a second phase since nothing like this exists to my knowledge 


From: Jim Amsden <jamsden@...>
Sent: Thursday, May 26, 2022 9:33:00 PM
To: Robert Baillargeon <
rbaillargeon@...>; Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; Gentry, Edward <e.gentry@...>; oslc-op@... <oslc-op@...>; David Honey2 <david.honey@...>
Subject: RE: [oslc-op] Link profiles

 

I am specifically not proposing to store backlinks. What I’m suggesting is that which link is the forward link depends on the use case the servers are trying to support. So rather I’m proposing using constraints as a means of discovering and perhaps specifying in a profile, what the links mean in a particular situation.

 

Once discovered where the link is stored, there should be standard way of determining the incoming/inverse link.

 

 

From: Robert Baillargeon <rbaillargeon@...>
Date: Thursday, May 26, 2022 at 3:12 PM
To: Jim Amsden <
jamsden@...>, Andrii Berezovskyi <andriib@...>, Eran Gery <eran.gery@...>, "e.gentry@..." <e.gentry@...>, "oslc-op@..." <oslc-op@...>, David Honey2 <david.honey@...>
Subject: [EXTERNAL] Re: [oslc-op] Link profiles

 

I'm always for only storing the forward link. It has a clear advantage in the ability to better manage the configurations and the composition of configurations. If I could get rid of backlinks I would. ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍

ZjQcmQRYFpfptBannerStart

This Message Is From an External Sender

This message came from outside your organization.

ZjQcmQRYFpfptBannerEnd

I'm always for only storing the forward link.  It has a clear advantage in the ability to better manage the configurations and the composition of configurations.  If I could get rid of backlinks I would. 

 

When moving entirely to reverse link discovery, I would also note that we will need to have some behaviors in the tools to address when a discovery task fails due to downstream authentication, timeout, or otherwise.  We have seen situations where the inverse link is not visible and user confusion about the cause.

 

That is an interesting thought that we could discover link ownership by inspecting the shape.  Let me consider that path and see if that is complete with the information we would expect.

 

 

 

The other interesting point is to 

Chief Product Officer – Linked Data

418 N. Main Street 2nd Floor/Suite 200, Royal Oak, Michigan 48067, USA
Ph: 716 261 8338 
sodiuswillert.com

 

 

Try out our Jira and Confluence OSLC Tools on the Atlassian Marketplace


From: oslc-op@... <oslc-op@...> on behalf of David Honey2 via lists.oasis-open-projects.org <david.honey=ibm.com@...>
Sent: Thursday, May 26, 2022 2:59 PM
To: Jim Amsden <
jamsden@...>; Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; e.gentry@... <e.gentry@...>
Cc:
oslc-op@... <oslc-op@...>
Subject: Re: [oslc-op] Link profiles

 

Always trying to create both forward and back links seems like the wrong thing to do, even in opt-out mode. Servers are free to either silently ignore RDF properties it doesn’t support, or to fail the whole PUT if it contains an unsupported property. That could give rise to unpredictable behaviour.

 

An OSLC client may be able to discover which direction(s) are to be used. Consider a user wanting to create a validates requirement link between a test case and a requirement. There are two potential links (as defined by OSLC specs):

  • oslc_qm:validatesRequirement stored on the test case
  • oslc_rm:validatedBy stored on the requirement

 

A caller can GET the test case, look for its oslc:instanceShape, get that shape, and then look for the presence or absence of an OSLC property for oslc_qm:validatesRequirement. It can then GET the requirement, look for its oslc:instanceShape, get that shape, and then look for the presence or absence of an OSLC property for oslc_rm:validatedBy.

I wonder whether that’s sufficient to do the right thing for ELM and for other applications.

 

Thinking about the opt-in case….

Say you have requirement R1 version 1 (R1-1), and test case TC1 version 1 (TC1-1).
You update the test case in the context of some ETM stream, creating TC1-2 that has a
oslc_qm:validatesRequirement link to the concept R1. In order to create the back-link, you’d need to update R1-1 in the context of a DNG stream, to create R1-2. A caller won’t know which stream to use for that backlink, so the only way I can see this working is if this is done in a GC context. It also has the side-effect of creating a new version of both the source and the target. If someone looked at R1 in a GC context that resolved to R1-1, and resolved TC1 to TC1-2, you end up with an inconsistency. The oslc_rm:validatedBy link didn’t exist on R1-1, but the forward link to that requirement exists on TC1-2. I think these were the reasons why ELM decided for opt-in, there would be no backlinks.

 

David.

 

From: Jim Amsden <jamsden@...>
Sent: 26 May 2022 18:46
To: Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; David Honey2 <david.honey@...>; e.gentry@...
Cc: oslc-op@...
Subject: Re: [EXTERNAL] Link profiles

 

This is a good start, but we should understand how it supports the use cases and common practice.

 

On the issues we’ve been discussing on links: the OSLC specifications define vocabularies and shapes that specify links that would be reasonably considered inverses. Requirement validatedBy TestCase and TestCase validatesRquirement Requirement is one such example. However, OSLC does not specify which one is the property, which would be considered the inverse property, which or  “owed by” any particular server that supports RM and/or QM domains. Rather this is a server implementation decision, often driven by use cases/scenarios that support a particular work-flow – i.e., requirements vs. test driven develop in this case.

 

Fundamentally OSLC ResourceShape constraints have no way of indicating what a server expects to store vs. expects another server involved in a link relationship expects/can/has to store. So, implementations do what works for them and what is stored where must be documented outside OSLC discovery.

 

Added to that, OSLC delegated dialogs don’t establish a clear distinction between the requester and provider of the delegated dialog and who’s supposed to “own” the link – that is, which link property the pair of tools considers the actual source and target of the link, and whether the source or target resource will be the subject of the link property triple.

 

Jazz.net tools attempt to make this transparent, so the user doesn’t have to know which server is storing the link, or how the incoming links are stored or calculated. This is purely a usability issue. However, the participating servers do have to know because even through the creation of the link can be created from either direction, the servers must know which one stores it and implement the link creation accordingly. Again, there is no way to discover this.

 

We could expand ResourceShape to define inverse property constraints to provide a discoverable way for clients and servers to interoperate when creating links from either direction. I expect that might be a better approach than defining a number of profile special cases.

 

 

 

From: Andrii Berezovskyi <andriib@...>
Date: Thursday, May 26, 2022 at 11:49 AM
To: Eran Gery <
eran.gery@...>, David Honey2 <david.honey@...>, Jim Amsden <jamsden@...>, "e.gentry@..." <e.gentry@...>
Cc: "
oslc-op@..." <oslc-op@...>
Subject: [EXTERNAL] Link profiles

 

Hi, I put together a simple table for the possible profiles after the call: https://docs.google.com/spreadsheets/d/1fjjGvHrv2yPru8S_6HNoJ5atn6617cUfFUDRz5xAfKQ/edit?usp=sharing Please look at them and tell me what you think. Thanks to Eran

ZjQcmQRYFpfptBannerStart

This Message Is From an External Sender

This message came from outside your organization.

ZjQcmQRYFpfptBannerEnd

Hi,

 

I put together a simple table for the possible profiles after the call: https://docs.google.com/spreadsheets/d/1fjjGvHrv2yPru8S_6HNoJ5atn6617cUfFUDRz5xAfKQ/edit?usp=sharing

 

Please look at them and tell me what you think. Thanks to Eran for taking extra time to explain some things to me.

 

/A

Unless otherwise stated above:

IBM United Kingdom Limited
Registered in England and Wales with number 741598
Registered office: PO Box 41, North Harbour, Portsmouth, Hants. PO6 3AU


Re: Link profiles

Gentry, Edward <e.gentry@...>
 

I do have one concern about Jim’s inverse link suggestion (though I generally think it’s a good idea).

 

Implementing inverse links is more significant implementation work for IBM ELM.

 

  • All ELM tools need to understand that a “link” has inverse-labels and may also have inverse-links
  • Tools will need to allow the creation of and query for both (filtering in the GC as appropriate

 

IBM ELM is still the 1000 ton gorilla in the OSLC space. Any new feature, as good as it might be, until implemented in IBM ELM is irrelevant in the real world.

 

This is why I much prefer the approach (which is compatible with above) that was suggested by the sodius team.  Tools should indicate in resource shapes for which links they query. In contrast to above, this is a very small step for IBM ELM – its just modified meta-data. It sets us up nicely for some of David’s suggestions below about further extensions to resource shapes.

 

 

From: David Honey2 <david.honey@...>
Sent: Freitag, 27. Mai 2022 11:23
To: Gentry, Edward <e.gentry@...>; Jim Amsden <jamsden@...>; Robert Baillargeon <rbaillargeon@...>; Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; oslc-op@...
Subject: RE: [oslc-op] Link profiles

 

Re: We should reify the concept of link beyond just a single predicate

OSLC avoids and discourages the use of reification. It can make querying problematic, especially for OSLC query. I don’t think we should set a precedent just for this use case.

 

From: Gentry, Edward <e.gentry@...>
Sent: 27 May 2022 08:00
To: Jim Amsden <jamsden@...>; Robert Baillargeon <rbaillargeon@...>; Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; oslc-op@...; David Honey2 <david.honey@...>
Subject: [EXTERNAL] RE: [oslc-op] Link profiles

 

A few ideas and observations and a concrete proposal: A helpful idea was proposed by our French Sodius Colleague whose name escapes me. He suggested in a conversation after our last call – and he’ll correct me if I don’t represent him well

ZjQcmQRYFpfptBannerStart

This Message Is From an External Sender

This message came from outside your organization.

ZjQcmQRYFpfptBannerEnd

A few ideas and observations and a concrete proposal:

 

  • A helpful idea was proposed by our French Sodius Colleague whose name escapes me.  He suggested in a conversation after our last call – and he’ll correct me if I don’t represent him well - that resource shapes should be extended so that tools could indicate which links they index.

 

  • @Jim Amsden’s  suggestion is also interesting (again he’ll correct me if I don’ represent him well) Each “link” might be represented as a pair of reciprocal predicates. For example: Let  (P and P’) be a pair of reciprocal predicates.  Then semantically, the triple (S0, P, O0), would have the same meaning the triple (O0, P’, S0).

 

  • Also I’d observe that “links” already have the concept of a reciprocal-names. Let N be the name for the P in triple (S0, P, O0) when viewed from the perceptive of S0. Then N’, the reciprocal-name is the title of P, is the title of P when it is viewed from the perspective of O2. Naturally if we had reciprocal predicates then the name of P’ (above) would be N’.

 

Besides discussing these more in detail, I’d like to make the following suggestion: We should reify the concept of link beyond just a single predicate – indeed above are examples of where we are already doing this. We should formalize what we mean by links, want kind of characteristics they may have: titles, reciprocal-links, reciprocal-labels, etc.

 

However has  @Eran Gery has emphasized all of this is beyond the scope of the first version of Link Profiles.

 

For me the link profile work would look something like this:

 

Version 0: Describe linking as it exists in ELM today keeping modifications to a minimum. Given the importance of GC’s for real life applications – and changing my position a bit here – this should include both opt in and opt out cases (with and out GCS), even though that means waving our hands a bit and just assuming the indexing for back links.  

 

Version 1: We reify links and include the concepts above and more.

 

 

From: Gentry, Edward <e.gentry@...>
Sent: Donnerstag, 26. Mai 2022 22:48
To: Jim Amsden <jamsden@...>; Robert Baillargeon <rbaillargeon@...>; Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; oslc-op@...; David Honey2 <david.honey@...>
Subject: Re: [oslc-op] Link profiles

 

Sorry I’ve missed the discussion today. It’s a holiday here. 

 

One thing for me is very clear. If by link we mean a single predicate then we always know where it is stored. Always. It is stored with the subject of the link. Always. 

 

We don’t store statements about resources we don’t control. And I certainly should not trust a statement made by another about a resource that belongs to me. 

 

Now if we understand a link more semantically then Jim’s suggestion that the concept “satisfies” could be expressed with two different predicates “satisfies” and “satisfies by” each potentially stored on the corresponding side is something we might consider. But I’d suggest as a second phase since nothing like this exists to my knowledge 


From: Jim Amsden <jamsden@...>
Sent: Thursday, May 26, 2022 9:33:00 PM
To: Robert Baillargeon <
rbaillargeon@...>; Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; Gentry, Edward <e.gentry@...>; oslc-op@... <oslc-op@...>; David Honey2 <david.honey@...>
Subject: RE: [oslc-op] Link profiles

 

I am specifically not proposing to store backlinks. What I’m suggesting is that which link is the forward link depends on the use case the servers are trying to support. So rather I’m proposing using constraints as a means of discovering and perhaps specifying in a profile, what the links mean in a particular situation.

 

Once discovered where the link is stored, there should be standard way of determining the incoming/inverse link.

 

 

From: Robert Baillargeon <rbaillargeon@...>
Date: Thursday, May 26, 2022 at 3:12 PM
To: Jim Amsden <
jamsden@...>, Andrii Berezovskyi <andriib@...>, Eran Gery <eran.gery@...>, "e.gentry@..." <e.gentry@...>, "oslc-op@..." <oslc-op@...>, David Honey2 <david.honey@...>
Subject: [EXTERNAL] Re: [oslc-op] Link profiles

 

I'm always for only storing the forward link. It has a clear advantage in the ability to better manage the configurations and the composition of configurations. If I could get rid of backlinks I would. ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍

ZjQcmQRYFpfptBannerStart

This Message Is From an External Sender

This message came from outside your organization.

ZjQcmQRYFpfptBannerEnd

I'm always for only storing the forward link.  It has a clear advantage in the ability to better manage the configurations and the composition of configurations.  If I could get rid of backlinks I would. 

 

When moving entirely to reverse link discovery, I would also note that we will need to have some behaviors in the tools to address when a discovery task fails due to downstream authentication, timeout, or otherwise.  We have seen situations where the inverse link is not visible and user confusion about the cause.

 

That is an interesting thought that we could discover link ownership by inspecting the shape.  Let me consider that path and see if that is complete with the information we would expect.

 

 

 

The other interesting point is to 

Chief Product Officer – Linked Data

418 N. Main Street 2nd Floor/Suite 200, Royal Oak, Michigan 48067, USA
Ph: 716 261 8338 
sodiuswillert.com

 

 

Try out our Jira and Confluence OSLC Tools on the Atlassian Marketplace


From: oslc-op@... <oslc-op@...> on behalf of David Honey2 via lists.oasis-open-projects.org <david.honey=ibm.com@...>
Sent: Thursday, May 26, 2022 2:59 PM
To: Jim Amsden <
jamsden@...>; Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; e.gentry@... <e.gentry@...>
Cc:
oslc-op@... <oslc-op@...>
Subject: Re: [oslc-op] Link profiles

 

Always trying to create both forward and back links seems like the wrong thing to do, even in opt-out mode. Servers are free to either silently ignore RDF properties it doesn’t support, or to fail the whole PUT if it contains an unsupported property. That could give rise to unpredictable behaviour.

 

An OSLC client may be able to discover which direction(s) are to be used. Consider a user wanting to create a validates requirement link between a test case and a requirement. There are two potential links (as defined by OSLC specs):

  • oslc_qm:validatesRequirement stored on the test case
  • oslc_rm:validatedBy stored on the requirement

 

A caller can GET the test case, look for its oslc:instanceShape, get that shape, and then look for the presence or absence of an OSLC property for oslc_qm:validatesRequirement. It can then GET the requirement, look for its oslc:instanceShape, get that shape, and then look for the presence or absence of an OSLC property for oslc_rm:validatedBy.

I wonder whether that’s sufficient to do the right thing for ELM and for other applications.

 

Thinking about the opt-in case….

Say you have requirement R1 version 1 (R1-1), and test case TC1 version 1 (TC1-1).
You update the test case in the context of some ETM stream, creating TC1-2 that has a
oslc_qm:validatesRequirement link to the concept R1. In order to create the back-link, you’d need to update R1-1 in the context of a DNG stream, to create R1-2. A caller won’t know which stream to use for that backlink, so the only way I can see this working is if this is done in a GC context. It also has the side-effect of creating a new version of both the source and the target. If someone looked at R1 in a GC context that resolved to R1-1, and resolved TC1 to TC1-2, you end up with an inconsistency. The oslc_rm:validatedBy link didn’t exist on R1-1, but the forward link to that requirement exists on TC1-2. I think these were the reasons why ELM decided for opt-in, there would be no backlinks.

 

David.

 

From: Jim Amsden <jamsden@...>
Sent: 26 May 2022 18:46
To: Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; David Honey2 <david.honey@...>; e.gentry@...
Cc: oslc-op@...
Subject: Re: [EXTERNAL] Link profiles

 

This is a good start, but we should understand how it supports the use cases and common practice.

 

On the issues we’ve been discussing on links: the OSLC specifications define vocabularies and shapes that specify links that would be reasonably considered inverses. Requirement validatedBy TestCase and TestCase validatesRquirement Requirement is one such example. However, OSLC does not specify which one is the property, which would be considered the inverse property, which or  “owed by” any particular server that supports RM and/or QM domains. Rather this is a server implementation decision, often driven by use cases/scenarios that support a particular work-flow – i.e., requirements vs. test driven develop in this case.

 

Fundamentally OSLC ResourceShape constraints have no way of indicating what a server expects to store vs. expects another server involved in a link relationship expects/can/has to store. So, implementations do what works for them and what is stored where must be documented outside OSLC discovery.

 

Added to that, OSLC delegated dialogs don’t establish a clear distinction between the requester and provider of the delegated dialog and who’s supposed to “own” the link – that is, which link property the pair of tools considers the actual source and target of the link, and whether the source or target resource will be the subject of the link property triple.

 

Jazz.net tools attempt to make this transparent, so the user doesn’t have to know which server is storing the link, or how the incoming links are stored or calculated. This is purely a usability issue. However, the participating servers do have to know because even through the creation of the link can be created from either direction, the servers must know which one stores it and implement the link creation accordingly. Again, there is no way to discover this.

 

We could expand ResourceShape to define inverse property constraints to provide a discoverable way for clients and servers to interoperate when creating links from either direction. I expect that might be a better approach than defining a number of profile special cases.

 

 

 

From: Andrii Berezovskyi <andriib@...>
Date: Thursday, May 26, 2022 at 11:49 AM
To: Eran Gery <
eran.gery@...>, David Honey2 <david.honey@...>, Jim Amsden <jamsden@...>, "e.gentry@..." <e.gentry@...>
Cc: "
oslc-op@..." <oslc-op@...>
Subject: [EXTERNAL] Link profiles

 

Hi, I put together a simple table for the possible profiles after the call: https://docs.google.com/spreadsheets/d/1fjjGvHrv2yPru8S_6HNoJ5atn6617cUfFUDRz5xAfKQ/edit?usp=sharing Please look at them and tell me what you think. Thanks to Eran

ZjQcmQRYFpfptBannerStart

This Message Is From an External Sender

This message came from outside your organization.

ZjQcmQRYFpfptBannerEnd

Hi,

 

I put together a simple table for the possible profiles after the call: https://docs.google.com/spreadsheets/d/1fjjGvHrv2yPru8S_6HNoJ5atn6617cUfFUDRz5xAfKQ/edit?usp=sharing

 

Please look at them and tell me what you think. Thanks to Eran for taking extra time to explain some things to me.

 

/A

Unless otherwise stated above:

IBM United Kingdom Limited
Registered in England and Wales with number 741598
Registered office: PO Box 41, North Harbour, Portsmouth, Hants. PO6 3AU

Unless otherwise stated above:

IBM United Kingdom Limited
Registered in England and Wales with number 741598
Registered office: PO Box 41, North Harbour, Portsmouth, Hants. PO6 3AU


Re: Link profiles

David Honey2
 

Re: We should reify the concept of link beyond just a single predicate

OSLC avoids and discourages the use of reification. It can make querying problematic, especially for OSLC query. I don’t think we should set a precedent just for this use case.

 

From: Gentry, Edward <e.gentry@...>
Sent: 27 May 2022 08:00
To: Jim Amsden <jamsden@...>; Robert Baillargeon <rbaillargeon@...>; Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; oslc-op@...; David Honey2 <david.honey@...>
Subject: [EXTERNAL] RE: [oslc-op] Link profiles

 

A few ideas and observations and a concrete proposal: A helpful idea was proposed by our French Sodius Colleague whose name escapes me. He suggested in a conversation after our last call – and he’ll correct me if I don’t represent him well

ZjQcmQRYFpfptBannerStart

This Message Is From an External Sender

This message came from outside your organization.

ZjQcmQRYFpfptBannerEnd

A few ideas and observations and a concrete proposal:

 

  • A helpful idea was proposed by our French Sodius Colleague whose name escapes me.  He suggested in a conversation after our last call – and he’ll correct me if I don’t represent him well - that resource shapes should be extended so that tools could indicate which links they index.

 

  • @Jim Amsden’s  suggestion is also interesting (again he’ll correct me if I don’ represent him well) Each “link” might be represented as a pair of reciprocal predicates. For example: Let  (P and P’) be a pair of reciprocal predicates.  Then semantically, the triple (S0, P, O0), would have the same meaning the triple (O0, P’, S0).

 

  • Also I’d observe that “links” already have the concept of a reciprocal-names. Let N be the name for the P in triple (S0, P, O0) when viewed from the perceptive of S0. Then N’, the reciprocal-name is the title of P, is the title of P when it is viewed from the perspective of O2. Naturally if we had reciprocal predicates then the name of P’ (above) would be N’.

 

Besides discussing these more in detail, I’d like to make the following suggestion: We should reify the concept of link beyond just a single predicate – indeed above are examples of where we are already doing this. We should formalize what we mean by links, want kind of characteristics they may have: titles, reciprocal-links, reciprocal-labels, etc.

 

However has  @Eran Gery has emphasized all of this is beyond the scope of the first version of Link Profiles.

 

For me the link profile work would look something like this:

 

Version 0: Describe linking as it exists in ELM today keeping modifications to a minimum. Given the importance of GC’s for real life applications – and changing my position a bit here – this should include both opt in and opt out cases (with and out GCS), even though that means waving our hands a bit and just assuming the indexing for back links.  

 

Version 1: We reify links and include the concepts above and more.

 

 

From: Gentry, Edward <e.gentry@...>
Sent: Donnerstag, 26. Mai 2022 22:48
To: Jim Amsden <jamsden@...>; Robert Baillargeon <rbaillargeon@...>; Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; oslc-op@...; David Honey2 <david.honey@...>
Subject: Re: [oslc-op] Link profiles

 

Sorry I’ve missed the discussion today. It’s a holiday here. 

 

One thing for me is very clear. If by link we mean a single predicate then we always know where it is stored. Always. It is stored with the subject of the link. Always. 

 

We don’t store statements about resources we don’t control. And I certainly should not trust a statement made by another about a resource that belongs to me. 

 

Now if we understand a link more semantically then Jim’s suggestion that the concept “satisfies” could be expressed with two different predicates “satisfies” and “satisfies by” each potentially stored on the corresponding side is something we might consider. But I’d suggest as a second phase since nothing like this exists to my knowledge 


From: Jim Amsden <jamsden@...>
Sent: Thursday, May 26, 2022 9:33:00 PM
To: Robert Baillargeon <
rbaillargeon@...>; Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; Gentry, Edward <e.gentry@...>; oslc-op@... <oslc-op@...>; David Honey2 <david.honey@...>
Subject: RE: [oslc-op] Link profiles

 

I am specifically not proposing to store backlinks. What I’m suggesting is that which link is the forward link depends on the use case the servers are trying to support. So rather I’m proposing using constraints as a means of discovering and perhaps specifying in a profile, what the links mean in a particular situation.

 

Once discovered where the link is stored, there should be standard way of determining the incoming/inverse link.

 

 

From: Robert Baillargeon <rbaillargeon@...>
Date: Thursday, May 26, 2022 at 3:12 PM
To: Jim Amsden <
jamsden@...>, Andrii Berezovskyi <andriib@...>, Eran Gery <eran.gery@...>, "e.gentry@..." <e.gentry@...>, "oslc-op@..." <oslc-op@...>, David Honey2 <david.honey@...>
Subject: [EXTERNAL] Re: [oslc-op] Link profiles

 

I'm always for only storing the forward link. It has a clear advantage in the ability to better manage the configurations and the composition of configurations. If I could get rid of backlinks I would. ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍

ZjQcmQRYFpfptBannerStart

This Message Is From an External Sender

This message came from outside your organization.

ZjQcmQRYFpfptBannerEnd

I'm always for only storing the forward link.  It has a clear advantage in the ability to better manage the configurations and the composition of configurations.  If I could get rid of backlinks I would. 

 

When moving entirely to reverse link discovery, I would also note that we will need to have some behaviors in the tools to address when a discovery task fails due to downstream authentication, timeout, or otherwise.  We have seen situations where the inverse link is not visible and user confusion about the cause.

 

That is an interesting thought that we could discover link ownership by inspecting the shape.  Let me consider that path and see if that is complete with the information we would expect.

 

 

 

The other interesting point is to 

Chief Product Officer – Linked Data

418 N. Main Street 2nd Floor/Suite 200, Royal Oak, Michigan 48067, USA
Ph: 716 261 8338 
sodiuswillert.com

 

 

Try out our Jira and Confluence OSLC Tools on the Atlassian Marketplace


From: oslc-op@... <oslc-op@...> on behalf of David Honey2 via lists.oasis-open-projects.org <david.honey=ibm.com@...>
Sent: Thursday, May 26, 2022 2:59 PM
To: Jim Amsden <
jamsden@...>; Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; e.gentry@... <e.gentry@...>
Cc:
oslc-op@... <oslc-op@...>
Subject: Re: [oslc-op] Link profiles

 

Always trying to create both forward and back links seems like the wrong thing to do, even in opt-out mode. Servers are free to either silently ignore RDF properties it doesn’t support, or to fail the whole PUT if it contains an unsupported property. That could give rise to unpredictable behaviour.

 

An OSLC client may be able to discover which direction(s) are to be used. Consider a user wanting to create a validates requirement link between a test case and a requirement. There are two potential links (as defined by OSLC specs):

  • oslc_qm:validatesRequirement stored on the test case
  • oslc_rm:validatedBy stored on the requirement

 

A caller can GET the test case, look for its oslc:instanceShape, get that shape, and then look for the presence or absence of an OSLC property for oslc_qm:validatesRequirement. It can then GET the requirement, look for its oslc:instanceShape, get that shape, and then look for the presence or absence of an OSLC property for oslc_rm:validatedBy.

I wonder whether that’s sufficient to do the right thing for ELM and for other applications.

 

Thinking about the opt-in case….

Say you have requirement R1 version 1 (R1-1), and test case TC1 version 1 (TC1-1).
You update the test case in the context of some ETM stream, creating TC1-2 that has a oslc_qm:validatesRequirement link to the concept R1. In order to create the back-link, you’d need to update R1-1 in the context of a DNG stream, to create R1-2. A caller won’t know which stream to use for that backlink, so the only way I can see this working is if this is done in a GC context. It also has the side-effect of creating a new version of both the source and the target. If someone looked at R1 in a GC context that resolved to R1-1, and resolved TC1 to TC1-2, you end up with an inconsistency. The oslc_rm:validatedBy link didn’t exist on R1-1, but the forward link to that requirement exists on TC1-2. I think these were the reasons why ELM decided for opt-in, there would be no backlinks.

 

David.

 

From: Jim Amsden <jamsden@...>
Sent: 26 May 2022 18:46
To: Andrii Berezovskyi <andriib@...>; Eran Gery <eran.gery@...>; David Honey2 <david.honey@...>; e.gentry@...
Cc: oslc-op@...
Subject: Re: [EXTERNAL] Link profiles

 

This is a good start, but we should understand how it supports the use cases and common practice.

 

On the issues we’ve been discussing on links: the OSLC specifications define vocabularies and shapes that specify links that would be reasonably considered inverses. Requirement validatedBy TestCase and TestCase validatesRquirement Requirement is one such example. However, OSLC does not specify which one is the property, which would be considered the inverse property, which or  “owed by” any particular server that supports RM and/or QM domains. Rather this is a server implementation decision, often driven by use cases/scenarios that support a particular work-flow – i.e., requirements vs. test driven develop in this case.

 

Fundamentally OSLC ResourceShape constraints have no way of indicating what a server expects to store vs. expects another server involved in a link relationship expects/can/has to store. So, implementations do what works for them and what is stored where must be documented outside OSLC discovery.

 

Added to that, OSLC delegated dialogs don’t establish a clear distinction between the requester and provider of the delegated dialog and who’s supposed to “own” the link – that is, which link property the pair of tools considers the actual source and target of the link, and whether the source or target resource will be the subject of the link property triple.

 

Jazz.net tools attempt to make this transparent, so the user doesn’t have to know which server is storing the link, or how the incoming links are stored or calculated. This is purely a usability issue. However, the participating servers do have to know because even through the creation of the link can be created from either direction, the servers must know which one stores it and implement the link creation accordingly. Again, there is no way to discover this.

 

We could expand ResourceShape to define inverse property constraints to provide a discoverable way for clients and servers to interoperate when creating links from either direction. I expect that might be a better approach than defining a number of profile special cases.

 

 

 

From: Andrii Berezovskyi <andriib@...>
Date: Thursday, May 26, 2022 at 11:49 AM
To: Eran Gery <
eran.gery@...>, David Honey2 <david.honey@...>, Jim Amsden <jamsden@...>, "e.gentry@..." <e.gentry@...>
Cc: "
oslc-op@..." <oslc-op@...>
Subject: [EXTERNAL] Link profiles

 

Hi, I put together a simple table for the possible profiles after the call: https://docs.google.com/spreadsheets/d/1fjjGvHrv2yPru8S_6HNoJ5atn6617cUfFUDRz5xAfKQ/edit?usp=sharing Please look at them and tell me what you think. Thanks to Eran

ZjQcmQRYFpfptBannerStart

This Message Is From an External Sender

This message came from outside your organization.

ZjQcmQRYFpfptBannerEnd

Hi,

 

I put together a simple table for the possible profiles after the call: https://docs.google.com/spreadsheets/d/1fjjGvHrv2yPru8S_6HNoJ5atn6617cUfFUDRz5xAfKQ/edit?usp=sharing

 

Please look at them and tell me what you think. Thanks to Eran for taking extra time to explain some things to me.

 

/A

Unless otherwise stated above:

IBM United Kingdom Limited
Registered in England and Wales with number 741598
Registered office: PO Box 41, North Harbour, Portsmouth, Hants. PO6 3AU

Unless otherwise stated above:

IBM United Kingdom Limited
Registered in England and Wales with number 741598
Registered office: PO Box 41, North Harbour, Portsmouth, Hants. PO6 3AU

201 - 220 of 1059