Requirement Collection Resource Definition
1.0 SPECIFICATION
A Requirement Collection is an ordered collection containing references to requirement resources. The semantics of the collection is as follows:
A requirement MAY be present in more than one collection at a time.
The lifetime of a collection and the lifetime of a requirement is not constrained by this specification; specifically, deletion of a collection MAY result in the deletion of the collected requirements.
The collection is closed: that is, requirements which are not stated to be a member of that collection are to be interpreted as NOT belonging to that collection.
Namespaces
This specification is giving a description of the "
http://open-services.net/xmlns/rm/1.0/" namespace by describing the meaning of the terms of that namespace and the way in which those terms are to be use with the terms of other vocabularies in order to describe a requirement. We will abbreviate this namespace to "oslc_rm" and will typically use that as a XML namespace prefix in RDF/XML documents.
Other namespaces used in this specification:
- rdf - RDF XML namespace - http://www.w3.org/1999/02/22-rdf-syntax-ns#
- oslc_rm - OSLC RM XML namespace - http://open-services.net/xmlns/rm/1.0/
- dc - Dublin Core Metadata Initiative (DCMI) properties namespace URI - http://purl.org/dc/terms/
Requirement Collection Resource
RDF/XML Representation of Requirement Collection Resource
A requirement collection is a resource having rdf:type rdf:Bag and oslc_rm:RequirementCollection. The table below describes the RDF/XML representation of a requirement collection. The provider MUST support the RDF/XML representation of requirement collections using media type application/x-oslc-rm-requirement-collection-1.0+xml.
The following table describes the RDF properties whose meaning is defined by this specification:
Property |
Required on Read |
Required on Write |
Read-only |
Represents |
dc:title |
Yes |
Yes |
No |
The title of the collection. |
dc:description |
No |
No |
No |
The description of the collection. |
dc:creator |
Yes |
No |
Yes |
The entity that created the collection. The value of this element is free form text, or may a FOAF Person element. If the user has a URI it should be represented as a rdf:resource attribute of this element. |
dc:created |
Yes |
No |
Yes |
Date of creation of the collection. May be expressed as free form text, or in a standard form. When in a form that can be automated, the rdf:datatype property with a public date time URI should be present to assist the client in parsing the value (i.e. http://www.w3.org/2001/XMLSchema#dateTime). |
dc:modified |
Yes |
No |
Yes |
Date of the last modification of the collection. May be expressed as free form text, or in a standard form. When in a form that can be automated, the rdf:datatype property with a public date time URI should be present to assist the client in parsing the value (i.e. http://www.w3.org/2001/XMLSchema#dateTime). |
rdf:li |
No |
No |
No |
RDF list item addressing each of the collected resources. |
Properties from other vocabularies may be present in the representation of a requirement collection resource, but the meaning of those properties is not defined by this specification.
The requirement collection should be interpreted as being closed and having set-like sematics (repetition MAY be present and must be tolerated by service consumers; service providers MUST tolerate repetition but are not required to preserve that repetition); typing the collection as an rdf:Bag emphasises this to some degree. (In the future, other collection semantics may be defined, and in such an eventuality, other rdf:type collections may be introduced.)
It is permissible for a requirement collection to "collect" zero requirement resources; in such cases, there will be no <rdf:li/> elements in its representation.
Example
Here is an example showing the RDF/XML of a requirement collection which contains three referenced requirements.
GET http://rrc.example.com/collection/10
with Accept header application/x-oslc-rm-requirement-collection-1.0+xml
<?xml version="1.0" encoding="UTF-8"?>
<oslc_rm:RequirementCollection
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:oslc_rm="http://open-services.net/xmlns/rm/1.0/"
xmlns:dc="http://purl.org/dc/terms/"
xmlns:calm="http://jazz.net/xmlns/calm/1.0/"
rdf:about="http://rrc.example.com/collection/10">
<rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag"/>
<dc:title>Enhancements for patch 2</dc:title>
<dc:description>Enhancements for patch 2, as reviewed and agreed with client</dc:description>
<dc:creator>Ian Green</dc:creator>
<dc:modified>28 August 2009</dc:modified>
<dc:created>27 August 2009</dc:created>
<calm:validatedBy rdf:resource="http://rqm.example.com/testplans/34"/>
<rdf:li rdf:resource="http://rrc.example.com/requirements/34"/>
<rdf:li rdf:resource="http://rrc.example.com/requirements/63"/>
<rdf:li rdf:resource="http://rrc.example.com/requirements/902"/>
</oslc_rm:RequirementCollection>