Example Relationships resource
These examples are shown from the perspective of a CM provider. The CM provider supports an "implements" relationship. That relationship has a dc:name, title, description.
The oslc:link and oslc:inverse properties describe this implements relationship.
<Relationships rdf:about="">
<relationship rdf:resource="http://cq.example.com/relationship/rel1" />
<relationship rdf:resource="http://cq.example.com/relationship/rel2" />
</Relationships>
<Relationship rdf:about="http://cq.example.com/relationship/rel1">
<dc:name>implements</dc:name>
<dc:title>Implementation of a requirement</dc:title>
<dc:description>Those change requests that are implementing a
requirement should use this relationship to the requirement</dc:description>
<oslc:link rdf:resource="http://cq.example.com/property1" />
<oslc:inverse rdf:resource="http://cq.example.com/property2" />
<!-- do we want domain/range? -->
<oslc:domain rdf:resource="http://open-services.net/xmlns/cm/2.0#"/>
<oslc:range rdf:resource="http://open-services.net/xmlns/rm/2.0#"/>
</Relationship>
<oslc:Property rdf:about="http://cq.example.com/property1">
<oslc:name>Implements</oslc:name>
<oslc:namespace rdf:resource="http://open-services.net/xmlns/oslc#" />
<rdf:predicate rdf:resource="http://open-services.net/xmlns/oslc#implements" />
<oslc:valueType
rdf:resource="http://open-service.net/xmlns/oslc-core/resource-types#Resource" />
<oslc:occurs>zero-or-more</oslc:occurs>
</oslc:Property>
<oslc:Property rdf:about="http://cq.example.com/property2">
<oslc:name>Implemented By</oslc:name>
<oslc:namespace rdf:resource="http://open-services.net/xmlns/oslc#" />
<rdf:predicate rdf:resource="http://open-services.net/xmlns/oslc#implementedBy" />
<oslc:valueType
rdf:resource="http://open-service.net/xmlns/oslc-core/resource-types#Resource" />
<oslc:occurs>zero-or-more</oslc:occurs>
</oslc:Property>
Examples from the RM side
Here is the same relationship from the RM side. There is no mechanism to identify
<Relationships rdf:about="">
<relationship rdf:resource="http://cq.example.com/relationship/rel1" />
<relationship rdf:resource="http://cq.example.com/relationship/rel2" />
</Relationships>
<Relationship rdf:about="http://cq.example.com/relationship/rel1">
<dc:name>implements</dc:name>
<dc:title>Implementation of a requirement</dc:title>
<dc:description>Those change requests that are implementing a
requirement should use this relationship to the requirement</dc:description>
<oslc:link rdf:resource="http://cq.example.com/property1" />
<oslc:inverse rdf:resource="http://cq.example.com/property2" />
</Relationship>
<oslc:Property rdf:about="http://cq.example.com/property1">
<oslc:name>Implements</oslc:name>
<oslc:namespace rdf:resource="http://open-services.net/xmlns/oslc#" />
<rdf:predicate rdf:resource="http://open-services.net/xmlns/oslc#implements" />
<oslc:valueType
rdf:resource="http://open-service.net/xmlns/oslc-core/resource-types#Resource" />
<oslc:occurs>zero-or-more</oslc:occurs>
</oslc:Property>