# OSLC Query capability parameters

**URL:** <https://forum.open-services.net/t/oslc-query-capability-parameters/613>\
**Category:** OSLC\
**Created:** [May 6, 2022, 2:39pm UTC](https://forum.open-services.net/t/oslc-query-capability-parameters/613 "2022-05-06T14:39:49Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![talhashahid009](https://forum.open-services.net/user_avatar/forum.open-services.net/talhashahid009/32/198_2.png) [@talhashahid009](https://forum.open-services.net/u/talhashahid009)\
**Post date:** [May 6, 2022, 2:39pm UTC](https://forum.open-services.net/t/oslc-query-capability-parameters/613/1 "2022-05-06T14:39:49Z")

</div>

Hi,

Did OSLC Query Capability provides the only parameters mentioned [OSLC Query Parameters](https://docs.oasis-open-projects.org/oslc-op/query/v3.0/os/oslc-query.html#Table1) or one can perform all parameters mentioned in [SPARQL documentation](https://www.w3.org/TR/rdf-sparql-query/)?

Thanks…!

---

<div class="post-metadata">

**Author:** ![andrew](https://forum.open-services.net/user_avatar/forum.open-services.net/andrew/32/28_2.png) [@andrew](https://forum.open-services.net/u/andrew)\
**Post date:** [May 6, 2022, 5:41pm UTC](https://forum.open-services.net/t/oslc-query-capability-parameters/613/2 "2022-05-06T17:41:53Z")

</div>

Hi @talhashahid009,

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?

Cheers,  
Andrew

---

<div class="post-metadata">

**Author:** ![talhashahid009](https://forum.open-services.net/user_avatar/forum.open-services.net/talhashahid009/32/198_2.png) [@talhashahid009](https://forum.open-services.net/u/talhashahid009)\
**Post date:** [May 8, 2022, 7:53pm UTC](https://forum.open-services.net/t/oslc-query-capability-parameters/613/3 "2022-05-08T19:53:03Z")

</div>

Hi @andrew,

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.

Thanks.!

---

<div class="post-metadata">

**Author:** ![talhashahid009](https://forum.open-services.net/user_avatar/forum.open-services.net/talhashahid009/32/198_2.png) [@talhashahid009](https://forum.open-services.net/u/talhashahid009)\
**Post date:** [May 9, 2022, 2:25pm UTC](https://forum.open-services.net/t/oslc-query-capability-parameters/613/4 "2022-05-09T14:25:20Z")

</div>

One more question came after reading the

> Change Management: Vocabularies

that timestamps such as `created`, `closedDate`, `modified` are declared as `oslc_cm:property`. Do they also have a `URI`, if yes than what could be the value for `URI`?

Thanks

---

<div class="post-metadata">

**Author:** ![andrew](https://forum.open-services.net/user_avatar/forum.open-services.net/andrew/32/28_2.png) [@andrew](https://forum.open-services.net/u/andrew)\
**Post date:** [May 10, 2022, 9:56pm UTC](https://forum.open-services.net/t/oslc-query-capability-parameters/613/5 "2022-05-10T21:56:52Z")

</div>

From the options known to me:

1. If you have a triplestore behind your OSLC server, you could expose a readonly SPARQL endpoint to trusted clients. _I would also look into exposing a [Linked Data Fragments](https://linkeddatafragments.org/concept/) endpoint instead._
2. IBM ELM Engineering Insights (I hope I got that right with all their renamings) has been used to make more complex queries, esp. across OSLC tools by fetching all of their data via TRS.
3. At one of the previous OSLCfests, there was a presentation of an experimental effort to enable GraphQL on RDF.

---

<div class="post-metadata">

**Author:** ![jad](https://forum.open-services.net/user_avatar/forum.open-services.net/jad/32/42_2.png) [@jad](https://forum.open-services.net/u/jad)\
**Post date:** [May 11, 2022, 10:35am UTC](https://forum.open-services.net/t/oslc-query-capability-parameters/613/6 "2022-05-11T10:35:18Z")

</div>

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](https://github.com/oslc-op/oslc-specs/issues/454)

Any other suggested approach would be implementation-specific.

---

<div class="post-metadata">

**Author:** ![DavidJohnHoney](https://forum.open-services.net/user_avatar/forum.open-services.net/davidjohnhoney/32/195_2.png) [@DavidJohnHoney](https://forum.open-services.net/u/DavidJohnHoney)\
**Post date:** [May 11, 2022, 10:37am UTC](https://forum.open-services.net/t/oslc-query-capability-parameters/613/7 "2022-05-11T10:37:40Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![andrew](https://forum.open-services.net/user_avatar/forum.open-services.net/andrew/32/28_2.png) [@andrew](https://forum.open-services.net/u/andrew)\
**Post date:** [May 11, 2022, 11:06am UTC](https://forum.open-services.net/t/oslc-query-capability-parameters/613/8 "2022-05-11T11:06:43Z")

</div>

> [@talhashahid009](#):
>
> that timestamps such as `created`, `closedDate`, `modified` are declared as `oslc_cm:property`. Do they also have a `URI`, if yes than what could be the value for `URI`?

You did not specify prefixes, but here is my guess:

- `http://open-services.net/ns/cm#closeDate` aka `oslc_cm:closeDate` (without a **d** )
- `http://purl.org/dc/terms/created` aka `dcterms:created`
- `http://purl.org/dc/terms/modified` aka `dcterms:modified`
