Are you in favor of the proposal?
Rationale for proposed change
1. The OSLC 2.0 Query specification did not specify the representation of query result containers, and it wasn't clear how clients discovered the membership property of the container, or the shape of the members found by the query.
2. Keep compatibility with existing clients of OSLC 2.0 servers.
3. Provide compatibility and consistency of LDPC use.
Change Core Discovery
Change https://tools.oasis-open.org/version-control/browse/wsvn/oslc-core/trunk/specs/discovery.html section A.5, description of oslc:resourceShape to add the following sentence:
With a resource shape that describes the query result container membership property, query builders can discover
what member resource properties are available.
Change OSLC Query Discovery
Change https://tools.oasis-open.org/version-control/browse/wsvn/oslc-core/trunk/specs/oslc-query.html section 6 as follows:
Change:
The resource shape referenced by oslc:resourceShape MUST declare exactly one OSLC property with oslc:isMemberProperty "true"^^xsd:boolean, and that property SHOULD specify exactly one oslc:valueShape referencing a resource shape that describes the referenced members of that container.
To:
The resource shape referenced by oslc:resourceShape SHOULD declare exactly one OSLC property with oslc:isMemberProperty "true"^^xsd:boolean, and that property MAYspecify exactly one oslc:valueShape referencing a resource shape that describes the referenced members of that container. With a resource shape that describes the query result container membership property, query builders can discover what member resource properties are available.
Change OSLC Query, Query Result Containers
In https://tools.oasis-open.org/version-control/browse/wsvn/oslc-core/trunk/specs/oslc-query.html section 8, approve adoption of the following:
The response body for a successful GET on a query base URI MUST include a query result container whose subject is the query base URI.
The container SHOULD be a Linked Data Platform Container (LDPC) including a ldp:contains referencing each member resource found by the query. The response SHOULD include a Link header that describes the type of LDPC returned. This provides compatibility with OSLC Core 3.0 and its wider use of LDPCs. [LDP]
If the query capability that declared the base URI does not declare a oslc:resourceShape then the container MUST also include an rdfs:member reference to each of the result members.
If the query capability that declared the base URI declares a oslc:resourceShape and that resource shape defines a container property with oslc:isMemberProperty "true"^^xsd:boolean that is not ldp:contains, the query result container MUST also contain the specified member property for each of the query result members.
...
If the query capability that declared the base URI declares a oslc:resourceShape and that resource shape defines a container property with oslc:isMemberProperty "true"^^xsd:boolean that is ldp:contains, the query result container may use any form of LDPC, such as ldp:BasicContainer. This provides the most compact representation of query result members that is compatible with OSLC Query 2.0 and conformant with LDPC [LDP]. All of the examples showing a query response following this section assume that the query capability resource shape defines that ldp:contains is the membership property.
|