Parham, Yes, you are hitting a limitation of ResourceShapes.
The purpose of ResourceShapes is to provide metadata that tools might use to improve the user experience. For example, a query tool would be able to use a ResourceShape to give the user a list of the properties that are available to query on. In your example, you have a property, weakAssumption, whose values are resources that are of type either FormalAssertion or InformalAssertion. The value shape would therefore have to include the union of their properties. This is of course not totally satisfactory since each type probably has properties that only apply to it. To work around this limitation, you could define more strongly typed properties, e.g. formalWeakAssumption and informalWeakAssumption. Then you could have different value shapes for each. Regards, ___________________________________________________________________________ Arthur Ryman DE, PPM & Reporting Chief Architect IBM Software, Rational Toronto Lab | +1-905-413-3077 (office) | +1-416-939-5063 (mobile) From: "Vasaiely, Parham" <[email protected]> To: <[email protected]> Date: 10/26/2011 12:26 PM Subject: [oslc-core] Using OSLC Resource Shapes Sent by: [email protected] Hi all, We are trying to implement OSCL in an existing project by defining first ResourceShapes to represent an existing MetaModel (Ecore). We are facing now the following problem: 1) By trying to specify a property for a Resource with multiple possible types (oslc:range) the ResourceShape Spec. denies the specification of multiple Shapes for the resource. However, since our property can have the type FormalAssertion and InformalAssertion it should provide different shapes. Is our statement correct? <oslc:Property> <oslc:name>weakAssumption</oslc:name> <oslc:propertyDefinition rdf:resource=" http://www.sample.eu/rtp/2.0/CMM/OSLC/attributeDefinitions/weakAssumption" /> <dcterms:title rdf:parseType="Literal">weakAssumption</dcterms:title> <dcterms:description rdf:parseType="Literal">CMM.Requirements.SystemRequirement.weakAssumption</dcterms:description> <oslc:representation rdf:resource=" http://open-services.net/ns/core#Reference" /> <oslc:valueType rdf:resource=" http://open-services.net/ns/core#Resource" /> <oslc:valueShape rdf:resource=" http://www.sample.eu/rtp/2.0/CMM/OSLC/shapes/Assertion" /> <oslc:range rdf:resource=" http://www.sample.eu/rtp/2.0/CMM/OSLC/types/FormalAssertion" /> <oslc:range rdf:resource=" http://www.sample.eu/rtp/2.0/CMM/OSLC/types/InformalAssertion" /> <oslc:occurs rdf:resource=" http://open-service.net/ns/core#Zero-or-many" /> </oslc:Property> </oslc:property> 2) In the example shape provided by at http://open-services.net/bin/view/Main/RmSpecificationV2Shapes one can see that the property description has two value-types. However the shape spec. is defining that a property must have exactly one value-type. But the core also allows multiple types for a property as you can see in the part ?Defining OSLC Properties: Value-types: A property MAY allow multiple value-types and a value MUST satisfy one of them?? Is there something we have missed in the specification? Can we specify a property shape like the one below? <oslc:property> <oslc:Property> <oslc:name>description</oslc:name> <oslc:propertyDefinition rdf:resource=" http://purl.org/dc/terms/description" /> <dcterms:title rdf:parseType="Literal">Description </dcterms:title> <dcterms:description rdf:parseType="Literal">CMM.NamedElement.comment</dcterms:description> <!-- Use XMLLiteral String Representation --> <oslc:valueType rdf:resource=" http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral" /> <!-- Zero-or-one defined by RMv2Spec --> <oslc:occurs rdf:resource=" http://open-service.net/ns/core#Zero-or-many" /> </oslc:Property> </oslc:property> Many thanks! Kind Regards, Parham Vasaiely --------------------------------------------------------------------------------------- EADS Innovation Works Engineering & Architecture, Software and Systems Engineering Quadrant Campus, Celtic Springs, Cleppa Park, Coedkernew, Newport, NP10 8FZ Phone: + 44 1633 71 4588 Mobile UK: + 44 7851 194277 Mobile GER: + 49 176 2121 4203 [email protected] _______________________________________________ Oslc-Core mailing list [email protected] http://open-services.net/mailman/listinfo/oslc-core_open-services.net
