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.

OSLC Relationships

INCOMPETE AND UNDER discussion

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

OSLC Link Properties Type Occurs Extended Property? Description
OSLC Relationships Resource
oslc:relationships Resource of type oslc:Relationship zero-or-more no Link to oslc:Relationship

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.

Bringing the oslc:link an oslc:inverse together in a Relationship resource identifies the oslc:Properties as defining the relation - is this strong enough?

Should the description of a relationship include a description of the expected/supported OSLC Domains at either end? For example, oslc:domain and oslc:range? I don't like this idea because it leads to a brittleness in the linking, but we might want to discuss.

Some RmRelationshipExamples.

 
Topic revision: r2 - 19 May 2010 - 14:39:05 - 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