-
Type: Improvement
-
Status: Deferred
-
Priority: Major
-
Resolution: Unresolved
-
Component/s: Configuration Management
-
Labels:
-
Proposal:
OSLC Core defines a number of different types of resource shapes:
1) A shape referenced in a creation factory.
2) A shape referenced in a query capability
3) A shape referenced by a specific instance of a resource
The problem arises when a type system is versioned and artifacts can have properties defined by some state of that type system. Typically, the shape in the creation factory would define its OSLC properties based on the current state of type definitions. However, the shape for a query capability often needs to satisfy a requirement to support querying and reporting on historic data. Currently, OSLC Core does not provide any means of representing versioned shapes or OSLC properties. Some implementations have attempted to address this by representing multiple OSLC properties and then using owl:sameAs. However, this approach does not allow an OSLC client to distinguish a current property from historical ones that are related to the current one with owl:sameAs.
If an OSLC client wants to provide a query interface to select properties and values, it will typically want to show the current label of a property in its interface, but when querying, use all the predicates associated with all the versions of that OSLC property. OSLC does not currently define any means of representing provenance in shapes.
Similarly, there is a requirement for an OSLC client to discover a property whose type definition used to exist or be available, even though currently it is not allowed on new resources. Currently, a resource shape might include an oslc:Property for it, but cannot provide any means of indicating that it is historic versus being a current property.