OSLC Relationships
At OSLC the notion of relationship is central. Spec. to allow providers to surface relationship information in a RESTful manner.
Using OSLC Shape Resources to describe
- Relationship: name, description of a relation
- Relationship: service providers which are known to support that relationship.
- Links: In OSLC today, two resources stand in a certain relation to one another but the existence of this relation is modelled by two OSLC Properties - a link in the forward direction and a link in the other direction. A -> B and B -> A. The link in the other direction has been called the "inverse", "reverse", "complement", "dual", "back" and so on. Here we call it the inverse link.
- OSLC Leads are aware this is an architectural weakness
-
OSLC Relationships Resource
An OSLC Resource which enumerates the OSLC Relationships that are configured for the service provider.
- Name: Relationships
- Type URI: http://open-services.net/xmlns/oslc#Relationships
- Description: Defines a set of relationships that a OSLC service provider exposes.
- Properties:
- See table immediately below
- Other OSLC Properties MAY be specified by OSLC Services
These properties are intended to be part of an OSLC Service resource to identify the relationships that exist between service providers.
OSLC Relationship Resource
Describes a relationship that exists to other OSLC service providers, and the OSLC Properties which are used to indicate the presence of such a relationship.
- Name: Relationship
- Type URI: http://open-services.net/xmlns/oslc#Relationship
- Description: Defines a single relationship that a OSLC service provider exposes.
- Properties:
- See table immediately below
- Other OSLC Properties MAY be specified by OSLC Services
Prefixed Name |
Data type |
Occurs |
Extended Property? |
Title |
Description |
OSLC Common Properties HERE |
OSLC Relationship Resource |
dc:title |
XMLLiteral |
at-most-one |
No |
Title |
Title of the relationship; this SHOULD include only content that is valid inside an XHTML <span> element. |
dc:description |
XMLLiteral |
at-most-one |
No |
Description |
Description of the relationship; this SHOULD include only content that is valid and suitable inside an XHTML <div> element. |
oslc:link |
Resource of type oslc:Property |
exactly-one |
No |
Link |
The OSLC Property that describes the link. |
oslc:inverse |
Resource of type oslc:Property |
exactly-one |
No |
Inverse |
The OSLC Property that describes the inverse link. |
oslc:provider |
Resource of type oslc:ServiceProvider |
zero-or-more |
No |
Provider |
The OSLC Service Providers that have been configured to support this relationship. |
Issues: the oslc:provider is multi-valued; i've allowed there to be zero, since we could imagine using a PUT on a Relationships resource being used to establish a configuration. Perhaps not with all products, but with some.
Bringing the oslc:link an oslc:inverse together in a Relationship resource identifies the oslc:Properties as defining the relation - is this strong enough?
Topic revision: r1 - 19 May 2010 - 13:13:11 -
IanGreen