Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

QueryCapability in Rational Model Manager (v7.0.2)

Hello!

I can not query resources from RMM v7.0.2 deployed in CCM application. Does it work in this version?

The query capability was discovered by next way:

1. Set JKE Banking (CCM) project area from samples as architectural enabled

CCM DM activated

2. Run HTTP GET for oslc_am catalog discovered in rootservices of CCM application to get available service providers

Get catalog

3. HTTP GET for required service provider from the catalog

Get service provider

4. Detect query capability in service provider details

Get service provider details

5. HTTP GET for discovered query capability

HTTP 404

As if something isn't implemented yet and waiting for next releases? Or I did something wrong?

Thank you!

0 votes


Accepted answer

Permanent link

Side Note:
Rational Design Manager (RDM) is End of Service (EOS), and does not ship with ELM 7.0.2. You are actually talking about Rhapsody Model Manager (RMM).
To avoid confusion for readers, and make this thread more discoverable for users looking for RMM topics vs DM topics, I have updated the question/title to mention RMM instead of DM.


Answer:
RMM currently provides very limited support for Query Capabilities (only specific OSLC queries that DNG and DOORS are running against RMM)

Ex:
/am/oslc-am/query/_db8iYNNZEeerUJltAj9C5Q?oslc.where=*%3D%3Chttps%3A%2F%2Flocalhost%3A9443%2Frm%2Fresources%2F_dO_yAdRKEeehXdBOsttb4Q%3E&oslc.select=*


We do not support:
-oslc.searchTerms
-oslc.orderBy
-oslc.properties

and only support * for:
-oslc.select
-oslc.where


The request to expand on the OSLC query support is tracked in: Support query capabilities in the OSLC AM API. (62419)
Also see this related work item: 62269: RMM OSLC AM provider for third party tools

Dmitry A. Lesin selected this answer as the correct answer

0 votes

Comments

 David, look like your answer got messed up some how. The example query looks incomplete, as does (other than ).


I think you are saying that RMM only supports OSLC query where and select clauses sufficient for DNG/DOORS to query for incoming Architecture Management links?


Thanks for noticing that. Looks like the asterisk character needs to be escaped (with a backslash).

But yes, the current OSLC query support only works with 'oslc.select' and 'oslc.where' to the extend that DOORS/DNG <-> RMM use cases work.

The two work items might have more information (or may be an additional/different place to have further discussions, etc.).

You should probably include at least the Oslc-Core-Version: 2.0 header, and an Accept header for an RDF media type, such as text/turtle or application/rdf+xml . https://docs.oasis-open-projects.org/oslc-op/query/v3.0/os/oslc-query.html#using-a-query-capability says:

oslc:queryBase neither specifies oslc.where nor oslc.searchTerms , the server MUST return a query response describing all the resources that have one or more of the RDF types specified by the oslc:resourceType of the oslc:QueryCapability that defines the oslc:queryBase .[QUERY-10]


If a GET or POST on a query base without oslc.where is not accepted, I think you should submit a defect against RMM since it is not compliant with the specification. It is acceptable to not support olsc.searchTerms or oslc.paging because these are optional.

Thank you David L. and everybody who was participating in this discussion! It seems that David's sample definitely works. 


4 other answers

Permanent link

 Dmitry I would suspect you did not provide the correct request headers. The OSLC header is missing. 

0 votes

Comments

I would try OSLC-Core-Version: 2.0 

 Hi Ralph,
I'm sorry, sent a wrong screen shot from initial GET where I really made a mistake. The correct screenshot:


Fixed screen shot


Permanent link
Rational Design Manager (RDM) is End of Service (EOS), and does not ship with ELM 7.0.2. Do you mean Rhapsody Model Manager (RMM)?

Get on the queryBase resource is not defined in OSLC Query. Some servers do implement this, often by returning the URLs of all available resources. But servers are not required to support this. This behavior may have changed between RDM and RMM. Try an actual OSLC Query.




0 votes

Comments

Jim, I find that surprising. According to https://docs.oasis-open.org/oslc-core/oslc-query/v3.0/csprd01/oslc-query-v3.0-csprd01.html#using-a-query-capability the server MUST support a GET on the query base.


 a GET on the query base URI of a query capability, with zero, one or more query parameters shown in the table below.
Servers must support a GET on the query base URI of a query capability. [query-6]

However, the error message seems to suggest that the query is interpreted as "in" and it is missing a parameter.


Permanent link

Your request is missing an oslc.where query expression. Perhaps the server requires it. It would be bad practice to attempt to query for all resources by omitting a query expression.

0 votes

Comments

The OSLC Query specification says that the OSLC query parameters are optional. So while it should be valid to omit all parameters such as oslc.where , I think this should be discouraged. Effectively trying to query for every resource in the scope of a query capability may not be scalable or performant. Having said that, if RMM doesn't accept such a query, I would submit a defect against RMM because it is not compliant with the OSLC Query specification.


Permanent link

> The request to expand on the OSLC query support is tracked in: Support query capabilities in the OSLC AM API.  (62419)

> Also see this related work item: 62269: RMM OSLC AM provider for third party tools

Quite frustrating to put links into a forum that are not accessible !!!

Is there anywhere accessible that give more information on this ?

-1 votes

Comments

The links used to be accessible. See https://jazz.net/blog/index.php/2024/02/29/jazz-net-is-evolving/  for what is changing. This information is no longer openly accessible.

Couple of things here:
 - it's not a good idea to comment on someone else's forum question using an answer
 - this forum question is almost two years old and quite a few things have changed since then
 - the links you're complaining about were also posted almost two years ago when access to the internal Jazz servers was still available. This access changed in March this year, so you just missed out on them working

So basically, you are complaining about a two year old post with broken links that worked until only a few months ago, by posting an answer to that post which is not an answer.

:-)

PS: If Ralph sees this he won't be as nice as me lol

Your answer

Register or log in to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details
× 10,937
× 516
× 1

Question asked: Sep 19 '22, 9:53 a.m.

Question was seen: 3,364 times

Last updated: Jun 18, 2:58 a.m.

Confirmation Cancel Confirm