Resource Shapes for OSLC Configuration Management
Shapes for resources defined by OSLC Configuration Management.
A type of configuration that accepts this configuration as a contribution. {{A configuration with no value for `oslc_config:acceptedBy` MUST NOT be used as a contribution to any other configuration}} - that is, it can only be a root of a configuration hierarchy (or a stand-alone configuration if there is also no value for `oslc_config:accepts`). Such configurations should be rare.
A type of configuration that is acceptable as a contribution to this stream. A configuration with no value for this predicate accepts no contributions - that is, it can only be a leaf in a configuration hierarchy.
Indicates whether the subject has been marked as archived, no longer an active resource.
An indicator of the intended purpose of the configuration.
The component of which this is a configuration, and from which the configuration selects versions of resources in the component. The component is an invariant relating the different configurations of the same 'thing'.
Contributor or contributors to the resource. The link target is usually a `foaf:Person` or `foaf:Agent`, but could be any type.
Timestamp of resource creation. {{Each resource SHOULD have one instance of the `dcterms:created` property}}.
Creator or creators of the resource. The link target is usually a `foaf:Person` or `foaf:Agent`, but could be any type.
Descriptive text about the resource, represented as rich text in XHTML content.
The URI of a Resource Shape that describes the possible properties, occurrence, value types, allowed values and labels. This shape information is useful in displaying the subject resource as well as guiding clients in performing modifications. Instance shapes may be specific to the authenticated user associated with the request that retrieved the resource, the current state of the resource, and other factors, so {{instance shapes SHOULD NOT be cached}}.
Timestamp of latest resource modification. {{Each resource SHOULD have one instance of the `dcterms:modified` property}}.
The entity that most recently modified the subject resource. The link target is usually a `foaf:Person` or `foaf:Agent`, but could be any type.
A link to a resource indicating a target release for the artifacts selected by this configuration.
A link to the resource's OSLC Service Provider. If the subject resource is available from an application that implements multiple domain specifications, there can be multiple values for this property.
A short and human-readable identifier for the resource, such as a number.
A short title for the resource, represented as rich text in XHTML content.
Tag or keyword for a resource. Each occurrence of a `dcterms:subject` property denotes an additional tag for the resource.
Title of the resource, represented as rich text in XHTML content.
A stream or baseline from which this stream was first copied. This property can be absent for streams created as new empty streams. Multiple instances of this property imply the stream was initially formed from a merge from one or more baselines. {{The `prov:wasDerivedFrom` property is undefined for baselines; it MAY be absent, or it MAY have the same value as `oslc_config:baselineOfStream`}}. If this property is present on multiple change sets overriding the same base configuration, it implies a partial ordering of those change sets, identifying change sets derived from earlier change sets on the same base. {{Servers SHOULD treat this property as read-only after initial creation}}.
A set of versioned resources; a configuration selects zero, one, or (very rarely) more than one version of these resources. {{A component itself MAY be a versioned resource}}, indicated by the RDF type `oslc_config:VersionResource` on its versions, but need not be versioned; the semantics of versioned components are not defined by this specification. Typically, components themselves are not nested - that is, typically none of the members of an `oslc_config:Component` container are themselves of type `oslc_config:Component`; any required structure and hierarchy is realized through configurations, or through the structures within the configuration items themselves (e.g., versioned folders or directories).
A resource type URI. {{A Component MUST have a resource type of `oslc_config:Component`}}. {{A component MAY be a Linked Data Platform Container, containing the concept resources associated with this component}}. {{The members of such an `oslc_config:Component` container MUST NOT be of type `oslc_config:Configuration`}}; sub-configurations are given in the `oslc_config:contributions` property. No meaning is assigned to a member of type `oslc_config:Component`; neither client nor server is obligated to perform any recursion through nested Components. {{Servers MAY treat the `rdf:type` property for a component as read-only.
The Linked Data Platform Container that contains all the configurations (both streams and baselines) of this component. {{The `oslc_config:configurations` property on a component is read-only; servers MAY also treat the referenced container as read-only}}. If it is not read-only, {{the container MAY have an `oslc:resourceShape` property referencing a resource shape that describes the container}}. {{If a container resource shape is specified, the shape SHOULD have a property describing the membership of the container with a `oslc:valueShape` referencing a resource shape that describes the shapes of streams and baselines that may be created}}.
The shape of a baseline. {{Properties of a baseline defined in this specification MUST be read-only unless stated otherwise}}.
A resource type URI. {{A baseline MUST have at least the resource type `oslc_config:Baseline`}}. Clients can infer a resource type of `oslc_config:Configuration`, but there is no requirement for servers to materialize this triple in the RDF representation. {{Other types MAY be added, including types that are used in `oslc_config:accepts` and `oslc_config:acceptedBy` properties}} to define which matching configurations may be added as contributions to this configuration, or to which this configuration may be added as a contribution. {{Servers MAY treat the `rdf:type` property of a baseline as read-only}}.
Indicates the stream of which this is a baseline. Note that the referenced resource might no longer exist (streams are mutable so can be deleted), but this property remains valuable to relate all baselines of the same stream.
An indicator of the intended purpose of the baseline.
The entity that committed this configuration as a baseline. The link target is usually a `foaf:Person` or `foaf:Agent`, but could be any type.
Date and time this configuration was committed as a baseline.
A contribution to this baseline. The set of resource versions identified by this baseline is the union of the set determined by the `oslc_config:selections` resources and each of the sets of resource versions identified by the contributed baselines. {{The target MUST be of type `oslc_config:Contribution`}}. {{Contribution resources MUST be returned inline with the baseline resource}}. {{In the set of Contribution resources for a single parent baseline, there MUST be only one Contribution resource for a given contributed baseline}}.
Descriptive text about the resource, represented as rich text in XHTML content. {{The description of a baseline MAY be modifiable}}.
A reference to the immediately preceding baseline of the same stream. Multiple instances of this property imply the stream was merged from one or more baselines before this baseline was taken. {{This property MAY be updated by the server to refer to earlier baselines when intermediate baselines are deleted}}.
A reference to a resource identifying immutable versions of the resources (configuration items) in the configuration. The set of version resources identified is the union of the sets in all the selections resources. Since selections properties are not ordered, there is no defined meaning to a selection that appears in two or more different selections properties; {{servers MAY treat such multiple occurrences of selections as an error}}.
The Linked Data Platform Container that contains all the streams derived from this baseline. A new stream derived from this baseline is created by a POST to this container; {{a `previousBaseline` property of the new stream MUST be set to refer to this baseline}}. Note that the `streams` property itself is immutable, but the container referenced by the property is not. {{The container MAY have an `oslc:resourceShape` property referencing a resource shape that describes the container}}. {{If a container resource shape is specified, it should have a property describing the membership of the container with a ``oslc:valueShape`` referencing a resource shape that describes the shapes of streams that may be created}}.
Tag or keyword for a resource. Each occurrence of a `dcterms:subject` property denotes an additional tag for the resource. {{Tags on baselines MUST be modifiable}}.
Title of the resource, represented as rich text in XHTML content. {{The title of a baseline SHOULD be modifiable}}.
A resource type URI. {{A stream MUST have at least the resource type `oslc_config:Stream`}}. Clients can infer a resource type of `oslc_config:Configuration`, but there is no requirement for servers to materialize this triple in the RDF representation. {{Other types MAY be added, including types that are used in `oslc_config:accepts` and `oslc_config:acceptedBy` properties to define which matching configurations may be added as contributions to this configuration, or to which this configuration may be added as a contribution}}. {{Servers MAY treat this property as read-only}}.
The Linked Data Platform Container that contains all the baselines of this stream. A new baseline of this stream is created by a POST to this container. Note that the `baselines` property itself is immutable, but the container referenced by the property is not. {{The container MAY have an `oslc:resourceShape` property referencing a resource shape that describes the container}}. {{If a container resource shape is specified, it SHOULD have a property describing the membership of the container with a `oslc:valueShape` referencing a resource shape that describes the additional properties that may be specified for baselines}}.
A reference to the immediately preceding baseline of this stream. Multiple instances of this property imply the stream was merged from one or more baselines, and no baseline of the merged result has yet been taken. If the property is absent, no baseline of this stream has been taken.
A reference to a resource identifying versions of the resources (configuration items) in the configuration. The set of version resources identified is the union of the sets in all the selections resources. Since selections properties are not ordered, there is no defined meaning to a selection that appears in two or more different selections properties; {{servers MAY treat such multiple occurrences of selections as an error}}. {{Servers MAY treat this property as read-only}}.
A contribution to this configuration. The set of resource versions identified by this configuration is the union of the set determined by the `oslc_config:selections` resources and each of the sets of resource versions identified by the contributed configurations. A user can request an update to a configuration to change the set of contributions; {{servers MAY deny such requests if any added contributions do not match this configuration}}. {{The target MUST be of type `oslc_config:Contribution`}}. {{Contribution resources MUST be returned inline with the configuration resource}}. In the set of Contribution resources for a single parent configuration, {{there MUST be only one Contribution resource for a given contributed configuration}}.
A resource type URI. Clients can infer a resource type of `oslc_config:Contribution`, but there is no requirement for servers to materialize this triple in the RDF representation.
The contributed configuration. This property is read-only for contributions to a baseline, and modifiable for contributions to a stream. {{On a PUT or POST of a Stream resource and its Contributions, this contributed configuration SHOULD be unique amongst the set of configurations contributed to a given parent configuration}}. {{a server MAY collapse multiple contributions for the same configuration to a single contribution}}. During such a reduction of multiple Contribution resources to a single Contribution resource, this specification does not define the contributionOrder value in the merged result.
An indication of the order of the contribution, relative to other contributions. Contributions are sorted lexicographically on the Unicode code points of this value to resolve component skew. To ensure predictable sorting regardless of implementation and locale, {{the `oslc_config:contributionOrder` string SHOULD be restricted to ASCII characters}}. {{Servers MUST support at least 64 characters in this string}}. This property is read-only for contributions to a baseline, and modifiable for contributions to a stream.
A reference to a configuration overridden by the configuration of this contribution.
The resources selected by a configuration.
A resource type URI. {{A Selections resource MUST have at least the resource type `oslc_config:Selections`}}. {{Selections resources MAY also have the type `oslc_config:UnboundSelections`}}.
{{If the selection type is not `oslc_config:UnboundSelections`, the target resource MUST be a version resource}}. If the selection type is `oslc_config:UnboundSelections`, the target is a concept URI for a concept resource that should be in the configuration, but for which no version is determined by this selection. Unbound selections can be bound to specific versions by mechanisms not defined by this specification (such as effectivity parameters, variability parameters, etc.), or may be left unbound, in which case the configuration may represent an incomplete or abstract view of a system. {{Selected resources MUST NOT be of type `oslc_config:Configuration`}}; sub-configurations are given in the `oslc_config:contributions` property. No meaning is assigned to a selected resource of type `oslc_config:Component`. {{This property is read-only for selections of a baseline, but MAY be modifiable for selections of a stream}}.
A ChangeSet is a mutable configuration (a type of stream) that replaces, or identifies a set of changes from, the configuration identified by the `oslc_config:overrides` property. That overridden configuration may be either a stream or a baseline, but a change set itself may not be a baseline. {{Servers MAY refuse to construct a baseline of a change set configuration}}. This specification does not define the meaning of one change set overriding another change set; {{servers MAY treat this as an error}}. If this change set has any contributions, those contributions completely replace the contributions to the overridden configuration when using this change set configuration as a context for resolving versions, or any configuration that contains this change set as a contribution; if this change set has no contributions, any contributions to the overridden configuration are handled normally. Selections in the change set may add to, replace, or remove from, the selections in the overridden configuration, as defined in ChangeSet Selections.
A resource type URI. {{A change set configuration MUST have at least the resource type `oslc_config:ChangeSet`}}. Clients may infer a resource type of `oslc_config:Configuration`, but there is no requirement for servers to materialize this triple in the RDF representation. Other types may be added, including types that are used in `oslc_config:accepts` properties to define which matching configurations to which this configuration may be added as a contribution. {{Servers MAY treat this property as read-only}}.
A reference to a resource identifying versions of the resources (configuration items) in the configuration; these selections override, reduce, or extend the selections in the configuration identified by the `oslc_config:overrides` property. {{Servers MAY treat this property as read-only}}.
A reference to a configuration modified or overridden by this change set configuration.
A contribution to this change set configuration. {{Servers MAY support contributions to change sets}}, and if so, this property behaves just as that for streams.
A resource type URI. {{A change set Selections resource MUST have at least the resource type `oslc_config:Selections`}}. {{Change set selections resources MAY also have the types `oslc_config:ChangeSetSelections`, `oslc_config:UnboundSelections`, `oslc_config:Removals`, or `oslc_config:RemoveAll`}}.
A selected version resource. {{Selected resources MUST NOT be of type `oslc_config:Configuration`}}; sub-configurations are given in the `oslc_config:contributions` property. No meaning is assigned to a selected resource of type `oslc_config:Component`. {{This property MAY be modifiable for selections of a change set}}. If the subject has the type `oslc_config:RemoveAll`, all selections in the overriden configuration are to be ignored; all selections are in this and other `oslc_selects` properties of the change set. Any target concept or version resources (depending on the presence or absence of the type `oslc_config:UnboundSelections`) indicated in this selection resource are selected in this configuration. Otherwise, if the subject has the type `oslc_config:Removals`, the indicated target concepts or versions are explicitly removed from the set of versions selected by the configuration overridden by this configuration. Otherwise, if the subject has only the type `oslc_config:Selections`, the indicated target concept or version resources are selected by this configuration; a change set selection overrides (replaces) the concepts or versions selected by a matching concept resource in the overridden configuration's selection, and adds additional selections for concept resources that are not mentioned in the overridden configuration's selection. Since selections properties are not ordered, there is no defined meaning to a selection that appears in two or more different selections properties of any types, or to a change set that include both a `oslc_config:RemoveAll` and a `oslc_config:Removals` selection; {{servers MAY treat occurrences of potentially conflicting selections as an error}}.
A ChangeSetDelivery is a resource representing the delivery of a single change set to a single target stream.
A resource type URI. {{A change set delivery MUST have at least the resource type `oslc_config:ChangeSetDelivery`}}. Clients may infer a resource type of `oslc_config:ChangeSetDelivery`, but there is no requirement for servers to materialize this triple in the RDF representation. .
A reference to a resource identifying the change set that was delivered. This cannot be modified after creation.
A reference to a resource identifying the stream to which the change set was delivered. This cannot be modified after creation.
The shape of a ChangeSetDeliveryConflict.
A ChangeSetDeliveryConflict is a resource representing a conflict error in the delivery of a single change set to a single target stream.
A resource type URI. {{A change set delivery conflict MUST have at least the resource type `oslc_config:ChangeSetDeliveryConflict`}}. Clients may infer a resource type of `oslc_config:ChangeSetDeliveryConflict`, but there is no requirement for servers to materialize this triple in the RDF representation. .
The version resource in the source configuration that is in conflict.
The version resource in the target stream that is in conflict.
An activity is a read-only resource representing a long-running operation, such as recursive baseline or stream creation.
A resource type URI. {{An Activity MUST have a resource type of `oslc_config:Activity`, and MAY have other types}}.
Timestamp of the last change of status. If this property is missing, the time of creation can be taken to be the same as the last change of status.
The percentage (0-100) of completion, if known.
Descriptive text about the progress of the activity, represented as rich text in XHTML content.
A reference to a resource providing more details about the progress or result of the activity. For successful or partially successful operations, {{the `dcterms:references` property MUST be present, providing a link to the primary resource created or affected by the operation}}. For completely unsuccessful activities, this property may be missing. {{For activities still in progress, this MAY be a reference to a resource providing further information; which MAY be provided inline}}.
The state of the activity, as defined by OSLC Automation states.
A name for the activity, or current phase of the activity.
The result of the activity, as defined by OSLC Automation verdicts.
A warning or error issued by the activity. {{Instances of this property MAY appear at any time during the execution of the activity, or MAY be returned only after the activity is complete}}.
{{The shape of a versioned resource: all versioned resources MUST match this shape}}. {{Versioned resources SHOULD match other shapes appropriate for their types - that is, they MAY have additional properties and property constraints beyond those defined here}}.
A resource type URI. {{One of the type properties MUST have the version resource URI as the subject, and MUST have a resource type of `oslc_config:VersionResource`}}. {{Other types for the concept resource of which this is a version SHOULD use the concept resource URI as the subject}}.
The concept resource of which this resource is a version. {{The subject of this property MUST be the version resource URI}}.
Date and time this version resource was checked in. Absent for mutable (checked out) versions.
The entity that checked in this version.
The component to which this version belongs. {{Configuration Management servers SHOULD indicate the owning component for each version resource using either this property, or using the membership relationship from the component LDPC}}.
Tag or keyword for a resource. Each occurrence of a `dcterms:subject` property denotes an additional tag for the resource. {{Tags on versioned resources SHOULD be modifiable even if the resource is otherwise immutable (checked in)}}.
A short human-readable identifier for the version of a resource. {{All versioned resources SHOULD have this property; where the property is present, this identifier MUST be unique amongst all currently existing versions of the same concept resource. The subject of this property SHOULD be the concept resource URI}}.
A resource from which this version was derived. This is likely to reference a different concept resource; use of `prov:wasRevisionOf` is recommended to indicate an earlier version of the same concept resource. {{The subject of each instance of this property MUST be the concept resource URI; the object can be a version resource URI, or a concept resource URI (possibly for a non-versioned resource)}}.
A resource from which this version was derived. This is likely to reference an earlier version of the same concept resource; use of `prov:wasDerivedFrom` is recommended to indicate an earlier version of a different concept resource. {{The subject of each instance of this property MUST be the concept resource URI; the object is likely to be a version resource URI}}.