I'm not really talking about the specific query *engine* that will work
on the file topic data. (Well, maybe a little, in general terms about
some of the functionality we might want in such a search).
What I'm more talking about is the kind of data that will likely need to
stored on the CommonsData wikibase to make any kind of such query engine
*possible* with reasonable speed -- in particular not just the most
specific Q-numbers that apply to a file, but (IMO) *any* Q-number that
the file should be returned from if the topic corresponding to that
Q-number was searched for.
I'm saying that such a Q-number needs to be included on the item on
CommonsData for the file -- it's not enough that if used Wikidata to
look up the more specific Q-number, then the less specific Q-number
would be returned: I'm saying that lookup already needs to have been
done (and maintained), so the less specific Q-number is already sitting
on CommonsData when someone comes to search for it.
This doesn't need to be a manual process (though the presence of a
Q-number on a CommonsData item perhaps needs to subject to manual
overrule, in case the inference chain has gone wrong, and it really
isn't relevant); but what I'm saying is that you can't wait to do the
inference when the search request comes in -- instead the relevant
Q-numbers for each file need to be pre-computed, and stored on the
CommonsData item, so that when the search request comes in, they are
already there to be searched on. That denormalisation of information
really needs to be in place whatever the fine coding of the engine --
it's data design, rather than engine coding.
On 13/09/2014 20:56, Thomas Douillard wrote:
Hi James, I don't understand (I must admit I did
not read the whole topic).
Are we talking about a specific query engine ? The one the development team
will implement in Wikibase, or are we talking of something else ?
If we do not know that, I seems difficult to have this conversation at that
2014-09-13 21:51 GMT+02:00 James Heald <j.heald(a)ucl.ac.uk>uk>:
"Let the ops worry about time" is not
We're talking about the something we're hoping to turn into a world-class
mass-use image bank, and its front-line public-facing search capability.
That's on an altogether different scale to WDQ running a few hundred
searches a day.
Moreover, we're talking about a public-facing search capability, where
you're user clicks a tag and they want an updated results set *instantly*
-- their sitting around while the server makes a cup of tea, or declares
the query is too complex and goes into a sulk is not an option.
If the user wants a search on "palace" and "soldier", there simply is
time for the server to first recursively build a list of every palace it
knows about, then every image related to each of those palaces, then every
soldier it knows about, every image related to each of those soldiers, then
intersect the two (very big) lists before it can start delivering any image
hits at all. That is not acceptable. A random internet user wants those
hits straight away.
The only way to routinely be able to deliver that is denormalisation.
It's not a question of just buying some more blades and filling up some
more racks. That doesn't get you a big enough factor of speedup.
What we have is a design challenge, which needs a design solution.
Let the ops worry about time, I have not heard
them complain about a
dystopia yet. Even the Wiki Data Query has reasonable response time
compairing to the power it offers in the queries. And that is on wmflabs,
not a production server.
You're saying that even when we make the effort to get structured linked
data we should not exploit the single most important advantage it offers.
It does not make sense.
It almost like just repeating the category sysem again but with another
software (albeit it offers multilinguality).
Multimedia mailing list
Wikidata-l mailing list
Wikidata-l mailing list