Given a conjunctive query Q and a database D, a direct access to
the answers of Q over D is the operation of returning, given an
index j, the jth answer for some order on its answers. While
this problem is #P-hard in general with respect to combined
complexity, many conjunctive queries have an underlying structure that allows
for a direct access to their answers for some lexicographical ordering that
takes polylogarithmic time in the size of the database after a polynomial time
precomputation. Previous work has precisely characterised the tractable classes
and given fine-grained lower bounds on the precomputation time needed depending
on the structure of the query.
In this paper, we generalise these tractability results to the case of signed
conjunctive queries, that is, conjunctive queries that may contain negative
atoms. Our technique is based on a class of circuits that can represent
relational data. We first show that this class supports tractable direct access
after a polynomial time preprocessing. We then give bounds on the size of the
circuit needed to represent the answer set of signed conjunctive queries
depending on their structure. Both results combined together allow us to prove
the tractability of direct access for a large class of conjunctive queries. On
the one hand, we recover the known tractable classes from the literature in the
case of positive conjunctive queries. On the other hand, we generalise and
unify known tractability results about negative conjunctive queries -- that is,
queries having only negated atoms. In particular, we show that the class of
β-acyclic negative conjunctive queries and the class of bounded nest set
width negative conjunctive queries admit tractable direct access