mkroetzsch added a comment.

In https://phabricator.wikimedia.org/T86278#969184, @Multichill wrote:

> I would like to turn it around. We should support indexing everything:


...

> The fact that we're not creative enough to make up queries for everything 
> doesn't mean it isn't useful.


I have to disagree with this approach of designing a (query) system. Of course 
supporting "everything" would be nice, but indexing always needs to be viewed 
in the context of a query language. Depending on the query features you 
support, "indexing" may mean completely different things. The requirement that 
"everything should be indexed" is fuzzy and vague.

For example, Wikidata Query supports regular path queries (in Wikidata, 
Kleene-star recursion is accessed with an operator called "TREE"). When you say 
that references should be indexed, do you mean that it should be possible to 
navigate through references within regular path expressions? How about 
qualifiers? I think Wikidata query only supports TREE in the main statements. 
On the other hand, Wikidata query does not support any kind of cyclic queries 
("Find people whose parents are married to each other.") even though the 
relevant data is indexed. The point is that you need adequate index structures 
for each query feature. You may have "indexed everything" and still not be able 
to do the queries you want.

Moreover, I am creative enough to come up with queries that would be very hard 
to implement, yet this does not mean that we should do it. Both "everything" 
and "everything we are creative enough for" are poor design principles.

So how to move forward? The usual approach to design a practical system is to 
collect use cases and requirements (example queries) and then make a clear 
decision what should be supported and what shouldn't. One can always revise 
this decision later, but it's still much better to make it explicit than to 
just go along and see what we get. In all of this, it must be understood that 
supporting "everything" is an impossible task. The question is merely where to 
draw the line(s).


TASK DETAIL
  https://phabricator.wikimedia.org/T86278

REPLY HANDLER ACTIONS
  Reply to comment or attach files, or !close, !claim, !unsubscribe or !assign 
<username>.

EMAIL PREFERENCES
  https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: Smalyshev, mkroetzsch
Cc: Aklapper, Smalyshev, Lydia_Pintscher, Multichill, Magnus, daniel, 
JeroenDeDauw, JanZerebecki, aude, mkroetzsch, Denny, Sjoerddebruin, 
Tobi_WMDE_SW, jkroll, Wikidata-bugs, GWicke, Manybubbles



_______________________________________________
Wikidata-bugs mailing list
Wikidata-bugs@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs

Reply via email to