From: Markus K. <ma...@se...> - 2010-02-16 17:43:23
|
Hi Zeev, what you want are two properties instead of one: [[A lower bound::3]] [[A upper bound::7]] to check if a given interval, say [4,6], overlaps with the interval of the page, you can then query as follows: [[A lower bound::<6]] [[A upper bound::>4]] You can use a template to make sure that the upper bound is always greater or equal than the lower bound of some page, or otherwise this encoding will not make sense. Regards, Markus On Dienstag, 16. Februar 2010, Zeev Pekar wrote: > Hi, > > I have 2 same properties with different values on a page, like this: > [[A::3]] > [[A::7]] > I would like to be able to check whether the page has a property that is > located in certain interval, for example queries > [[A::>2]] > [[A::<4]] > or > [[A::>5]] > [[A::<8]] > or > [[A::>2]] > [[A::<9]] > all should result in showing the page, but this query should not show > the page: > [[A::>4]] > [[A::<6]] > since neither 3 nor 7 is in [4..6]. SMW currently doesn't work like > this, rather it checks whether there is a property that fulfills first > condition and the second and if both conditions are fulfilled, even by > different entries/properties, the page is shown. I need that the page > will be shown only if there is at least one property that fulfills BOTH > conditions. Currently the SQL for this query > [[A::>4]] > [[A::<6]] > looks like this: > > Debug output by SMWSQLStore2 > Generated Wiki-Query > [[A::>4]] [[A::<6]] > Query-Size: 4 > Query-Depth: 1 > SQL query > SELECT DISTINCT t0.smw_title AS t,t0.smw_namespace AS ns FROM > `mw_smw_ids` AS t0 INNER JOIN `mw_smw_rels2` AS t2 ON t0.smw_id=t2.s_id > INNER JOIN `mw_smw_ids` AS t4 ON t2.o_id=t4.smw_id INNER JOIN > `mw_smw_rels2` AS t5 ON t2.s_id=t5.s_id INNER JOIN `mw_smw_ids` AS t7 ON > t5.o_id=t7.smw_id WHERE t2.p_id='73' AND t4.smw_sortkey>='4' AND > t5.p_id='73' AND t7.smw_sortkey<='6' ORDER BY t0.smw_sortkey ASC LIMIT > 51 OFFSET 0; > No errors or warnings. > No auxilliary tables used. > > > How should the SQL query look like in order to do what described above? > Which php file/files should I change in order to have the modified > version of SQL query? > > > thank you in advance, > Zeev > > > --------------------------------------------------------------------------- > --- SOLARIS 10 is the OS for Data Centers - provides features such as > DTrace, Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW > http://p.sf.net/sfu/solaris-dev2dev > _______________________________________________ > Semediawiki-devel mailing list > Sem...@li... > https://lists.sourceforge.net/lists/listinfo/semediawiki-devel > -- Markus Krötzsch <ma...@se...> * Personal page: http://korrekt.org * Semantic MediaWiki: http://semantic-mediawiki.org * Semantic Web textbook: http://semantic-web-book.org -- |