HistoryViewLinks to this page Revision from: 2013 February 19 | 09:29 am
This is the revision from 2013 February 19 at 09:29 amView the current live version of the article.

OSLC Core properties used by all Configuration Management resources

Prefixed Name Occurs Read-only Value-type Representation Range Description
OSLC Core: Common Properties
rdf:type one-or-many unspecified Resource Reference n/a The resource type URIs.
dcterms:contributor zero-or-many unspecified Resource Either any Contributor or contributors to resource (reference: Dublin Core). It is likely that the target resource will be an foaf:Person but that is not necessarily the case.
dcterms:created zero-or-one True DateTime n/a n/a Timestamp of resource creation (reference: Dublin Core)
dcterms:creator zero-or-many unspecified Resource Either any Creator or creators of resource (reference: Dublin Core). It is likely that the target resource will be an foaf:Person but that is not necessarily the case.
dcterms:description zero-or-one unspecified XMLLiteral n/a n/a Descriptive text (reference: Dublin Core) about resource represented as rich text in XHTML content. SHOULD include only content that is valid and suitable inside an XHTML <div> element.
dcterms:identifier exactly-one True String n/a n/a A unique identifier for a resource. Assigned by the service provider when a resource is created. Not necessarily intended for end-user display.
dcterms:modified zero-or-one True DateTime n/a n/a Timestamp of latest resource modification (reference: Dublin Core)
dcterms:subject zero-or-many unspecified String n/a n/a Tag or keyword for a resource. Each occurrence of a dc:subject property denotes an additional tag for the resource.
dcterms:title exactly-one unspecified XMLLiteral n/a n/a Title (reference: Dublin Core) of the resource represented as rich text in XHTML content.
W3C Provenance Properties
prov:wasDerivedFrom, prov:wasRevisionOf zero-or-many unspecified Resource Either any Previous versions or revisions of this resource.
prov:wasGeneratedBy zero-or-many unspecified Resource Either any A change set that generated this resource. It is likely that the target resource will be an oslc_config:ChangeSet but that is not necessarily the case.

Concept resources and version resources

A GET on the URI of a concept resource will resolve that URI to an appropriate state of (version of) a concept resource for the appropriate configuration context (see later). The returned resource will contain RDF statements about both the version resource and the concept resource; most statements will use the concept resource as the subject, because it is the state of (properties of) the concept resource that are defined by a version resource.

We use the dcterms:isVersionOf property to relate the version resource itself to its concept resource.

As an example, GET http://example.com/conceptResourceA in one configuration context might return:

:conceptResourceA-version23
    dcterms:isVersionOf :conceptResourceA .
:conceptResourceA
    a :someType ;
    dcterms:title "Concept Resource A" ;
    :color "blue" ;
    dcterms:description "Concept resource A as it appears in the state with the URI :conceptResourceA-version23" .

while in a different configuration context it might return:

:conceptResourceA-version17
    dcterms:isVersionOf :conceptResourceA .
:conceptResourceA
    a :someType ;
    dcterms:title "Concept Resource A" ;
    :color "red" ;
    dcterms:description "Concept resource A as it appears in the state with the URI :conceptResourceA-version17" .

TBD: while the Linked Data Platform indicates that every concept resource should define at least one rdf:type, it is not clear if we always need to define a separate type for the version resource itself. This should be discussed with the Core workgroup.

Configuration

A configuration is a resource with any of the above-listed standard properties, plus the following:

Prefixed Name Occurs Read-only Value-type Representation Range Description
rdf:type one-or-many unspecified Resource Reference any The resource type URIs, including at least one occurrence of with a value of oslc_config:Configuration.
rdfs:member zero-or-one unspecified Resource Either ldp:Aggregate A Linked Data Platform aggregate for the members of the configuration. Determining the set of resources in a configuration may be an expensive operation, so the the configuration resource is not itself a Linked Data Platform aggregate. This allows a GET of the configuration resource itself to be a light-weight operation; clients needing the member list can perform a second GET on the linked LDPA resource.

A configuration MAY be a versioned resource, in which case it has a dcterms:isVersionOf predicate identifying the concept resource. All configurations with the same object value for dcterms:isVersionOf are versions of the same concept resource - perhaps the same system or component.

Configurations MAY be members of other configurations.

Note that configurations do not have status, workflow, or lifecycle properties; instead, we expect other resources that define such status to link to configurations. These other resources might be Change Requests, or resources from some as-yet undefined OSLC Lifecycle or Process Domain. The entity commonly termed a baseline is a configuration linked from a resource with some appropriate status resource.

TBD:

  • Stream, branch, dimensions, variant expressions
  • Dependencies (configurations on which this configuration depends)
  • Baselines created from this configuration
  • Baselines merged into this configuration

Configuration context

A client may request a specific configuration context in one of two ways.

  • Adding an X-OSLC-Configuration-Context header, passing the URI of a configuration resource as the value:

    GET /resources/conceptResourceA HTTP/1.1
    X-OSLC-Configuration-Context: http://example.com/configurations/myConfiguration1

  • Adding a query string oslc_config.context and the encoded configuration URI to the end of the request URI:

    GET /resources/conceptResourceA?oslc_config.context=&3Chttp&3A//example.com/configurations/myConfiguration1&3E HTTP/1.1

Clients may also use version resource URIs, but are discouraged from persisting such URIs in links, since that reduces the flexibility permitted by configuration management.

Change set

A change set is a resource with any of the above-listed standard properties, plus the following:

Prefixed Name Occurs Read-only Value-type Representation Range Description
rdf:type one-or-many unspecified Resource Reference any The resource type URIs, including at least one occurrence of with a value of oslc_config:ChangeSet.
rdfs:member zero-or-one unspecified Resource Either ldp:Aggregate A Linked Data Platform aggregate for the members of the configuration. Determining the set of resources in a change set may be an expensive operation, so the the configuration resource is not itself a Linked Data Platform aggregate. This allows a GET of the configuration resource itself to be a light-weight operation; clients needing the member list can perform a second GET on the linked LDPA resource.
oslc_config:requiredChangeSet zero-or-many unspecified Resource any oslc_config:ChangeSet A change set that this change set depends on. It is likely that the target resource will be an oslc_config:ChangeSet but that is not necessarily the case.