This wiki is locked. Future workgroup activity and specification development must take place at our new wiki. For more information, see this blog post about the new governance model and this post about changes to the website.
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:

Property Required on Read Required on Write Read-only Represents
rdf:li No No No RDF list item addressing each of the collected resources.

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

Edit | Attach | Print version | History: r6 < r5 < r4 < r3 < r2 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r3 - 02 Nov 2009 - 15:07:29 - IanGreen
 
This site is powered by the TWiki collaboration platform Copyright � by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Contributions are governed by our Terms of Use
Ideas, requests, problems regarding this site? Send feedback