  Question answering over RDF data like knowledge graphs has been greatly
advanced, with a number of good systems providing crisp answers for natural
language questions or telegraphic queries. Some of these systems incorporate
textual sources as additional evidence for the answering process, but cannot
compute answers that are present in text alone. Conversely, the IR and NLP
communities have addressed QA over text, but such systems barely utilize
semantic data and knowledge. This paper presents a method for complex questions
that can seamlessly operate over a mixture of RDF datasets and text corpora, or
individual sources, in a unified framework. Our method, called UNIQORN, builds
a context graph on-the-fly, by retrieving question-relevant evidences from the
RDF data and/or a text corpus, using fine-tuned BERT models. The resulting
graph typically contains all question-relevant evidences but also a lot of
noise. UNIQORN copes with this input by a graph algorithm for Group Steiner
Trees, that identifies the best answer candidates in the context graph.
Experimental results on several benchmarks of complex questions with multiple
entities and relations, show that UNIQORN significantly outperforms
state-of-the-art methods for heterogeneous QA -- in a full training mode, as
well as in zero-shot settings. The graph-based methodology provides
user-interpretable evidence for the complete answering process.
