From: Markus <ma...@ai...> - 2006-06-25 20:51:33
|
Hi all, after 48 hours of coding (*puh*), I have uploaded an intermediate release o= f=20 SMW on SourceForge. If you want to upgrade, you need to recreate your=20 SMW_LocalSettings.php, since some variables have changed there. The release addresses a number of issues and limitations with the current=20 Inline Query mechanism, in particular: * Inline queries are much more efficient.=20 ** Typical queries can be executed in linear space (assuming that the DB is= =20 not dump and eliminates duplicate rows eagerly). ** Subqueries now have a much better behaviour and should not strongly=20 increase the required resources. ** If the query performance still does not scale up to your use case, there= =20 are added variables you can set to further restrict them in a meaningful wa= y. * Inline queries are more powerful. There are quite some new features for=20 output formatting and searching: ** If you want to search for all articles that have *some* annotation for a= =20 given property, use the syntax [[relation::+]] or [[attribute:=3D+]]. ** If you say [[relationname::*]] or [[attributename:=3D*]], all values of = these=20 annotations are printed, no matter how many there are. ** You can also print the immediate categories given to the selected articl= es=20 by [[Category:*]]. ** You can restrict the search to a certain namespace. E.g. [[Relation:+]]= =20 searches only in the Relation namespace. The main namespace is usually=20 [[:+]]. For searching for categories, use [[:Category:+]]. This feature can= be=20 combined with disjunctions, e.g [[Help:+||:+]] for searching in Help and=20 Main. ** You can now use all output formats with all kinds of results, i.e. not o= nly=20 'table' can be used to print more than one "column". E.g. a query could=20 return a list of names of some persons with their assigned email addresses= =20 printed in parentheses. ** If you don't want the names of the relations, attributes, etc. to be=20 printed (e.g. if you do not have a table output and only one non-subject=20 value), you can set the parameter <ask headers=3D"hide">. As before, you ca= n=20 also select the label for some output by writing [[relation::*|your label]]= =20 etc. ** You can give a label to the first entry of each result (the subject) by= =20 setting the parameter <ask mainlabel=3D"Your label goes here.">. By this, y= ou=20 can also force the subject to be shown in cases where it is normally hidden= =20 (for queries where one or more subjects where specified explicitly by using= =20 [[Subject_article_name]]). * The code for inline queries now is more readable and can easier be extend= ed=20 in the future. There also have been quite some internal cleanups in the=20 datatype parsing code, but these should not have major effects on usage.=20 However, you can now quite savely switch on the reporting of Notices in PHP. * There are some bugs less now. (And maybe some more in other places ;-) Of course, the release has not been tested extensively, so there might be s= ome=20 bugs lurking here and there. But in general inline queries 0.4.3 are a larg= e=20 improvement over inline queries 0.4.1. The official documentation for the n= ew=20 queries still has to be done. Cheers, Markus =2D-=20 Markus Kr=F6tzsch Institute AIFB, University of Karlsruhe, D-76128 Karlsruhe ma...@ai... phone +49 (0)721 608 7362 www.aifb.uni-karlsruhe.de/WBS/ fax +49 (0)721 693 717 |