[oslc-core] Using OSLC Resource Shapes

Arthur Ryman ryman at ca.ibm.com
Wed Oct 26 16:32:06 EDT 2011


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" <parham.vasaiely at eads.com>
To:
<oslc-core at open-services.net>
Date:
10/26/2011 12:26 PM
Subject:
[oslc-core] Using OSLC Resource Shapes
Sent by:
oslc-core-bounces at open-services.net



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
parham.vasaiely at eads.com
 _______________________________________________
Oslc-Core mailing list
Oslc-Core at open-services.net
http://open-services.net/mailman/listinfo/oslc-core_open-services.net







More information about the Oslc-Core mailing list