Requirement Resource Definition
1.0 SPECIFICATION
In this specification we refer to the RDF model as the canonical definition of the resource, and speak in terms of the vocabularies that are of interest in these models. RDF/XML will be used to illustrate examples since that is one of the supported representation formats required by this specification.
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 are also references as part of this specification:
Requirement Resource
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 requirement. |
dc:description |
Yes |
Yes |
No |
The primary content of the requirement. |
dc:creator |
No |
No |
Yes |
The entity that created the requirement. The value of this element is free form text, or may be a FOAF Person element. If the entity has a URI it should be represented as a rdf:resource attribute of this element. |
dc:contributor |
No |
No |
Yes |
The entity that last modified the requirement. The value of this element is free form text, or may be a FOAF Person element. If the entity 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 requirement. Can be expressed as free form text, or in a standard form. When in a form that can be automated, the rdf:datatype attribute 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 requirement. Can be expressed as free form text, or in a standard form. When in a form that can be automated, the rdf:datatype attribute 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). |
Properties from other vocabularies may be present in the representation of an <oslc_rm:Requirement/> element, but the meaning of those properties is not defined by this specification. The dc:description and dc:title are provided inline (by an RDF literal value) and MAY contain XHTML markup, indicated by rdf:parseType="Literal" on the RDF property element. This XHTML markup, if present, MUST be valid XHTML and MUST be wholly contained within a single XHTML div element.
The media type for such representations MUST be "application/x-oslc-rm-requirement-1.0+xml", which is an RDF/XML representation of a requirement resource.
Links
A link from a requirement is represented by an RDF resource (an RDF URI Reference). In the RDF/XML, these are represented as XML attributes "rdf:resource". These links are used to describe binary trace relationships as well as non-trace linkages to other resources. The example below shows a trace relationship "validated by" which has been modelled with a property "calm:validatedBy". Such properties MAY be multi-valued, meaning that the same property can appear more than once. The example below illustrates this with the "calm:validatedBy" link.
Example requirement in RDF/XML representation
Here is an example showing the RDF/XML of a requirement. Notice that properties from other vocabularies are present in this representation. In this example, the dc:description is provided inline as plain text; the dc:title contains some XHTML markup and is modelled by an XML Literal in the RDF.
GET http://rrc.example.com/requirements/24
with Accept header application/x-oslc-rm-requirement-1.0+xml
<?xml version="1.0" encoding="UTF-8"?>
<oslc_rm:Requirement
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:oslc_rm="http://open-services.net/xmlns/rm/1.0/"
xmlns:calm="http://jazz.net/xmlns/prod/jazz/calm/1.0/"
xmlns:acme="http://acme.example.com/xmlns/"
xmlns:dc="http://purl.org/dc/terms/"
rdf:about="http://rrc.example.com/requirements/24">
<dc:creator>Ian Green</dc:creator>
<dc:created>17 July 1900</dc:created>
<dc:modified>1 August 2009</dc:modified>
<dc:title rdf:parseType="Literal">
<xhtml:div xmlns:xhtml="http://http://www.w3.org/1999/xhtml">
Signal frequency <xhtml:b>triggering</xhtml:b> shall be modulation-exempt
</xhtml:div>
</dc:title>
<dc:description>Signal frequency triggering shall be compliant with ISO-7488-II Part 4.</dc:description>
<!-- Some properties whose meaning is not defined by OSLC RM -->
<!-- Notice that validatedBy is multi-valued -->
<acme:processLinkage rdf:resource="urn:process-id:6363" />
<calm:implementedBy
rdf:resource="http://rtc.example.com/wi/242" />
<calm:validatedBy
rdf:resource="http://rqm.example.com/testcase/6524" />
<calm:validatedBy
rdf:resource="http://rqm.example.com/testcase/6525" />
</oslc_rm:Requirement>