Uploaded image for project: 'OASIS OSLC Lifecycle Integration Core (OSLC Core) TC'
  1. OASIS OSLC Lifecycle Integration Core (OSLC Core) TC
  2. OSLCCORE-90

Provide information for clients to know which constraint apply in which context

    XMLWordPrintable

    Details

    • Type: New Feature
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Component/s: Core
    • Labels:
      None

      Description

      From Nick:

      A typical example of where multiple shapes can apply to a single type of resource is found in the shapes for creation factories, query capabilities, and instance shapes. A shape on a creation factory can indicate the properties required to create a new instance of a class using that factory, where a shape on a query capability may indicate a potentially wider set of properties you might see on previously existing resources of that type, and the shape on an instance may indicate the properties allowed in the current state of that instance and/or required to progress to the next state in the lifecycle. Creation factories and query capabilities have oslc:usage properties that help define the context in which they can be used, and hence the contexts in which those shapes are applicable.

      Unfortunately, at least in my mind, there is no good way for a client to determine the intended meaning of multiple instance shapes on a single resource. The 2.0 specs and related notes do not say much at all about this. The 3.0 specs are explicitly vague! They say:

      If more than one shape applies to a resource then that resource shouldsatisfy all the constraints defined by all the shapes (AND semantics). However, the specification for a service description maydefine alternate semantics. For example, a service mayrequire that the resource satisfy the constraints defined by at least one of the shapes (OR semantics).

      However, there is no defined way for a service to tell a client which semantics are intended.

      I do think we could improve this. For example, perhaps a resource shape should have an optional oslc:usage property that help define the context in which they are applicable, and perhaps a service should have some defined way to describe the meaning of multiple instance shapes with the same or no usage.

        Attachments

          Activity

            People

            • Assignee:
              jamsden James Amsden
              Reporter:
              jamsden James Amsden
            • Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: