OSLC Query is designed to allow implementers to provide query capability without having to use a triplestore. Providing full SPARQL feature set was an explicit non-goal. Only the properties listed in the spec may be supported.
What features are you missing?
For example, if we have data for commits in a project and want to fetch all the commits based on year. For this case, SQL and SPARQL provide a parameter
GROUP BY parameter to do this and get desired data with a single query.
But in the OSLC Query Capability document, there are some limited parameters mentioned, and as per the document, Query Capability is kind of based on SPARQL. So this means that OSLC Query Capability doesn’t provide all the capabilities of SPARQL.
What could be the solution to one who has a use case that is not covered by the mentioned parameters for a Query in the document of OSLC but that use case has a solution in SQL or SPARQL?
Let me know if my question is not clear.
One more question came after reading the
Change Management: Vocabularies
that timestamps such as
modified are declared as
oslc_cm:property. Do they also have a
URI, if yes than what could be the value for
From the options known to me:
So I guess we can conclude that the OSLC Query has limited expression capability. See for example another issue here OSLC Query should support test for exists and not exists · Issue #454 · oslc-op/oslc-specs · GitHub
Any other suggested approach would be implementation-specific.
This sounds more like a reporting requirement rather than an OSLC query requirement.
OSLC Query doesn’t support grouping. A server MAY support sorting. But if you want to aggregare or group the data in some form, then that’s up to the consumer of the returned data to perform.
If your data provider publishes the data in a Tracked Resource Set, and you are using IBM Rational Engineering Lifecycle Management, you might use the Lifecycle Query Engine to index data from your data provider. Then you might use Report Builder to define reports, or execute SPARQL queries directly on Lifecycle Query Engine.
You did not specify prefixes, but here is my guess:
oslc_cm:closeDate(without a d)