private PredicateCondition<PropertyKey, TitanElement> getEqualityCondition(Condition<TitanElement> condition) { if (condition instanceof PredicateCondition) { PredicateCondition<PropertyKey, TitanElement> pc = (PredicateCondition) condition; if (pc.getPredicate() == Cmp.EQUAL && TypeUtil.hasSimpleInternalVertexKeyIndex(pc.getKey())) return pc; } else if (condition instanceof And) { for (Condition<TitanElement> child : ((And<TitanElement>) condition).getChildren()) { PredicateCondition<PropertyKey, TitanElement> p = getEqualityCondition(child); if (p != null) return p; } } return null; }
/** * Query-normal-form (QNF) for Titan is a variant of CNF (conjunctive normal form) with negation inlined where possible * * @param condition * @return */ public static boolean isQueryNormalForm(Condition<?> condition) { if (isQNFLiteralOrNot(condition)) return true; else if (condition instanceof And) { for (Condition<?> child : ((And<?>) condition).getChildren()) { if (isQNFLiteralOrNot(child)) continue; else if (child instanceof Or) { for (Condition<?> child2 : ((Or<?>) child).getChildren()) { if (!isQNFLiteralOrNot(child2)) return false; } } else return false; } return true; } else return false; }
for (Condition<TitanRelation> condition : conditions.getChildren()) { RelationType type=null; Interval newInterval=null;
private PredicateCondition<PropertyKey, TitanElement> getEqualityCondition(Condition<TitanElement> condition) { if (condition instanceof PredicateCondition) { PredicateCondition<PropertyKey, TitanElement> pc = (PredicateCondition) condition; if (pc.getPredicate() == Cmp.EQUAL && TypeUtil.hasSimpleInternalVertexKeyIndex(pc.getKey())) return pc; } else if (condition instanceof And) { for (Condition<TitanElement> child : ((And<TitanElement>) condition).getChildren()) { PredicateCondition<PropertyKey, TitanElement> p = getEqualityCondition(child); if (p != null) return p; } } return null; }
private PredicateCondition<PropertyKey, TitanElement> getEqualityCondition(Condition<TitanElement> condition) { if (condition instanceof PredicateCondition) { PredicateCondition<PropertyKey, TitanElement> pc = (PredicateCondition) condition; if (pc.getPredicate() == Cmp.EQUAL && TypeUtil.hasSimpleInternalVertexKeyIndex(pc.getKey())) return pc; } else if (condition instanceof And) { for (Condition<TitanElement> child : ((And<TitanElement>) condition).getChildren()) { PredicateCondition<PropertyKey, TitanElement> p = getEqualityCondition(child); if (p != null) return p; } } return null; }
/** * Query-normal-form (QNF) for Titan is a variant of CNF (conjunctive normal form) with negation inlined where possible * * @param condition * @return */ public static boolean isQueryNormalForm(Condition<?> condition) { if (isQNFLiteralOrNot(condition)) return true; else if (condition instanceof And) { for (Condition<?> child : ((And<?>) condition).getChildren()) { if (isQNFLiteralOrNot(child)) continue; else if (child instanceof Or) { for (Condition<?> child2 : ((Or<?>) child).getChildren()) { if (!isQNFLiteralOrNot(child2)) return false; } } else return false; } return true; } else return false; }
/** * Query-normal-form (QNF) for Titan is a variant of CNF (conjunctive normal form) with negation inlined where possible * * @param condition * @return */ public static boolean isQueryNormalForm(Condition<?> condition) { if (isQNFLiteralOrNot(condition)) return true; else if (condition instanceof And) { for (Condition<?> child : ((And<?>) condition).getChildren()) { if (isQNFLiteralOrNot(child)) continue; else if (child instanceof Or) { for (Condition<?> child2 : ((Or<?>) child).getChildren()) { if (!isQNFLiteralOrNot(child2)) return false; } } else return false; } return true; } else return false; }
for (Condition<TitanRelation> condition : conditions.getChildren()) { RelationType type=null; Interval newInterval=null;
for (Condition<TitanRelation> condition : conditions.getChildren()) { RelationType type=null; Interval newInterval=null;