On 09/11/12 13:34, Marcelo Chiaradía wrote: > Thanks a lot for your answer. By the way, is there any extension needed > to run sub-queries?
No, subqueries are a standard part of SMW's query language and all storage backends support them. There are also some forms of subqueries for which you don't need <q>s: [[property1.property2::Value]] is short for [[property1::<q>[[property2::Value]]</q>]] But this won't work if you have more conditions to check in the subquery (e.g.., categories in your case). Markus > 2012/11/9 Markus Krötzsch <mar...@semantic-mediawiki.org > <mailto:mar...@semantic-mediawiki.org>> > > On 09/11/12 09:37, Yury Katkov wrote: > > Well you can also use template format if you don't like > subqueries... It > would also help you to use the intermediate results. > > > That would let you "see" the intermediate results (otherwise, there > is no way to find out which of, say, the "has C" values was > "responsible" for having a line in the result). If you really need > this, and the information cannot be retrieved later (e.g. if you > know that there is only one "has C" on any page anyway), then > templates might help. > > However, using templates with queries to format other queries is > generally a bad approach that is extremely inefficient and will use > a lot of memory and CPU to display a page (results are fetched from > the database, rendered as wikitext, re-parsed as queries, which are > used to fetch more results, ...); it will only work at all of your > inner results are very limited in number. > > Markus > > > > > On Wed, Nov 7, 2012 at 5:44 PM, Marcelo Chiaradía > <chiaradiamarc...@gmail.com <mailto:chiaradiamarc...@gmail.com> > <mailto:chiaradiamarcelo@__gmail.com > <mailto:chiaradiamarc...@gmail.com>>> wrote: > > Hi everyone, > > I'm trying to make an #ask query, using intermediates > results to do > more queries within. > > I have this scenario: > > I have several pages of a category A. Some of them are > related to > other pages of category B, through a "has B" property. > Then, my B > pages are related to pages of category C, through "has C" > property, > and finally my C pages have an attribute "att1", through > "has att1" > property, wich has defined a specific set of values. > > I would like to make an "ask" query, asking for all my A pages, > whose must have at least one B page, which must have at > least one C > page, and which must have the "att1 = SOME_VALUE", where > some value > should be a parameter. > > I read about subqueries, doing something like: > > {{#ask: [[Category::A]] [[has B::<q>[[Category::B]] [[has C:: > > <q>[[Category::C]] [[has > att1::{{SOME_VALUE}}]]</q>]] > </q>]] > |?att1 > }} > > Is this the right way to do this? is there a more elegant way? > > One other thing, I would like that if the user doesn't > complete the > "SOME_VALUE" parameter, then return all the pages of > category A. I > tried this with the "+" and "*" characters, but didnt work. > How is > the best way to achieve this? > > Thanks a lot in advance, > > Marcelo. > > > > ------------------------------__------------------------------__------------------ > LogMeIn Central: Instant, anywhere, Remote PC access and > management. > Stay in control, update software, and manage PCs from one > command center > Diagnose problems and improve visibility into emerging IT > issues > Automate, monitor and manage. Do more in less time with Central > http://p.sf.net/sfu/__logmein12331_d2d > <http://p.sf.net/sfu/logmein12331_d2d> > _________________________________________________ > Semediawiki-devel mailing list > Semediawiki-devel@lists.__sourceforge.net > <mailto:Semediawiki-devel@lists.sourceforge.net> > <mailto:Semediawiki-devel@__lists.sourceforge.net > <mailto:Semediawiki-devel@lists.sourceforge.net>> > https://lists.sourceforge.net/__lists/listinfo/semediawiki-__devel > <https://lists.sourceforge.net/lists/listinfo/semediawiki-devel> > > > > > > ------------------------------__------------------------------__------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn___d2d_nov > <http://p.sf.net/sfu/appdyn_d2d_nov> > > > > > _________________________________________________ > Semediawiki-devel mailing list > Semediawiki-devel@lists.__sourceforge.net > <mailto:Semediawiki-devel@lists.sourceforge.net> > https://lists.sourceforge.net/__lists/listinfo/semediawiki-__devel > <https://lists.sourceforge.net/lists/listinfo/semediawiki-devel> > > > ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_nov _______________________________________________ Semediawiki-devel mailing list Semediawiki-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/semediawiki-devel