On 01.10.2015 00:13, Daniel Kinzler wrote:
Am 30.09.2015 um 23:38 schrieb Peter F.
Patel-Schneider:
I would argue that inference-making bots should
be considered only as a
stop-gap measure, and that a different mechanism should be considered for
making inferences in Wikidata. I am not arguing for Inference done Just Right
(tm). It is not necessary to get inference perfect the first time around.
All that is required is an inference mechanism that is examinable and maybe
overridable.
To do that, you would have to bake the inference rules into software in the
backend software, out of community control, maintained by a small group of
people. It's contrary to the idea of letting the community define and maintain
the ontology and semantics.
We are actually experimenting with something in that direction -- checking
constraints defined on-wiki using rules written into software on the backend,
hard-coding rules that were defined by the community. It's conceivable that we
might end up doing something like that for inference, too, but it's a lot
harder, and the slippery slope away from the community model seems much steeper
to me.
When I started to think about, and work on, wikidata/wikibase, I believed doing
inference on the server would be a very useful. The longer I work on the
project, the more convinced I become that we have to be very careful with this.
Wikidata is a "social machine", cutting the community out of the loop is
detrimental in the long run, even if it would make some processes more efficient.
As you already said, it would be a bad idea to hardcode rules in the
backend, out of community control. But the solution to this is obvious
and already partially realised for constraints: the rules (ontology) can
be part of the user-edited data, and the software would only need a
mechanism for interpreting them. This is still *very* far away from what
I would consider the core tasks of Wikibase development now -- better
get a snappy UI first -- but it is conceivable in the long run. The path
towards this will be via third-party tools, which may also deploy bots
(but maybe one "reasoning" bot rather than an army of them for all kinds
of different inferences).
The first step is to design the rule/ontology language and to provide a
scalable implementation to compute the resulting inferences. We have
started discussion on the Wikiproject:Reasoning, and I am looking into
the technical aspects, but please give me a few more months to get a
proper infrastructure set up there. It would not start with bots that
import anything -- rather one would at first just produce inferences,
display them somewhere, and let the community get a feeling of what
could be worth importing there. It is also possible to add inferences to
a query service/data dump only, avoiding all editing-related questions.
I believe that the community cannot really start writing useful
inference rules without tool support that allows you to preview the
(global) consequences of such rules. I have some initial components for
this, but Wikidata integration is only at its beginning. The goal would
be to set up a public demonstrator this year, which proposes a format
for inference rules and a machine to efficiently compute all of their
conclusions.
Markus