use of fr.lirmm.graphik.graal.rulesetanalyser.graph.MarkedVariableSet.MarkedRule in project graal by graphik-team.
the class StickyProperty method check.
public boolean check(MarkedVariableSet markedVariableSet) {
int nbOccurence;
for (MarkedRule mrule : markedVariableSet.getMarkedRuleCollection()) {
for (Term mvar : mrule.markedVars) {
nbOccurence = 0;
CloseableIteratorWithoutException<Atom> it = mrule.rule.getBody().iterator();
while (it.hasNext()) {
Atom a = it.next();
for (Term t : a) {
if (mvar.equals(t)) {
++nbOccurence;
if (nbOccurence > 1) {
return false;
}
}
}
}
}
}
return true;
}
use of fr.lirmm.graphik.graal.rulesetanalyser.graph.MarkedVariableSet.MarkedRule in project graal by graphik-team.
the class WeaklyStickyProperty method check.
private boolean check(MarkedVariableSet markedVariableSet, GraphPositionDependencies gpd) {
int nbOccurence;
int position;
boolean thereIsAFiniteRank;
for (MarkedRule mrule : markedVariableSet.getMarkedRuleCollection()) {
for (Term mvar : mrule.markedVars) {
nbOccurence = 0;
thereIsAFiniteRank = false;
CloseableIteratorWithoutException<Atom> it = mrule.rule.getBody().iterator();
while (it.hasNext()) {
Atom a = it.next();
position = -1;
for (Term t : a) {
++position;
if (mvar.equals(t)) {
++nbOccurence;
if (gpd.isFiniteRank(a.getPredicate(), position)) {
thereIsAFiniteRank = true;
}
}
}
}
if (nbOccurence > 1 && !thereIsAFiniteRank) {
return false;
}
}
}
return true;
}
Aggregations