How can I use OSLC to query for work Items whose title contains a particular string?
![]()
selin köykiran (28●2●3)
| asked Jul 09 '12, 8:39 a.m.
edited Jul 09 '12, 2:54 p.m. by Geoffrey Clemm (30.1k●3●30●35)
Hello everybody,
I wonder if I can query work items whose title contains some specific word. Here is my code line: .... "&oslc.where=" + URLEncoder.encode("dcterms:title="+"\"SLN\"", "UTF8"); ... For example ,I want to search work items whose title includes "SLN" word in it. But above in my code line ,I just can get the work items whose title is directly ="SLN". So I want to get the work items whose title is SLN and contains also "SLN" word group in it. How can I change my code line ? I hope I could explain what I want and what I get. thank you.
|
Accepted answer
6 other answers
![]()
Hi,
The type URL must be enclosed by <> chars. like : &oslc:where=rm:ofType=<Your type URL> Where "Your Type URL" could be something like : " https://gradev.ibm.com:9444/rdm/types/_PDQfocSMEeGA8-GkKWmlAA " NOTE : Char " must NOT be included ( I just added here to try to avoid the automatic format ). Regarding your above question: you can do a GET to the URL type as follows : Headers : accept=application/rdf+xmlAction : GET URL : " https://gradev.ibm.com:9444/rdm/types/_PDQfocSMEeGA8-GkKWmlAA " Note: Do not include " charsIt will give information about the artifact type. PLS let me know if more questions |
![]()
Hi,
1) rm:ofType should work, problem should be in other part of the query 2) rm is the default name in the URLs for RRC, but in can be changed, in my env it is named rdm. You should be using the one in your env, If following is a valid resource type in your environment: " https://abcdjazz.abcd.org.tr:9444/rm/types/_4dvf0LoNEeG8aNjNIIRtMQ " Then you can test using following oslc.where line : "&oslc.where=rm:ofType=<https://abcdjazz.abcd.org.tr:9444/rm/types/_4dvf0LoNEeG8aNjNIIRtMQ>" Note: I removed the encoding because it seems to be needed in this specific case. Are you using an HTTP requester or Poster to test ? It will be easier to test there and then move the query to the code. Comments I use Restful Client Api in Mozilla web browser.I checked my creation factory and the other things from there. I used your query in my code exactly same.But I again couldn't make the code work correctly. Can my prefix be wrong? Here: ","+ URLEncoder.encode("rm=<http: www.ibm.com="" xmlns="" rdm="" rdf=""/>", "UTF8") this prefix is true for rm:ofType ? Sorry I asked too much ,but It's really important for me to run this code and get my result correctly. Thanks again for your answers. |
![]()
Gabriel Ruelas, I have one more question about subject:
I wrote something like that in java for that environment :
[1] String type = "https://abcd-jazz.abcd.org.tr:9444";
[2] String type2="_ 4dvf0LoNEeG8aNjNIIRtMQ ";
[3] String oslcSearchByIdentifierQuery = queryCapabilityURI + "&oslc.prefix="+ URLEncoder.encode("dcterms=<http://purl.org/dc/terms/>", "UTF8") +
[4] ","+ URLEncoder.encode("rm=<http://www.ibm.com/xmlns/rm/rdf/>", "UTF8") +
[5] "," + URLEncoder.encode("rdf= <http://www.w3.org/1999/02/22-rdf-syntax-ns#>", "UTF8")+
[6] "," + URLEncoder.encode("rdfs= <http://www.w3.org/2000/01/rdf-schema#>", "UTF8")+
[7] "&oslc.select=" + URLEncoder.encode("dcterms:title", "UTF8") +
[8] "&oslc.where=" + URLEncoder.encode("rm:ofType="+type,"UTF8")+"/rm/"+ [9]URLEncoder.encode("types="+type2,"UTF8");
But I think somethings are wrong. Because I got error all the time with this code lines. I tried your solution in this way in my project but I couldn't make run it,yet. Can you see any wrong thing in my code?I think there is a problem with my syntax of environment or query.And what is rm:ofType? Is there any usage of rm like that?Thanks for sharing your answer with me.
|
![]()
Thanks . I have one more question. Now this is my new code lines:
String oslcSearchByIdentifierQuery = queryCapabilityURI + "&oslc.prefix="+ URLEncoder.encode("dcterms=<http://purl.org/dc/terms/>", "UTF8") +
","+ URLEncoder.encode("rm=<http://www.ibm.com/xmlns/rm/rdf/>", "UTF8") +
"," + URLEncoder.encode("rdf= <http://www.w3.org/1999/02/22-rdf-syntax-ns#>", "UTF8")+
"&oslc.select=" + URLEncoder.encode("dcterms:title", "UTF8") +
"&oslc.where=" + URLEncoder.encode("rdf:type=<https://abcd
jazz.abcd.org.tr:9444/rm/types/_JaY24KZ1EeGjj9nAekV-Aw/>","UTF8");
But here I used rdf:type not rm:ofType! With this code I can run my program but I could't get anything,any work-items. So something again is wrong.Now I have two questions: 1-) I couldn't find anything about rm:ofType .Is it working or not? Because in my code it didn't work. 2-) In my creation factory I can find my environment and type link but in my link there is ... /rm/types /... not .../rdm/types/..., like yours. Is it a problem or Is it normal? I have to ask all the things ,even little one .Because I've tried everyway but still I can't get the work-items by artifact -type.
Thanks again for the answers.
|
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.