From: Kelly B. <Kel...@tr...> - 2011-11-08 09:04:36
|
Hi All, Apologies in advance for my noobishness. Mediawiki 1.17.0, SMW 1.6.1, SMF 2.2.1, PHP 5.3.6, MySQL 5.1.56. Private Wiki. I'm trying to create an inline query using an OR and an arraymap. The result I want is a list of Cases with a PPL number (CasePPL) that matches any of a list of PPLs associated with a TestPlan (TestPlanPPLs) (I hope my naming of the properties will make that clear in the following syntax). {{#ask: [[CasePPL::{{#arraymap:{{{TestPlanPPLs|}}}|,|x|x|{{Pipe}}{{Pipe}}}}]]|?CaseName=Name|format=table}} I found this example in a search I did for this issue but it is returning a larger list of cases than I would expect. I've browsed the properties of all of these cases and not all of them associate themselves with the PPL in question in any way. In addition I'm getting an inline error after the table: "" cannot be used as a page name in this wiki. Some use of "<nowiki>[[</nowiki>" in your query was not closed by a matching "]]". I'm at my wit's end here and any help would be gratefully accepted. To be honest I am not even sure what the {{pipe}} syntax means however I have created a Template:Pipe with a | character in it on the off chance this is the intended mechanism. Kelly Bowles User Interface Designer, INF, Technology |
From: Jeroen De D. <jer...@gm...> - 2011-11-08 09:55:47
|
Hey, > To be honest I am not even sure what the {{pipe}} syntax means however I have created a Template:Pipe with a | character in it on the off chance this is the intended mechanism. It very likely is intended to be used like that yes. > In addition I'm getting an inline error after the table: This means the query is not valid and SMW is just ignoring some or all of the conditions, causing more results to show up then you'd expect. I don't immediately see what's wrong; it'd be helpful if you could post the output of the arraymap. Cheers -- Jeroen De Dauw http://www.bn2vs.com Don't panic. Don't be evil. -- |
From: Kelly B. <Kel...@tr...> - 2011-11-08 11:09:30
|
Thank you Jeroen for setting my mind at ease regarding {{Pipe}}. I was thinking I was being really daft about that. Once this is worked out I will try to write up some documentation for it as I believe it is not all that unusual. The only example I've found on the net is one involving building materials. Also, thanks for pointing me to the arraymap, that is likely where the problem is. The original (broken) ASK {{#ask: [[CasePPL::{{#arraymap:{{{TestPlanPPLs|}}}|,|x|x|{{Pipe}}{{Pipe}}}}]]|?CaseName=Name|format=table}} The array I'm interested in using in my query when written 'correctly' thus: {{#arraymap:{{{PPLs|}}}|,|x|[[TestPlanPPLs::PPL:x]]}} Yields: PPL:777777, PPL:123456 The property for a TestPlan that is used to drive the query looks thus: TestPlanPPLs 777777, 123456 ========== Whereas when I have tried to adapt it for the OR condition in an ASK thus: {{#arraymap:{{{TestPlanPPLs|}}}|,|x|x|{{Pipe}}{{Pipe}}}} Yields: Nothing (but probably wouldn't when set on its own) I'm totally suspecting I've adapted the arraymap syntax wrong. =========== The property when browsing for a case that is valid looks thus: CasePPL 777777 From: Jeroen De Dauw [mailto:jer...@gm...] Sent: 08 November 2011 09:55 To: Kelly Bowles Cc: Sem...@li... Subject: Re: [Semediawiki-user] Multi-value inline query (OR and Arraymap) Hey, > To be honest I am not even sure what the {{pipe}} syntax means however I have created a Template:Pipe with a | character in it on the off chance this is the intended mechanism. It very likely is intended to be used like that yes. > In addition I'm getting an inline error after the table: This means the query is not valid and SMW is just ignoring some or all of the conditions, causing more results to show up then you'd expect. I don't immediately see what's wrong; it'd be helpful if you could post the output of the arraymap. Cheers -- Jeroen De Dauw http://www.bn2vs.com Don't panic. Don't be evil. -- |