From: Markus K. <ma...@se...> - 2008-07-07 08:51:15
|
SMW 1.2 extends the options for controlling which queries users are allowed to ask, and it has a mechanism that can be used to let some users ask more than others ("permissions"). The detailed query control settings are achieved by the new configuration parameter $smwgQFeatures. This parameter defines which query features are allowed in #ask. The default is the following: $smwgQFeatures = SMW_PROPERTY_QUERY | SMW_CATEGORY_QUERY | SMW_CONCEPT_QUERY | SMW_NAMESPACE_QUERY | SMW_CONJUNCTION_QUERY | SMW_DISJUNCTION_QUERY; This allows all existing features to be used. Other possible settings could be: only category intersections: $smwgQFeatures = SMW_CATEGORY_QUERY | SMW_CONJUNCTION_QUERY; only single concepts: (see earlier mail on concepts) $smwgQFeatures = SMW_CONCEPT_QUERY; anything but disjunctions: $smwgQFeatures = SMW_ANY_QUERY & ~SMW_DISJUNCTION_QUERY; So you can very clearly customise SMW queries. This affects only the #ask queries. Queries stored as concepts have their own setting, called $smwgQConceptFeatures. For example, concepts currently are not allowed to refer to other concepts (recursion is not handled properly by SMW yet). This gives you a way to restrict query creation to some user group of the wiki: * set $smwgQFeatures = SMW_CONCEPT_QUERY; * configure MediaWiki to have the Concept: namespace being editable only by some user groups (there are extensions for that, I have no further details here, search the web). Then #ask queries can only use single concepts and not be used to invent any new queries. So you can have very complex queries, but have responsible people creating them and making sure they are fine and fast in the wiki. You can also set $smwgQFeatures = SMW_CONCEPT_QUERY | SMW_CONJUNCTION_QUERY; to allow for conjunctions of multiple concepts, if desired, or you can further include categories. This appears to be a good option especially for very large sites that cannot afford users toying around with arbitrary queries for reasons of performance. This restriction was not tested thoroughly yet (so do not rely on this performance safety). Restricting complex queries to concept will become even more useful as soon as SMW 1.3 offers concept-specific caching (e.g. some concepts being precomputed in the database so they can be recalled like categories). Category caching was originally planned for SMW 1.2 already, but we decided to first introduce concepts and then have a general caching mechanism for them. In this way, all queries will be cacheable and scale to any site that is able to display categories. Wikipedia comes to mind. But one more release is needed for that to be done properly. Cheers, Markus -- Markus Krötzsch Semantic MediaWiki http://semantic-mediawiki.org http://korrekt.org ma...@se... |
From: Sergey C. <sem...@an...> - 2008-07-07 18:52:59
|
Markus, great news! Looks like switch to 1.12 is inevitable for me ;) I think speed optimizations might be even more important, especially for some large sites (hint-hint). I wonder if "formats" idea I described in addition to "Concepts" to further minimize URLs makes sense - in any case, I'll start by testing default concept titles and descriptions first. Sergey On Mon, Jul 7, 2008 at 4:51 AM, Markus Krötzsch < ma...@se...> wrote: > SMW 1.2 extends the options for controlling which queries users are allowed > to > ask, and it has a mechanism that can be used to let some users ask more > than > others ("permissions"). > > The detailed query control settings are achieved by the new configuration > parameter $smwgQFeatures. This parameter defines which query features are > allowed in #ask. The default is the following: > > $smwgQFeatures = SMW_PROPERTY_QUERY | SMW_CATEGORY_QUERY | > SMW_CONCEPT_QUERY | > SMW_NAMESPACE_QUERY | SMW_CONJUNCTION_QUERY | > SMW_DISJUNCTION_QUERY; > > This allows all existing features to be used. Other possible settings could > be: > > only category intersections: > $smwgQFeatures = SMW_CATEGORY_QUERY | SMW_CONJUNCTION_QUERY; > > only single concepts: (see earlier mail on concepts) > $smwgQFeatures = SMW_CONCEPT_QUERY; > > anything but disjunctions: > $smwgQFeatures = SMW_ANY_QUERY & ~SMW_DISJUNCTION_QUERY; > > So you can very clearly customise SMW queries. This affects only the #ask > queries. Queries stored as concepts have their own setting, called > $smwgQConceptFeatures. For example, concepts currently are not allowed to > refer to other concepts (recursion is not handled properly by SMW yet). > > This gives you a way to restrict query creation to some user group of the > wiki: > > * set $smwgQFeatures = SMW_CONCEPT_QUERY; > * configure MediaWiki to have the Concept: namespace being editable only by > some user groups (there are extensions for that, I have no further details > here, search the web). > > Then #ask queries can only use single concepts and not be used to invent > any > new queries. So you can have very complex queries, but have responsible > people creating them and making sure they are fine and fast in the wiki. > You > can also set $smwgQFeatures = SMW_CONCEPT_QUERY | SMW_CONJUNCTION_QUERY; to > allow for conjunctions of multiple concepts, if desired, or you can further > include categories. This appears to be a good option especially for very > large sites that cannot afford users toying around with arbitrary queries > for > reasons of performance. This restriction was not tested thoroughly yet (so > do > not rely on this performance safety). > > Restricting complex queries to concept will become even more useful as soon > as > SMW 1.3 offers concept-specific caching (e.g. some concepts being > precomputed > in the database so they can be recalled like categories). Category caching > was originally planned for SMW 1.2 already, but we decided to first > introduce > concepts and then have a general caching mechanism for them. In this way, > all > queries will be cacheable and scale to any site that is able to display > categories. Wikipedia comes to mind. But one more release is needed for > that > to be done properly. > > > Cheers, > > Markus > > -- > Markus Krötzsch > Semantic MediaWiki http://semantic-mediawiki.org > http://korrekt.org ma...@se... > > ------------------------------------------------------------------------- > Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! > Studies have shown that voting for your favorite open source project, > along with a healthy diet, reduces your potential for chronic lameness > and boredom. Vote Now at http://www.sourceforge.net/community/cca08 > _______________________________________________ > Semediawiki-user mailing list > Sem...@li... > https://lists.sourceforge.net/lists/listinfo/semediawiki-user > > -- Sergey Chernyshev http://www.sergeychernyshev.com/ |
From: CNIT <cn...@un...> - 2008-07-09 14:05:03
|
> SMW 1.2 extends the options for controlling which queries users are allowed to > ask, and it has a mechanism that can be used to let some users ask more than > others ("permissions"). > > The detailed query control settings are achieved by the new configuration > parameter $smwgQFeatures. This parameter defines which query features are > allowed in #ask. The default is the following: > > $smwgQFeatures = SMW_PROPERTY_QUERY | SMW_CATEGORY_QUERY | SMW_CONCEPT_QUERY | > SMW_NAMESPACE_QUERY | SMW_CONJUNCTION_QUERY | SMW_DISJUNCTION_QUERY; > > This allows all existing features to be used. Other possible settings could > be: > > only category intersections: > $smwgQFeatures = SMW_CATEGORY_QUERY | SMW_CONJUNCTION_QUERY; > > only single concepts: (see earlier mail on concepts) > $smwgQFeatures = SMW_CONCEPT_QUERY; > > anything but disjunctions: > $smwgQFeatures = SMW_ANY_QUERY & ~SMW_DISJUNCTION_QUERY; > > So you can very clearly customise SMW queries. This affects only the #ask > queries. Queries stored as concepts have their own setting, called > $smwgQConceptFeatures. For example, concepts currently are not allowed to > refer to other concepts (recursion is not handled properly by SMW yet). > > This gives you a way to restrict query creation to some user group of the > wiki: > > * set $smwgQFeatures = SMW_CONCEPT_QUERY; > * configure MediaWiki to have the Concept: namespace being editable only by > some user groups (there are extensions for that, I have no further details > here, search the web). > > Then #ask queries can only use single concepts and not be used to invent any > new queries. So you can have very complex queries, but have responsible > people creating them and making sure they are fine and fast in the wiki. You > can also set $smwgQFeatures = SMW_CONCEPT_QUERY | SMW_CONJUNCTION_QUERY; to > allow for conjunctions of multiple concepts, if desired, or you can further > include categories. This appears to be a good option especially for very > large sites that cannot afford users toying around with arbitrary queries for > reasons of performance. This restriction was not tested thoroughly yet (so do > not rely on this performance safety). > > Restricting complex queries to concept will become even more useful as soon as > SMW 1.3 offers concept-specific caching (e.g. some concepts being precomputed > in the database so they can be recalled like categories). Category caching > was originally planned for SMW 1.2 already, but we decided to first introduce > concepts and then have a general caching mechanism for them. In this way, all > queries will be cacheable and scale to any site that is able to display > categories. Wikipedia comes to mind. But one more release is needed for that > to be done properly. > > > Cheers, > > Markus > > Concept namespace with access control and especially caching of it is a great feature! I hope also that automatical creation of properties with metadata (eg page creation, page modification) can be implemented. Also, Jon Lang proposal to introduce "duplicate" and "find" #ask attributes is cool, it makes SMW more SQLish, which extends it's flexibility. (Just to show my support). Dmitriy |