# Copyright 2023 OASIS Open
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

@prefix foaf:    <http://xmlns.com/foaf/0.1/> .
@prefix oslc_cm: <http://open-services.net/ns/cm#> .
@prefix oslc_config:  <http://open-services.net/ns/config#> .
@prefix oslc:  <http://open-services.net/ns/core#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
@prefix oslc_rm: <http://open-services.net/ns/rm#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix : <http://open-services.net/ns/cm/shapes/3.0#> .

:
  a oslc:ResourceShapeConstraints ;
  dcterms:title "The OSLC Change Management(CM) Constraints" ;
  rdfs:label "The OSLC Change Management(CM) Constraints" ;
  dcterms:description "Constraints on vocabulary terms defined in the OSLC Change Management (CM) namespace."^^rdf:XMLLiteral ;
  dcterms:publisher <https://open-services.net/about/> ;
  dcterms:issued "2023-07-06"^^<http://www.w3.org/2001/XMLSchema#date> ;
  dcterms:license <http://www.apache.org/licenses/LICENSE-2.0> ;
  dcterms:source <https://docs.oasis-open-projects.org/oslc-op/cm/v3.0/errata01/os/change-mgt-shapes.ttl> ;
  dcterms:isPartOf <https://docs.oasis-open-projects.org/oslc-op/cm/v3.0/errata01/os/change-mgt-spec.html> ;
  dcterms:hasVersion "OS" .


:ChangeRequestShape a oslc:ResourceShape ;
        oslc:describes  oslc_cm:ChangeRequest ;
        dcterms:title   "A general type for records in a Change Management." ;
        oslc:property
            :affectsPlanItem,
            :affectsRequirement,
            :affectedByDefect,
            :closeDate,
            :contributor,
            :created,
            :creator,
            :description,
            :discussedBy,
            :identifier,
            :serviceProvider,
            :instanceShape,
            :modified,
            :priority,
            :relatedChangeRequest,
            :shortTitle,
            :status,
            :state,
            :subject,
            :title,
            :tracksChangeSet,
            :implementsRequirement,
            :tracksRequirement,
            :type,
            :authorizer,
            :parent,

            # State predicates
            :closed,
            :inProgress,
            :fixed,
            :approved,
            :reviewed,
            :verified,

            # oslc_qm link properties
            :testedByTestCase,
            :affectsTestResult,
            :blocksTestExecutionRecord,
            :relatedTestExecutionRecord,
            :relatedTestCase,
            :relatedTestPlan,
            :relatedTestScript
        .

:ChangeNoticeShape  a      oslc:ResourceShape ;
        oslc:describes       oslc_cm:ChangeNotice ;
        dcterms:title        "A notification of a change request that requires authorization to address." ;
        dcterms:description  "Represents an assignment notification of a change request. May be used also to bestow authority onto the assigned user to effect the changes." ;
        oslc:property
            :affectsPlanItem,
            :affectsRequirement,
            :affectedByDefect,
            :closeDate,
            :contributor,
            :created,
            :creator,
            :description,
            :discussedBy,
            :identifier,
            :serviceProvider,
            :instanceShape,
            :modified,
            :priority,
            :relatedChangeRequest,
            :severity,
            :shortTitle,
            :status,
            :state,
            :subject,
            :title,
            :tracksChangeSet,
            :type,
            :authorizer,
            :parent,

            # State predicates
            :closed,
            :inProgress,
            :fixed,
            :approved,
            :reviewed,
            :verified
        .

:DefectShape  a                 oslc:ResourceShape ;
        oslc:describes       oslc_cm:Defect ;
        dcterms:title        "A software or product defect." ;
        dcterms:description  "Used to report defects in testing." ;
        oslc:property
            :affectsPlanItem,
            :affectsRequirement,
            :affectedByDefect,
            :closeDate,
            :contributor,
            :created,
            :creator,
            :description,
            :discussedBy,
            :identifier,
            :serviceProvider,
            :instanceShape,
            :modified,
            :priority,
            :relatedChangeRequest,
            :severity,
            :shortTitle,
            :status,
            :state,
            :subject,
            :title,
            :tracksChangeSet,
            :type,
            :authorizer,
            :parent,

            # State predicates
            :closed,
            :inProgress,
            :fixed,
            :approved,
            :reviewed,
            :verified,

            # oslc_qm link properties
            :testedByTestCase,
            :affectsTestResult,
            :blocksTestExecutionRecord,
            :relatedTestExecutionRecord,
            :relatedTestCase,
            :relatedTestPlan,
            :relatedTestScript
        .

:EnhancementShape  a       oslc:ResourceShape ;
        oslc:describes  oslc_cm:Enhancement ;
        dcterms:title   "A request for new functionality." ;
        oslc:property
            :affectsPlanItem,
            :affectsRequirement,
            :affectedByDefect,
            :closeDate,
            :contributor,
            :created,
            :creator,
            :description,
            :discussedBy,
            :identifier,
            :implementsRequirement,
            :serviceProvider,
            :instanceShape,
            :modified,
            :priority,
            :relatedChangeRequest,
            :shortTitle,
            :status,
            :state,
            :subject,
            :title,
            :tracksChangeSet,
            :type,
            :authorizer,
            :parent,

            # State predicates
            :closed,
            :inProgress,
            :fixed,
            :approved,
            :reviewed,
            :verified,

            # oslc_qm link properties
            :testedByTestCase,
            :affectsTestResult,
            :blocksTestExecutionRecord,
            :relatedTestExecutionRecord,
            :relatedTestCase,
            :relatedTestPlan,
            :relatedTestScript
        .

:ReviewTaskShape  a             oslc:ResourceShape ;
        oslc:describes       oslc_cm:ReviewTask ;
        dcterms:title        "A request to make a changes and review the change." ;
        dcterms:description  "A review task can be used to request and approve changes to requirements, test plans, test cases or other resources." ;
        oslc:property
            :affectsPlanItem,
            :affectsRequirement,
            :affectedByDefect,
            :closeDate,
            :contributor,
            :created,
            :creator,
            :description,
            :discussedBy,
            :identifier,
            :serviceProvider,
            :instanceShape,
            :modified,
            :priority,
            :relatedChangeRequest,
            :shortTitle,
            :status,
            :state,
            :subject,
            :title,
            :tracksChangeSet,
            :tracksRequirement,
            :type,
            :authorizer,
            :parent,

            # State predicates
            :closed,
            :inProgress,
            :fixed,
            :approved,
            :reviewed,
            :verified
        .

:TaskShape  a              oslc:ResourceShape ;
        oslc:describes       oslc_cm:Task ;
        dcterms:title        "An executable and trackable activity." ;
        dcterms:description  "Used to track assigned work that to be completed within a certain time." ;
        oslc:property
            :affectsPlanItem,
            :affectsRequirement,
            :affectedByDefect,
            :closeDate,
            :contributor,
            :created,
            :creator,
            :description,
            :discussedBy,
            :identifier,
            :serviceProvider,
            :instanceShape,
            :modified,
            :priority,
            :relatedChangeRequest,
            :shortTitle,
            :status,
            :state,
            :subject,
            :title,
            :tracksChangeSet,
            :type,
            :authorizer,
            :parent,

            # State predicates
            :closed,
            :inProgress,
            :fixed,
            :approved,
            :reviewed
        .

:authorizer  a                 oslc:Property ;
        oslc:name                "authorizer" ;
        oslc:range               foaf:Agent ;
        oslc:occurs              oslc:Zero-or-many ;
        oslc:propertyDefinition  oslc_cm:authorizer ;
        oslc:valueType           oslc:AnyResource ;
        oslc:representation      oslc:Either ;
        dcterms:description      "Agents who are responsible authorizing and/or has authorized effort to be expended to address a set of child change requests."^^rdf:XMLLiteral .

:parent  a           oslc:Property ;
        oslc:name                "parent" ;
        oslc:occurs              oslc:Zero-or-many ;
        oslc:propertyDefinition  oslc_cm:parent ;
        oslc:range               oslc_cm:ChangeRequest ;
        oslc:representation      oslc:Either ;
        oslc:valueType           oslc:AnyResource ;
        dcterms:description      "The related parent change requests of the subject change request. Establishes a parent/child relationship between change requests."^^rdf:XMLLiteral ;
        dcterms:title            "Parent of Change Request" .

:affectedByDefect  a           oslc:Property ;
        oslc:name                "affectedByDefect" ;
        oslc:occurs              oslc:Zero-or-many ;
        oslc:propertyDefinition  oslc_cm:affectedByDefect ;
        oslc:range               oslc_cm:Defect ;
        oslc:representation      oslc:Reference ;
        oslc:valueType           oslc:Resource ;
        dcterms:description      "Change request is affected by a reported defect. It is likely that the target resource will be an <code>oslc_cm:Defect</code> but that is not necessarily the case."^^rdf:XMLLiteral ;
        dcterms:title            "Affected by Defect" .

:affectsPlanItem  a            oslc:Property ;
        oslc:name                "affectsPlanItem" ;
        oslc:occurs              oslc:Zero-or-many ;
        oslc:propertyDefinition  oslc_cm:affectsPlanItem ;
        oslc:representation      oslc:Reference ;
        oslc:valueType           oslc:Resource ;
        dcterms:description      "Change request affects plan item."^^rdf:XMLLiteral ;
        dcterms:title            "Affects PlanItem" .

:affectsRequirement  a         oslc:Property ;
        oslc:name                "affectsRequirement" ;
        oslc:occurs              oslc:Zero-or-many ;
        oslc:propertyDefinition  oslc_cm:affectsRequirement ;
        oslc:range               oslc_rm:Requirement ;
        oslc:representation      oslc:Reference ;
        oslc:valueType           oslc:Resource ;
        dcterms:description      "Change request affecting a Requirement. It is likely that the target resource will be an <code>oslc_rm:Requirement</code> but that is not necessarily the case."^^rdf:XMLLiteral ;
        dcterms:title            "Affects Requirement" .

:closeDate  a                  oslc:Property ;
        oslc:name                "closeDate" ;
        oslc:occurs              oslc:Zero-or-one ;
        oslc:propertyDefinition  oslc_cm:closeDate ;
        oslc:readOnly            true ;
        oslc:valueType           xsd:dateTime ;
        dcterms:description      "The date at which no further activity or work is intended to be conducted."^^rdf:XMLLiteral .

:contributor  a                oslc:Property ;
        oslc:name                "contributor" ;
        oslc:occurs              oslc:Zero-or-many ;
        oslc:propertyDefinition  dcterms:contributor ;
        oslc:range               oslc:Any ;
        oslc:representation      oslc:Either ;
        oslc:valueType           oslc:AnyResource ;
        dcterms:description      "The person(s) who are responsible for the work needed to complete the change request (reference: Dublin Core). It is likely that the target resource will be a <code>foaf:Person</code> but that is not necessarily the case."^^rdf:XMLLiteral .

:created  a                    oslc:Property ;
        oslc:name                "created" ;
        oslc:occurs              oslc:Zero-or-one ;
        oslc:propertyDefinition  dcterms:created ;
        oslc:readOnly            true ;
        oslc:valueType           xsd:dateTime ;
        dcterms:description      "Timestamp of resource creation (reference: Dublin Core)."^^rdf:XMLLiteral .

:creator  a                    oslc:Property ;
        oslc:name                "creator" ;
        oslc:occurs              oslc:Zero-or-many ;
        oslc:propertyDefinition  dcterms:creator ;
        oslc:range               oslc:Any ;
        oslc:representation      oslc:Either ;
        oslc:valueType           oslc:AnyResource ;
        dcterms:description      "Creator or creators of resource (reference: Dublin Core). It is likely that the target resource will be a <code>foaf:Person</code> but that is not necessarily the case."^^rdf:XMLLiteral .

:description  a                oslc:Property ;
        oslc:name                "description" ;
        oslc:occurs              oslc:Zero-or-one ;
        oslc:propertyDefinition  dcterms:description ;
        oslc:valueType           rdf:XMLLiteral ;
        dcterms:description      "Descriptive text (reference: Dublin Core) about resource represented as rich text in XHTML content. SHOULD include only content that is valid and suitable inside an XHTML &lt;div&gt; element."^^rdf:XMLLiteral .

:discussedBy  a                oslc:Property ;
        oslc:name                "discussedBy" ;
        oslc:occurs              oslc:Zero-or-one ;
        oslc:propertyDefinition  oslc:discussedBy ;
        oslc:range               oslc:Discussion ;
        oslc:representation      oslc:Either ;
        oslc:valueType           oslc:AnyResource ;
        dcterms:description      "A series of notes and comments about this change request."^^rdf:XMLLiteral .

:identifier  a                 oslc:Property ;
        oslc:name                "identifier" ;
        oslc:occurs              oslc:Exactly-one ;
        oslc:propertyDefinition  dcterms:identifier ;
        oslc:readOnly            true ;
        oslc:valueType           xsd:string ;
        dcterms:description      "A unique identifier for a resource. Assigned by the service provider when a resource is created. Not intended for end-user display."^^rdf:XMLLiteral .

:implementsRequirement  a      oslc:Property ;
        oslc:name                "implementsRequirement" ;
        oslc:occurs              oslc:Zero-or-many ;
        oslc:propertyDefinition  oslc_cm:implementsRequirement ;
        oslc:range               oslc_rm:Requirement ;
        oslc:representation      oslc:Reference ;
        oslc:valueType           oslc:Resource ;
        dcterms:description      "Implements associated Requirement. It is likely that the target resource will be an <code>oslc_rm:Requirement</code> but that is not necessarily the case."^^rdf:XMLLiteral ;
        dcterms:title            "Implements Requirement" .

:serviceProvider a oslc:Property ;
    oslc:name "serviceProvider" ;
    oslc:propertyDefinition oslc:serviceProvider  ;
    oslc:range oslc:ServiceProvider ;
    oslc:occurs oslc:Zero-or-many;
    dcterms:description """A link to the resource's OSLC Service Provider. There may be cases when the
subject resource is available from a service provider that implements multiple domain
specifications, which could result in multiple values for this property."""^^rdf:XMLLiteral ;
    oslc:valueType oslc:Resource ;
    oslc:representation oslc:Reference .

:instanceShape  a              oslc:Property ;
        oslc:name                "instanceShape" ;
        oslc:occurs              oslc:Zero-or-many ;
        oslc:propertyDefinition  oslc:instanceShape ;
        oslc:range               oslc:ResourceShape ;
        oslc:representation      oslc:Reference ;
        oslc:valueType           oslc:Resource ;
        dcterms:description      "Resource Shape that provides hints as to resource property value-types and allowed values."^^rdf:XMLLiteral .

:modified  a                   oslc:Property ;
        oslc:name                "modified" ;
        oslc:occurs              oslc:Zero-or-one ;
        oslc:propertyDefinition  dcterms:modified ;
        oslc:readOnly            true ;
        oslc:valueType           xsd:dateTime ;
        dcterms:description      "Timestamp of latest resource modification (reference: Dublin Core)."^^rdf:XMLLiteral .

:priority  a                   oslc:Property ;
        oslc:name                "priority" ;
        oslc:occurs              oslc:Zero-or-many ;
        oslc:propertyDefinition  oslc_cm:priority ;
        oslc:range               oslc_cm:Priority ;
        oslc:valueType           oslc:AnyResource ;
        oslc:representation      oslc:Either ;
        dcterms:description      "Priority of this change request."^^rdf:XMLLiteral .

:relatedChangeRequest  a       oslc:Property ;
        oslc:name                "relatedChangeRequest" ;
        oslc:occurs              oslc:Zero-or-many ;
        oslc:propertyDefinition  oslc_cm:relatedChangeRequest ;
        oslc:representation      oslc:Reference ;
        oslc:valueType           oslc:Resource ;
        dcterms:description      "This relationship is loosely coupled and has no specific meaning."^^rdf:XMLLiteral ;
        dcterms:title            "Related ChangeRequest" .

:severity  a                   oslc:Property ;
        oslc:name                "severity" ;
        oslc:occurs              oslc:Zero-or-many ;
        oslc:propertyDefinition  oslc_cm:severity ;
        oslc:range               oslc_cm:Severity ;
        oslc:valueType           oslc:AnyResource ;
        oslc:representation      oslc:Either ;
        dcterms:description      "Severity or criticality of this change request."^^rdf:XMLLiteral .

:shortTitle  a                 oslc:Property ;
        oslc:name                "shortTitle" ;
        oslc:occurs              oslc:Zero-or-one ;
        oslc:propertyDefinition  oslc:shortTitle ;
        oslc:valueType           rdf:XMLLiteral ;
        dcterms:description      "Short name identifying a resource, often used as an abbreviated identifier for presentation to end-users. SHOULD include only content that is valid inside an XHTML &lt;span&gt; element."^^rdf:XMLLiteral ;
        dcterms:title            "Short title" .

# deprecated, use state
:status  a                     oslc:Property ;
        oslc:name                "status" ;
        oslc:occurs              oslc:Zero-or-one ;
        oslc:propertyDefinition  oslc_cm:status ;
        oslc:valueType           xsd:string ;
        dcterms:description      "Used to indicate the status of the change request. This property is often read-only."^^rdf:XMLLiteral .

:state  a                      oslc:Property ;
        oslc:name                "state" ;
        oslc:occurs              oslc:Zero-or-one ;
        oslc:propertyDefinition  oslc_cm:state ;
        oslc:range               oslc_cm:State ;
        dcterms:description      "Used to indicate the state of the change request. This property is often read-only, but could be changed using OSLC Actions."^^rdf:XMLLiteral .

:subject  a                    oslc:Property ;
        oslc:name                "subject" ;
        oslc:occurs              oslc:Zero-or-many ;
        oslc:propertyDefinition  dcterms:subject ;
        oslc:valueType           xsd:string ;
        dcterms:description      "Tag or keyword for a resource. Each occurrence of a dcterms:subject property denotes an additional tag for the resource."^^rdf:XMLLiteral .

:title  a                      oslc:Property ;
        oslc:name                "title" ;
        oslc:occurs              oslc:Exactly-one ;
        oslc:propertyDefinition  dcterms:title ;
        oslc:valueType           rdf:XMLLiteral ;
        dcterms:description      "Title (reference: Dublin Core) or often a single line summary of the resource represented as rich text in XHTML content. SHOULD include only content that is valid and suitable inside an XHTML &lt;div&gt; element."^^rdf:XMLLiteral .

:tracksChangeSet  a            oslc:Property ;
        oslc:name                "tracksChangeSet" ;
        oslc:occurs              oslc:Zero-or-many ;
        oslc:propertyDefinition  oslc_cm:tracksChangeSet ;
        oslc:range               oslc_config:ChangeSet ;
        oslc:representation      oslc:Reference ;
        oslc:valueType           oslc:Resource ;
        dcterms:description      "Tracks a resource that represents a set of changes on the resource."^^rdf:XMLLiteral ;
        dcterms:title            "Tracks Change Set" .

:tracksRequirement  a          oslc:Property ;
        oslc:name                "tracksRequirement" ;
        oslc:occurs              oslc:Zero-or-many ;
        oslc:propertyDefinition  oslc_cm:tracksRequirement ;
        oslc:range               oslc_rm:Requirement ;
        oslc:representation      oslc:Reference ;
        oslc:valueType           oslc:Resource ;
        dcterms:description      "Tracks the associated Requirement or Requirement ChangeSet resources. It is likely that the target resource will be an <code>oslc_rm:Requirement</code> but that is not necessarily the case."^^rdf:XMLLiteral ;
        dcterms:title            "Tracks Requirement" .

:type  a                       oslc:Property ;
        oslc:name                "type" ;
        oslc:occurs              oslc:Zero-or-many ;
        oslc:propertyDefinition  rdf:type ;
        oslc:representation      oslc:Reference ;
        oslc:valueType           oslc:Resource ;
        dcterms:description      "The resource type URIs, at least one of which should be oslc_cm:ChangeRequest."^^rdf:XMLLiteral .


:closed   a                     oslc:Property ;
        oslc:name                "closed" ;
        oslc:occurs              oslc:Zero-or-one ;
        oslc:propertyDefinition  oslc_cm:closed ;
        oslc:valueType           xsd:boolean ;
        dcterms:description      "Whether or not the Change Request is completely done, no further fixes or fix verification is needed."^^rdf:XMLLiteral .

:inProgress   a                oslc:Property ;
        oslc:name                "inProgress" ;
        oslc:occurs              oslc:Zero-or-one ;
        oslc:propertyDefinition  oslc_cm:inProgress ;
        oslc:valueType           xsd:boolean ;
        dcterms:description      "Whether or not the Change Request in a state indicating that active work is occurring. If oslc_cm:inProgress is true, then oslc_cm:fixed and oslc_cm:closed must also be false."^^rdf:XMLLiteral .

:fixed   a                     oslc:Property ;
        oslc:name                "fixed" ;
        oslc:occurs              oslc:Zero-or-one ;
        oslc:propertyDefinition  oslc_cm:fixed ;
        oslc:valueType           xsd:boolean ;
        dcterms:description      "Whether or not the Change Request has been fixed."^^rdf:XMLLiteral .

:approved   a                  oslc:Property ;
        oslc:name                "approved" ;
        oslc:occurs              oslc:Zero-or-one ;
        oslc:propertyDefinition  oslc_cm:approved ;
        oslc:valueType           xsd:boolean ;
        dcterms:description      "Whether or not the Change Request has been approved."^^rdf:XMLLiteral .

:reviewed   a                  oslc:Property ;
        oslc:name                "reviewed" ;
        oslc:occurs              oslc:Zero-or-one ;
        oslc:propertyDefinition  oslc_cm:reviewed ;
        oslc:valueType           xsd:boolean ;
        dcterms:description      "Whether or not the Change Request has been reviewed."^^rdf:XMLLiteral .

:verified   a                  oslc:Property ;
        oslc:name                "verified" ;
        oslc:occurs              oslc:Zero-or-one ;
        oslc:propertyDefinition  oslc_cm:verified ;
        oslc:valueType           xsd:boolean ;
        dcterms:description      "Whether or not the resolution or fix of the Change Request has been verified."^^rdf:XMLLiteral .


# Constraints on properties representing links to oslc_qm resources

:testedByTestCase  a             oslc:Property ;
        oslc:name                "testedByTestCase" ;
        oslc:occurs              oslc:Zero-or-many ;
        oslc:propertyDefinition  oslc_cm:testedByTestCase ;
        oslc:range               oslc_config:ChangeSet ;
        oslc:representation      oslc:Reference ;
        oslc:valueType           oslc:Resource ;
        dcterms:description      "Test case by which this change request is tested. It is likely that the target resource will be an oslc_qm:TestCase but that is not necessarily the case."^^rdf:XMLLiteral ;
        dcterms:title            "Tested By Test Case" .

:affectsTestResult  a            oslc:Property ;
        oslc:name                "affectsTestResult" ;
        oslc:occurs              oslc:Zero-or-many ;
        oslc:propertyDefinition  oslc_cm:affectsTestResult ;
        oslc:range               oslc_config:ChangeSet ;
        oslc:representation      oslc:Reference ;
        oslc:valueType           oslc:Resource ;
        dcterms:description      "Associated QM resource that is affected by this Change Request. It is likely that the target resource will be an oslc_qm:TestResult but that is not necessarily the case."^^rdf:XMLLiteral ;
        dcterms:title            "Zffects Test Result" .

:blocksTestExecutionRecord  a    oslc:Property ;
        oslc:name                "blocksTestExecutionRecord" ;
        oslc:occurs              oslc:Zero-or-many ;
        oslc:propertyDefinition  oslc_cm:blocksTestExecutionRecord ;
        oslc:range               oslc_config:ChangeSet ;
        oslc:representation      oslc:Reference ;
        oslc:valueType           oslc:Resource ;
        dcterms:description      "Associated QM resource that is blocked by this Change Request. It is likely that the target resource will be an oslc_qm:TestExecutionRecord but that is not necessarily the case."^^rdf:XMLLiteral ;
        dcterms:title            "Blocks Test Execution Record" .

:relatedTestExecutionRecord  a   oslc:Property ;
        oslc:name                "relatedTestExecutionRecord" ;
        oslc:occurs              oslc:Zero-or-many ;
        oslc:propertyDefinition  oslc_cm:relatedTestExecutionRecord ;
        oslc:range               oslc_config:ChangeSet ;
        oslc:representation      oslc:Reference ;
        oslc:valueType           oslc:Resource ;
        dcterms:description      "Related to a QM test execution resource. It is likely that the target resource will be an oslc_qm:TestExecutionRecord but that is not necessarily the case."^^rdf:XMLLiteral ;
        dcterms:title            "Related Test Execution Record" .

:relatedTestCase  a              oslc:Property ;
        oslc:name                "relatedTestCase" ;
        oslc:occurs              oslc:Zero-or-many ;
        oslc:propertyDefinition  oslc_cm:relatedTestCase ;
        oslc:range               oslc_config:ChangeSet ;
        oslc:representation      oslc:Reference ;
        oslc:valueType           oslc:Resource ;
        dcterms:description      "Related QM test case resource. It is likely that the target resource will be an oslc_qm:TestCase but that is not necessarily the case."^^rdf:XMLLiteral ;
        dcterms:title            "Related Test Case" .

:relatedTestPlan  a              oslc:Property ;
        oslc:name                "relatedTestPlan" ;
        oslc:occurs              oslc:Zero-or-many ;
        oslc:propertyDefinition  oslc_cm:relatedTestPlan ;
        oslc:range               oslc_config:ChangeSet ;
        oslc:representation      oslc:Reference ;
        oslc:valueType           oslc:Resource ;
        dcterms:description      "Related QM test plan resource. It is likely that the target resource will be an oslc_qm:TestPlan but that is not necessarily the case."^^rdf:XMLLiteral ;
        dcterms:title            "Related Test Plan" .

:relatedTestScript  a            oslc:Property ;
        oslc:name                "relatedTestScript" ;
        oslc:occurs              oslc:Zero-or-many ;
        oslc:propertyDefinition  oslc_cm:relatedTestScript ;
        oslc:range               oslc_config:ChangeSet ;
        oslc:representation      oslc:Reference ;
        oslc:valueType           oslc:Resource ;
        dcterms:description      "Related QM test script resource. It is likely that the target resource will be an oslc_qm:TestScript but that is not necessarily the case."^^rdf:XMLLiteral ;
        dcterms:title            "Related Test Script" .






