Aggregation page of all the V1 spec pages.
To edit, please edit separate pages.
Warning: Can't find topic Main.RmRequirementResourceDefinition
Warning: Can't find topic Main.RmRequirementCollection
Link Resource Definition
A link is a resource which describes some relationship amongst other resources. We focus here on binary relationships - those involving exactly two resources, oftern referred to as "source" and "target". The source and target can be related in many different ways, for example, a requirement resource might be linked to a test case resource; a requirement might be linked to a change request resource. These links are have a different purpose (they are used in different ways, for instance). The nature of the relationship is captured by the "type" of the link. The type is essentially a name which describes the semantics of the link.
A link is represented by an RDF resource with type "oslc_rm:Link" having properties which describe the source, target and type of the link. Collections of links have a different media type but are simply aggregations of individual link resources.
Namespaces
The source, target and type of a link are described by the URIs of those resources using an RDF resource of type "oslc:Link" having the properties described in the table below.
The media type used for this RDF/XML representation MUST be application/x-oslc-common-link+xml.
The following properties are defined on an OSLC RM link resource:
Property |
Required on Read |
Required on Write |
Read-only |
Represents |
rdf:subject |
Yes |
Yes |
Yes |
The source of the link |
rdf:object |
Yes |
Yes |
Yes |
The target of the link |
rdf:predicate |
Yes |
Yes |
Yes |
The type of the link |
dc:description |
No |
No |
No |
Some description of the link |
dc:creator |
No |
No |
Yes |
Who created the link. 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 |
No |
No |
Yes |
When the link was created. 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:contributor |
No |
No |
Yes |
Who last modified the link. 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:modified |
No |
No |
Yes |
When the link was last modified. 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). |
Example
In this example the link resource describes an "implementedBy" relation between a workitem (which is the target of the link) and a requirement (the source).
GET http://www.example.com/resources/links/link1
Accept: application/x-oslc-common-link+xml
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
xmlns:oslc="http://open-services.net/xmlns/common/1.0/"
xmlns:dc="http://purl.org/dc/terms/"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<oslc:Link rdf:about="http://www.example.com/resources/links/link1">
<rdf:subject rdf:resource="http://www.example.com/resources/requirement55"/>
<rdf:object rdf:resource="http://www.example.com/resources/workitem24"/>
<rdf:predicate rdf:resource="http://www.example.com/types/implementedBy"/>
<dc:created rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">
2009-10-20T19:49:47-04:00
</dc:created>
<dc:creator>Ian Green</dc:creator>
<dc:contributor>
<foaf:Person>
<foaf:name>A. N. Other</foaf:name>
<foaf:mbox rdf:resource="mailto:another@example.com" />
<foaf:img rdf:resource="https://example.com/users/another/photo"/>
</foaf:Person>
</dc:contributor>
</oslc:Link>
</rdf:RDF>
Link Collection Resource Definition
A link collection resource describes a multiplicity (a number of) of links that are in some way related. A common usage of a link collection resource is to describe the link resources which are associated with a requirement or requirement collection. A link collection is described by a resource of rdf:type "rdf:Bag" which providers must be able to represent as an RDF/XML document having media type application/x-oslc-common-link-collection+xml. A link collection is an rdf:Bag containing the inlined representation of link in that collection. The special case of a link collection which does not contain any links is represented as rdf:Bag that does not contain any <rdf:li> properties.
The following table describes the RDF properties whose meaning is defined by this specification:
The representation of a link collection is the aggregation of the representations of each of the links in that collection.
Example
This example shows the two links that are associated with a resource "requirement55".
GET http://example.com/requirements/24/links
Accept: application/x-oslc-common-link-collection+xml
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:rm="http://open-services.net/xmlns/rm/1.0/"
xmlns:oslc="http://open-services.net/xmlns/common/1.0/"
xmlns:dc="http://purl.org/dc/terms/">
<rdf:Bag rdf:about="http://example.com/requirements/24/links">
<rdf:li>
<oslc:Link rdf:about="http://www.example.com/resources/links/link1">
<rdf:subject rdf:resource="http://www.example.com/resources/requirement55"/>
<rdf:object rdf:resource="http://www.example.com/resources/workitem24"/>
<rdf:predicate rdf:resource="http://www.example.com/types/implementedBy"/>
<dc:modified>29 August 2009</dc:modified>
<dc:creator>Ian Green</dc:creator>
</oslc:Link>
</rdf:li>
<rdf:li>
<oslc:Link rdf:about="http://www.example.com/resources/links/link2">
<rdf:subject rdf:resource="http://www.example.com/resources/requirement1"/>
<rdf:object rdf:resource="http://www.example.com/resources/requirement55"/>
<rdf:predicate rdf:resource="http://www.example.com/types/satisfiedBy"/>
<dc:modified>1 January 2000</dc:modified>
</oslc:Link>
</rdf:li>
</rdf:Bag>
</rdf:RDF>
Warning: Can't find topic Main.RmServiceDescription
Service Provider Catalog
1.0 SPECIFICATION
Purpose
This specification, defined as part of the
OSLC-CM 1.0 effort, describes OSLC service provider catalogs. These catalogs are used in the discovery of OSLC service providers, to simplify the configuration of tools that will integrate with providers of OSLC-defined services.
Notation and Conventions
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in
RFC2119. Domain name examples use
RFC2606.
Terminology
- Service Provider Catalog Resource
- An informational resource describing a browsable collection of service providers.
- Service Provider Catalog Document
- The representation of a Service Provider Catalog Resource. A RDF/XML-based document containing entries for service providers and subcatalogs thereof.
- (domain-specific) Services Resource
- An informational resource describing a set of domain-specific services.
- (domain-specific) Services Document
- The representation of a domain-specific Services Resource.
- Change Management Services Resource
- An informational resource describing a set of change management-specific services.
- Change Management Services Document
- The representation of a Change Management Services Resource.
Service Provider Catalog Resources
A Service Provider Catalog Resource is an informational resource describing a browsable collection of service providers.
The GET method on a Service Provider Catalog Resource retrieves a Service Provider Catalog Document. This specification only covers retrieving a Service Provider Catalog Resource with GET. The behavior of POST, PUT, and DELETE methods on Service Provider Catalog Resources are not covered in this specification.
Service Provider Catalog Documents
A Service Provider Catalog Document describes a catalog whose entries describe service providers or out-of-line subcatalogs.
The media type of a Service Provider Catalog Document is REQUIRED to be
application/x-oslc-disc-service-provider-catalog+xml
.
XML namespace abbreviations used in this specification:
-
rdf
- RDF XML namespace - http://www.w3.org/1999/02/22-rdf-syntax-ns#
-
dc
- Dublin Core Metadata Initiative (DCMI) properties namespace URI - http://purl.org/dc/terms/
-
oslc_disc
- OSLC Discovery XML namespace - http://open-services.net/xmlns/discovery/1.0/
A Service Provider Catalog Document is an RDF/XML document with this schematic format:
<?xml version="1.0"?>
<oslc_disc:ServiceProviderCatalog
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/terms/"
xmlns:oslc_disc="http://open-services.net/xmlns/discovery/1.0/"
rdf:about="{self}">
<dc:title>{catalog title}</dc:title>
<oslc_disc:details rdf:resource="{catalog details uri}" />
<oslc_disc:entry>
<oslc_disc:ServiceProvider>
<dc:title>{advisory service provider title}</dc:title>
<oslc_disc:details rdf:resource="{service provider details uri}" />
<oslc_disc:services rdf:resource="{services resource uri}" />
</oslc_disc:ServiceProvider>
</oslc_disc:entry>
...
<oslc_disc:entry>
<oslc_disc:ServiceProviderCatalog rdf:about="{subcatalog uri}" >
<dc:title>{advisory subcatalog title}</dc:title>
</oslc_disc:ServiceProviderCatalog>
</oslc_disc:entry>
...
</oslc_disc:ServiceProviderCatalog>
The
oslc_disc:entry
elements describe either a single service provider (
oslc_disc:ServiceProvider
element) or an out-of-line subcatalog (
oslc_disc:ServiceProviderCatalog
element).
Although the document is RDF/XML, it is in a very restricted form designed to be used by RDF-unaware clients.
Constraints on Service Provider Catalog Documents:
- The root element MUST be
oslc_disc:ServiceProviderCatalog
.
-
oslc_disc:ServiceProviderCatalog
element:
- MUST have a
rdf:about
attribute giving the URI of the catalog. The value of the root element MUST be a self link (i.e., reference the Service Provider Catalog Resource itself, either through an absolute or a relative URI reference). For non-root elements, this is the URI of the subcatalog.
- MUST have a
dc:title
child element. For the root element, this is the displayable title of the catalog. For non-root elements, this is an advisory title of the subcatalog; it does not override a dc:title element of the referenced Service Provider Catalog Resource.
- MAY have an
oslc_disc:details
child element.
- MAY have any number of
oslc_disc:entry
child elements, including none. An inner element MUST have none (i.e., the subcatalog is described out-of-line).
- The order of
oslc_disc:entry
child elements is not significant.
- MAY have additional child elements not specified here.
-
oslc_disc:ServiceProvider
element describes a single service provider:
- MUST have a
dc:title
child element giving a displayable title of the service provider.
- MUST have a
oslc_disc:services
child element.
- MAY have a
oslc_disc:details
child element.
- MAY have additional child elements not specified here.
-
oslc_disc:entry
element:
- MUST have a single child element that is either an
oslc_disc:ServiceProvider
or an oslc_disc:ServiceProviderCatalog
element.
- MAY have additional child elements not specified here.
-
dc:title
element:
- MUST have content.
- MUST NOT have child elements.
- MAY have an
xml:lang
attribute giving the language of the content.
-
oslc_disc:services
element:
- MUST have a
rdf:resource
attribute giving the URI of a domain-specific Services Resource (e.g., a Change Management Services Resource).
-
oslc_disc:details
element:
- MUST have a
rdf:resource
attribute giving the URI of a browsable resource providing details of the service provider or catalog.
- All elements MAY have additional atttributes not specified here.
Clients MUST quietly ignore unknown elements and attributes that they encounter in a Service Provider Catalog Document.
Example
Example 1: A Service Provider Catalog Resource located at
http://rtc1.example.com/jazz/workitems/ChangeManagementCatalog.xml
. The document lists 2 service providers.
<?xml version="1.0"?>
<oslc_disc:ServiceProviderCatalog
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/terms/"
xmlns:oslc_disc="http://open-services.net/xmlns/discovery/1.0/"
rdf:about="http://rtc1.example.com/jazz/workitems/ChangeManagementCatalog.xml" >
<dc:title>Change management service provider catalog</dc:title>
<oslc_disc:entry>
<oslc_disc:ServiceProvider>
<dc:title>Project X</dc:title>
<oslc_disc:details rdf:resource="http://rtc1.example.com/jazz/process/project-areas/_CGwYgAnrEd6_yLxvteIpZw" />
<oslc_disc:services
rdf:resource="http://rtc1.example.com/jazz/workitems/contexts/6ads5ad4a7ds47ad7s/services.xml" />
</oslc_disc:ServiceProvider>
</oslc_disc:entry>
<oslc_disc:entry>
<oslc_disc:ServiceProvider>
<dc:title>Project Y</dc:title>
<oslc_disc:details rdf:resource="http://rtc1.example.com/jazz/process/project-areas/_PVCFEAnrEd6_yLxvteIpZw" />
<oslc_disc:services
rdf:resource="http://rtc1.example.com/jazz/workitems/contexts/dsr4ae4desad47saed/services.xml" />
</oslc_disc:ServiceProvider>
</oslc_disc:entry>
</oslc_disc:ServiceProviderCatalog>
Example 2: A Service Provider Catalog Resource located at
http://cq1.example.com/catalog
. The document lists 1 service provider, and 1 subcatalog located at
http://cq1.example.com/other-catalog
.
<?xml version="1.0"?>
<oslc_disc:ServiceProviderCatalog
xmlns:oslc_disc="http://open-services.net/xmlns/discovery/1.0/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/terms/"
rdf:about="http://cq1.example.com/catalog" >
<dc:title>Change management service provider catalog</dc:title>
<oslc_disc:entry>
<oslc_disc:ServiceProvider>
<dc:title>CQ Service for repo1</dc:title>
<oslc_disc:details rdf:resource="http://cq1.example.com/browse?repo=repo1" />
<oslc_disc:services rdf:resource="http://cq1.example.com/repos/repo1" />
</oslc_disc:ServiceProvider>
</oslc_disc:entry>
<oslc_disc:entry>
<oslc_disc:ServiceProviderCatalog rdf:resource="http://cq1.example.com/other-catalog">
<dc:title>Others</dc:title>
</oslc_disc:ServiceProviderCatalog>
</oslc_disc:entry>
</oslc_disc:ServiceProviderCatalog>
Security
Access to a Service Provider Catalog Resource MAY be restricted.
Warning: Can't find topic Main.RmRestApi