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 Change Management 2.0 Appendix B: Resource Shapes

An appendix of the OSLC Change Management 2.0 Specification

Overview

This defines the definitions of the OSLC CM 2.0 defined resources utilizing the OSLC Core Shape Resource definition. Implementations may use these shapes to as a basis for their work, providing their own property additions and additional constraints on OSLC defined properties.

ChangeRequest

<rdf:RDF 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"    
   xmlns:dcterms="http://purl.org/dc/terms/"    
   xmlns:foaf="http://http://xmlns.com/foaf/0.1/"    
   xmlns:oslc="http://open-services.net/ns/core#"
   xmlns:oslc_cm="http://open-services.net/ns/cm#">

<oslc:ResourceShape
   rdf:about="http://example.com/oslc/shapes/ChangeRequest">

   <dcterms:title>CM V2 Change Request</dcterms:title>
   <oslc:describes rdf:resource="http://open-services.net/ns/cm#ChangeRequest" />
   <rdf:type rdf:resource="http://open-services.net/ns/core#ResourceShape" />   

   <!-- OSLC Core Common Properties -->
   <oslc:property>
      <oslc:Property>
         <oslc:name>shortTitle</oslc:name>
         <dcterms:title>Short title</dcterms:title>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/core#shortTitle" />
         <oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#XMLLiteral" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>description</oslc:name>
         <oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/description" />
         <oslc:valueType
            rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>title</oslc:name>
         <oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/title" />
         <oslc:valueType
            rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Exactly-one" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>identifier</oslc:name>
         <oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/identifier" />
         <oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#string" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Exactly-one" />
         <oslc:readOnly>true</oslc:readOnly>
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>subject</oslc:name>
         <oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/subject" />
         <oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#string" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>creator</oslc:name>
         <oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/creator" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#AnyResource" />
         <oslc:range rdf:resource="http://http://xmlns.com/foaf/0.1/Person" />
         <oslc:valueShape rdf:resource="http://example.com/oslc/shapes/Person" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Either" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>contributor</oslc:name>
         <oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/contributor" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#AnyResource" />
         <oslc:range rdf:resource="http://http://xmlns.com/foaf/0.1/Person" />
         <oslc:valueShape rdf:resource="http://example.com/oslc/shapes/Person" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Either" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>created</oslc:name>
         <oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/created" />
         <oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
         <oslc:readOnly>true</oslc:readOnly>
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>modified</oslc:name>
         <oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/modified" />
         <oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
         <oslc:readOnly>true</oslc:readOnly>
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>type</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>serviceProvider</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/core#serviceProvider" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" />
         <oslc:range rdf:resource="http://open-services.net/ns/core#ServiceProvider" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>instanceShape</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/core#instanceShape" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" />
         <oslc:range rdf:resource="http://open-services.net/ns/core#ResourceShape" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>discussedBy</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/core#discussedBy" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#AnyResource" />
         <oslc:range rdf:resource="http://open-services.net/ns/core#Discussion" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Either" />
      </oslc:Property>
   </oslc:property>

   <!-- OSLC CM additional properties -->
   <oslc:property>
      <oslc:Property>
         <oslc:name>type</oslc:name>
         <oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/type" />
         <oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#string" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>closeDate</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/cm#closeDate" />
         <oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
         <oslc:readOnly>true</oslc:readOnly>
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>status</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/cm#status" />
         <oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#String" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
      </oslc:Property>
   </oslc:property>

   <!-- State predicates -->
   <oslc:property>
      <oslc:Property>
         <oslc:name>closed</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/cm#closed" />
         <oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#Boolean" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
         <oslc:readOnly>true</oslc:readOnly>
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>inprogress</oslc:name>
         <dcterms:title>in progress</dcterms:title>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/cm#inprogress" />
         <oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#Boolean" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
         <oslc:readOnly>true</oslc:readOnly>
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>fixed</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/cm#fixed" />
         <oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#Boolean" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
         <oslc:readOnly>true</oslc:readOnly>
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>approved</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/cm#approved" />
         <oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#Boolean" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
         <oslc:readOnly>true</oslc:readOnly>
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>reviewed</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/cm#reviewed" />
         <oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#Boolean" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
         <oslc:readOnly>true</oslc:readOnly>
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>verified</oslc:name>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/cm#verified" />
         <oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#Boolean" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
         <oslc:readOnly>true</oslc:readOnly>
      </oslc:Property>
   </oslc:property>

   <!-- Relationship properties -->
   <oslc:property>
      <oslc:Property>
         <oslc:name>relatedChangeRequest</oslc:name>
         <dcterms:title>Related ChangeRequest</dcterms:title>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/cm#relatedChangeRequest" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" />
         <oslc:range rdf:resource="http://open-services.net/ns/cm#ChangeRequest" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>affectsPlanItem</oslc:name>
         <dcterms:title>Affects PlanItem</dcterms:title>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/cm#affectsPlanItem" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" />
         <oslc:range rdf:resource="http://open-services.net/ns/cm#ChangeRequest" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>affectedByDefect</oslc:name>
         <dcterms:title>Affected by Defect</dcterms:title>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/cm#affectedByDefect" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" />
         <oslc:range rdf:resource="http://open-services.net/ns/cm#ChangeRequest" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>tracksRequirement</oslc:name>
         <dcterms:title>Tracks Requirement</dcterms:title>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/cm#tracksRequirement" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" />
         <oslc:range rdf:resource="http://open-services.net/ns/rm#Requirement" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>implementsRequirement</oslc:name>
         <dcterms:title>Implements Requirement</dcterms:title>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/cm#implementsRequirement" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" />
         <oslc:range rdf:resource="http://open-services.net/ns/rm#Requirement" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>affectsRequirement</oslc:name>
         <dcterms:title>Affects Requirement</dcterms:title>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/cm#affectsRequirement" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" />
         <oslc:range rdf:resource="http://open-services.net/ns/rm#Requirement" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>testedByTestCase</oslc:name>
         <dcterms:title>Tested by TestCase</dcterms:title>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/cm#testedByTestCase" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" />
         <oslc:range rdf:resource="http://open-services.net/ns/qm#TestCase" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>affectsTestResult</oslc:name>
         <dcterms:title>Affects TestResult</dcterms:title>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/cm#affectsTestResult" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" />
         <oslc:range rdf:resource="http://open-services.net/ns/qm#TestResult" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>blocksTestExecutionRecord</oslc:name>
         <dcterms:title>Blocks TestExecutionRecord</dcterms:title>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/cm#blocksTestExecutionRecord" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" />
         <oslc:range rdf:resource="http://open-services.net/ns/qm#TestExecutionRecord" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
      </oslc:Property>
   </oslc:property>
   
   <oslc:property>
      <oslc:Property>
         <oslc:name>relatedTestExecutionRecord</oslc:name>
         <dcterms:title>Related TestExecutionRecord</dcterms:title>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/cm#relatedTestExecutionRecord" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" />
         <oslc:range rdf:resource="http://open-services.net/ns/qm#TestExecutionRecord" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>relatedTestCase</oslc:name>
         <dcterms:title>Related TestCase</dcterms:title>         
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/cm#relatedTestCase" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" />
         <oslc:range rdf:resource="http://open-services.net/ns/qm#TestCase" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
      </oslc:Property>
   </oslc:property>

   <oslc:property>
      <oslc:Property>
         <oslc:name>relatedTestPlan</oslc:name>
         <dcterms:title>Related TestPlan</dcterms:title>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/cm#relatedTestPlan" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" />
         <oslc:range rdf:resource="http://open-services.net/ns/qm#TestPlan" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
      </oslc:Property>
   </oslc:property>
   
   <oslc:property>
      <oslc:Property>
         <oslc:name>relatedTestScript</oslc:name>
         <dcterms:title>Related TestScript</dcterms:title>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/cm#relatedTestScript" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" />
         <oslc:range rdf:resource="http://open-services.net/ns/qm#TestScript" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
      </oslc:Property>
   </oslc:property>
   
   <oslc:property>
      <oslc:Property>
         <oslc:name>tracksChangeSet</oslc:name>
         <dcterms:title>Tracks ChangeSet</dcterms:title>
         <oslc:propertyDefinition
            rdf:resource="http://open-services.net/ns/cm#tracksChangeSet" />
         <oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" />
         <oslc:range rdf:resource="http://open-services.net/ns/scm#ChangeSet" />
         <oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many" />
         <oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
      </oslc:Property>
   </oslc:property>
</oslc:ResourceShape>

</rdf:RDF>

foaf:Person

See OSLCCoreSpecRDFXMLExamples

oslc:Discussion

See OSLCCoreSpecRDFXMLExamples

oslc:Comment

See OSLCCoreSpecRDFXMLExamples

Topic attachments
I Attachment Action Size Date Who Comment
elserdf cm.rdf manage 15.5 K 12 Oct 2010 - 12:38 SteveSpeicher RDF Schema definition of items defined in http://open-services.net/ns/cm#
xmlxml oslccm-change-request-shape.xml manage 18.4 K 02 Feb 2011 - 13:57 SteveSpeicher CM Change Request Resource Shape
Topic revision: r11 - 20 Jan 2012 - 19:57:14 - SteveSpeicher
 
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