public interface ConjunctiveQueryWithNegatedParts extends Query
This interface represents a conjunctive query with negated parts. Such a query is composed of a set of atoms which must be true and other sets of atoms whose for each set at least one atom must be false.
In the following, X is the set of free variables (answer variables), Y the
set of variables that appear in the positive part minus X and Zi where i ∈
[1..n] the set of variables that appear only in the ith negated part.
Note that each variable from X and Y must appear in the positive part but
only a subpart of them may appear in each Zi. $ ∀i,j ∈
[1..n] such that i ≠ j, Zi ∩ Zj = ∅.
A conjunctive query with negated parts Q is formally defined as
∃Y∀Z1..Zn(Q+[X,Y] ∧ not(Q1[X,Y,Z1]) ∧ ... ∧ not(Qn[X,Y,Zn])) where Q+, Q1, ...,
Qn are conjunctions of atoms over specified variable sets.
A mapping A from X to a set of terms is an answer to this query with respect to a set of facts iff A(Fq) is true, where Fq is the formula associated to Q.
Modifier and Type | Method and Description |
---|---|
List<Term> |
getAnswerVariables()
Get the answer variables
|
String |
getLabel()
The label (the name) for this query.
|
List<InMemoryAtomSet> |
getNegatedParts()
Get the set of facts which must be false (at least one).
|
InMemoryAtomSet |
getPositivePart()
Get the set of facts which must be true.
|
appendTo
String getLabel()
InMemoryAtomSet getPositivePart()
List<InMemoryAtomSet> getNegatedParts()
Copyright © 2014–2018 GraphIK (INRIA - LIRMM). All rights reserved.