You guessed right about most things. As far as Halo is concerned, yes I was talking about Special:QueryInterface (although their other features are pretty cool too).I guess I'm mixing up terminology since I'm quite new to SMW :(
>And I also don't know what you meant by "a powerful result printer". Could you clarify these?
What I meant by "a powerful result printer" is simply a system which allows one to access results in the format you desire (for example, a link to results as RSS feeds). That's use-case 1 to me (see below)
I've been thinking more and more about this and can think of three cases of what Special Ask is doing (or should do ;) ) I'm not going into functionality appropriate for completely new extensions, and I'm thinking out loud here, and would love your comments.
(1)CASE 1: .site\wiki\Special:Ask\<some-parameters> gives Tables, RSS Feeds, Google-Maps and more
EXAMPLE: "Special:Ask/-5B-5BLocated-20in::Germany-5D-5D/order%3DDESC/sort%3D/format%3Drss/limit%3D20" generates an RSS feed of pages of entities located in Germany.
I think meddling with this (especially the URL format) would break a lot of things, including Special:QueryInterface. However, Jeroen said that we will ultimately get limited by the URL length of <some-parameters>, so perhaps using POST and/or a totally different parameter-passing-mechanism (such as Json??) might improve this feature in the future.
(2) CASE 2: Write a query, choose properties and get a URL link OR results OR #ask
Apart from actually 'writing' the query, Special:QueryInterface does this rather well, and is more intutive than Special:Ask. The only place QueryInterface falters is that you cannot paste a query and edit it; you have to store it for future editing. Improving usability here, such as more auto-complete, error-reporting, and some hints (isn't the search page at GitHub nice?) would help the user along quite well, I think.
(3) CASE 3: Edit an existing #ask OR Special:Ask\<someparameters> OR query
For example, given a link which gets me an RSS feed, can I edit it to
(i)change query parameters ?
(ii)change the export format ?
(iii)get the equivalent #ask ?
(iv)get the equivalent query?
(v) change sorting options?
This should work for three kinds of input: (1) #ask, (2)the query we type in the current Special:Ask box and (3)the Special:Ask/URL. Jeroen had told me that this is quite a useful idea, and it is if you wanted to tweak some existing feeds or exports.
I know Special:Ask can't do this right now (apart from pasting in a query which have saved in your notes maybe ;) ), but does anyone else know of any other extension which does this?
I'm hoping to move CASE (2) and CASE (3) out of Special:Ask to different Special Pages. My reasoning for this is (I hope not too many people are getting angry right now) that if in the long run Special:Ask concentrates on just one feature (use CASE (1): URL to Results) then less bugs should creep in, and more features could be added. This would also mean that going to wiki/Special:Ask (without any other parameters) would have nothing to show the user at all! (maybe a helpful redirect to CASE 2 or CASE 3?). This is where I really need your opinion (be gentle!).
Another thing I'm thinking about is to be able to disable CASE (1), without disabling CASE (2) and CASE (3) especially for #ask. For a site which can't handle traffic, maybe one wouldn't want third-parties generating feeds/maps of data (and burdening the server for every client who views the RSS feed), but would still want the ability to create and edit queries and #ask. Isn't that why Wikipedia wants to disable query features if they include SMW in Wikipedia?
The points you raise about re-naming Special:Ask are interesting. In fact Markus had asked me to think "What should Special:Ask do?". Indeed S.Ask does so many things that naming it is a problem ;). My hope is that 'Ask' is a good name for CASE 1 ("ask and you shall find"). "Query Creator" is more suited to CASE 2 and "Query Editor" is more suited to CASE 3 (provided that you agree that CASE 2 and 3 are indeed separate use-cases)
~devOn Sun, May 15, 2011 at 10:46 PM, Yaron Koren <firstname.lastname@example.org> wrote:
extensions for SMW which make it easier to find data or build queries, such
as Halo, Drilldown and Exhibit. These products do a great job, but they have
common aspects (which people at the dev-list were kind to point out) that
could be abstracted out. In short, if we could separate (i) a powerful
result printer and (ii)a clean usable interface, from Special:Ask, then in
the future one could build an awesome query builder/a new result printer/a
data-explorer by writing less code.This paragraph confused me, actually. Semantic Drilldown and Exhibit definitely have aspects in common - SD's "filters" and Exhibit's "facets" are basically the same thing. For Halo - I assume you're talking about Special:QueryInterface, but maybe you're talking about the SMW+ "Faceted Browser" extension. In either case, I don't know what you mean about abstracting out common aspects. And I also don't know what you meant by "a powerful result printer". Could you clarify these?Finally, this is kind of a minor point, but we had a brief discussion on the mailing list a while ago about maybe renaming "Semantic search" (the current title of Special:Ask) to something that sounds less intimidating - I suggested "Query creator" or "Create a query". If you're already overhauling the page, that might be worth thinking about too. And the actual name of the page, "Special:Ask", could be changed as well, if some other name makes more sense.-Yaron
Achieve unprecedented app performance and reliability
What every C/C++ and Fortran developer should know.
Learn how Intel has extended the reach of its next-generation tools
to help boost performance applications - inlcuding clusters.
Semediawiki-devel mailing list