It's all about the answers!

Ask a question

Combine searchTerms with where in query filtering in RDNG 6.0.1M1


Dinyo Dinev (311134) | asked Sep 10 '15, 8:27 a.m.
edited Sep 10 '15, 8:51 a.m.
Hi, I am wondering is it possible to combine searchTerm + where clasuse when filtering with RDNG. And how to do that? When I do:
https://10.0.2.79:9443/rm/views?oslc.query=true&projectURL=https%3A%2F%2F10.0.2.79%3A9443%2Frm%2Fprocess%2Fproject-areas%2F_4du-YEDTEeW98vRabXRPEQ&oslc.searchTerms="*gung"

I have 22 results. When I do:
https://10.0.2.79:9443/rm/views?oslc.query=true&projectURL=https%3A%2F%2F10.0.2.79%3A9443%2Frm%2Fprocess%2Fproject-areas%2F_4du-YEDTEeW98vRabXRPEQ&oslc.paging=true&oslc.pageSize=10&oslc.prefix=rm_property=https://10.0.2.79:9443/rm/types/&oslc.where=rm_property:_oIDcQUZsEeWL2aNIq4SA-w=<https://10.0.2.79:9443/rm/types/_nQHusUZsEeWL2aNIq4SA-w%23_6a51d862-eb1e-4960-809b-c878e896699f>
I have 2 results. And when I combine where and searchTerm:
https://10.0.2.79:9443/rm/views?oslc.query=true&projectURL=https%3A%2F%2F10.0.2.79%3A9443%2Frm%2Fprocess%2Fproject-areas%2F_4du-YEDTEeW98vRabXRPEQ&oslc.paging=true&oslc.pageSize=10&oslc.prefix=rm_property=https://10.0.2.79:9443/rm/types/&oslc.where=rm_property:_oIDcQUZsEeWL2aNIq4SA-w=<https://10.0.2.79:9443/rm/types/_nQHusUZsEeWL2aNIq4SA-w%23_6a51d862-eb1e-4960-809b-c878e896699f>&oslc.searchTerms="*gung"
Internal Server Error from rm.log on the Jazz server:

ERROR com.ibm.rdm.fronting.server.rrs.views.ViewService   - CRRRS1007E  A problem occurred in the Requirements Management (RM) server: Entry [5fbb9008e53d064f]
java.lang.RuntimeException: Error when converting:
oslc.query=true&
oslc.paging=true&
oslc.pageSize=10&
oslc.prefix=rm_property=https://10.0.2.79:9443/rm/types/&
oslc.searchTerms="*gung"&
oslc.where=rm_property:_oIDcQUZsEeWL2aNIq4SA-w=https://10.0.2.79:9443/rm/types/_nQHusUZsEeWL2aNIq4SA-w#_6a51d862-eb1e-4960-809b-c878e896699f
com.ibm.oslc.query.parser.where.ParseException: Encountered "" at line 1, column 37.
Was expecting one of:
   
    at com.ibm.rdm.oslc.query.rql.OslcQueryToRql.convert(OslcQueryToRql.java:112)
    at com.ibm.rdm.oslc.query.rql.OslcQueryToRql.<init>(OslcQueryToRql.java:49)

One answer



permanent link
Donald Nong (14.5k414) | answered Sep 14 '15, 3:22 a.m.
Judging by the functionality in RDNG Web GUI, when you use full text search, you can only apply three filters - "Modified on", "Modified by" and "Artifact type", and I believe the filter is applied after to the full text result is returned.
When you use "oslc.searchTerms", it basically means a full text search. And I don't think it can go beyond what you can do in the Web GUI. I tried to use the aforementioned three attributes in the OSLC search with the "oslc.searchTerms", I got an error different to yours - yours should be about the URL syntax, not the actual search.

Comments
Dinyo Dinev commented Sep 14 '15, 3:45 a.m. | edited Sep 14 '15, 3:52 a.m.

If I put oslc.searchTerms="*gung"before the where clause I have 400.
So from what I understand from you answer I can combine full-text search only with oslc.where when I am searching by "Modified on", "Modified by" and "Artifact type". And  oslc.searchTerms must be before aforementioned attributes?
So the the short answer is that can be combined searchTerms with where, and the log is than not every filter can be applied?
And one more question, can you give working example of this searchTerms with "where" using at the same time?


Donald Nong commented Sep 15 '15, 2:59 a.m. | edited Sep 15 '15, 3:00 a.m.

Actually after further testing in RDNG 5.0.2 (I don't have a 6.0.x environment right now), I don't think you can combine olsc.searchTerms and oslc.where together. Regardless the order of these two parameters in the URL, I got the same error message.

CRRRS1007E  A problem occurred in the Requirements Management (RM) server: Entry [48873c4ea4d4c2e0]
java.lang.RuntimeException: Error when converting:
oslc.query=true&
oslc.prefix=dc=<http://purl.org/dc/terms/>&
oslc.prefix=oslc=<http://open-services.net/ns/core#>&
oslc.where=dc:contributor=<https://clm502:9443/jts/users/dnong>&
oslc.searchTerms="test"
java.lang.RuntimeException: Error when parsing:
1: select R1, R1.<http://www.ibm.com/xmlns/rdm/types/ArtifactFormat>
2: where R1 matches("(content:test)", "t")
3: R1.<http://purl.org/dc/terms/contributor>=<https://clm502:9443/jts/users/dnong>

        at com.ibm.rdm.oslc.query.rql.OslcQueryToRql.toRql(OslcQueryToRql.java:56)
        at com.ibm.rdm.fronting.server.rrs.views.OslcViewExecutionRequest.createViewFromOslcQuery(OslcViewExecutionRequest.java:138)
        ......
If I read the error message, the search engine incorrectly put the "seachTerms" into the RQL it tried to construct. This was with the parameters &oslc.where=dc:contributor=<https://clm502:9443/jts/users/dnong>&oslc.searchTerms="test" - full text contains "test" and "modified by" dnong.


Dinyo Dinev commented Sep 15 '15, 3:16 a.m. | edited Sep 15 '15, 3:17 a.m.

So @Donald Nong to understand. It is probably impossible in RDNG? I only faced one example in one workshop for RDNG 4.0.1 where searchTerms was used separately(without where).

Your answer


Register or 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.