@Override public QueryResultsIterable<String> edgeIds() { return edgeIds(IdFetchHint.NONE); }
@Override @Deprecated public QueryResultsIterable<Edge> edges(final String label) { hasEdgeLabel(label); return edges(); }
@Override public QueryResultsIterable<String> elementIds() { return elementIds(IdFetchHint.NONE); }
@Override public QueryResultsIterable<String> elementIds(EnumSet<IdFetchHint> idFetchHints) { FetchHints fetchHints = idFetchHintsToElementFetchHints(idFetchHints); return new DefaultGraphQueryIdIterable<>(elements(fetchHints)); }
@Override public QueryResultsIterable<String> edgeIds(EnumSet<IdFetchHint> idFetchHints) { FetchHints fetchHints = idFetchHintsToElementFetchHints(idFetchHints); return new DefaultGraphQueryIdIterable<>(edges(fetchHints)); }
@Override public QueryResultsIterable<? extends VertexiumObject> search(EnumSet<VertexiumObjectType> objectTypes, FetchHints fetchHints) { List<QueryResultsIterable<? extends VertexiumObject>> items = new ArrayList<>(); if (objectTypes.contains(VertexiumObjectType.VERTEX)) { items.add(vertices(fetchHints)); } if (objectTypes.contains(VertexiumObjectType.EDGE)) { items.add(edges(fetchHints)); } if (objectTypes.contains(VertexiumObjectType.EXTENDED_DATA)) { items.add(extendedData(fetchHints)); } if (items.size() == 1) { return items.get(0); } return new SelectManySearch(items); }
@Override public String toString() { return this.getClass().getName() + "{" + "parameters=" + getParameters() + '}'; } }
@Override public <T> Query range(String propertyName, T startValue, boolean inclusiveStartValue, T endValue, boolean inclusiveEndValue) { if (startValue != null) { this.parameters.addHasContainer(new HasValueContainer(propertyName, inclusiveStartValue ? Compare.GREATER_THAN_EQUAL : Compare.GREATER_THAN, startValue, getGraph().getPropertyDefinitions())); } if (endValue != null) { this.parameters.addHasContainer(new HasValueContainer(propertyName, inclusiveEndValue ? Compare.LESS_THAN_EQUAL : Compare.LESS_THAN, endValue, getGraph().getPropertyDefinitions())); } return this; }
@Override public QueryResultsIterable<ExtendedDataRow> extendedDataRows() { return extendedDataRows(getGraph().getDefaultFetchHints()); }
protected QueryResultsIterable<? extends VertexiumObject> extendedData(FetchHints fetchHints, Iterable<? extends Element> elements) { Iterable<ExtendedDataRow> allExtendedData = new SelectManyIterable<Element, ExtendedDataRow>(elements) { @Override protected Iterable<? extends ExtendedDataRow> getIterable(Element element) { return new SelectManyIterable<String, ExtendedDataRow>(element.getExtendedDataTableNames()) { @Override protected Iterable<? extends ExtendedDataRow> getIterable(String tableName) { return element.getExtendedData(tableName); } }; } }; return new DefaultGraphQueryIterableWithAggregations<>(getParameters(), allExtendedData, true, true, true, getAggregations()); }
@Override public QueryResultsIterable<ExtendedDataRowId> extendedDataRowIds() { return extendedDataRowIds(IdFetchHint.NONE); }
@Override public QueryResultsIterable<? extends VertexiumObject> search(EnumSet<VertexiumObjectType> objectTypes, FetchHints fetchHints) { List<QueryResultsIterable<? extends VertexiumObject>> items = new ArrayList<>(); if (objectTypes.contains(VertexiumObjectType.VERTEX)) { items.add(vertices(fetchHints)); } if (objectTypes.contains(VertexiumObjectType.EDGE)) { items.add(edges(fetchHints)); } if (objectTypes.contains(VertexiumObjectType.EXTENDED_DATA)) { items.add(extendedData(fetchHints)); } if (items.size() == 1) { return items.get(0); } return new SelectManySearch(items); }
@Override public String toString() { return this.getClass().getName() + "{" + "parameters=" + getParameters() + '}'; } }
@Override public <T> Query has(String propertyName, Predicate predicate, T value) { this.parameters.addHasContainer(new HasValueContainer(propertyName, predicate, value, getGraph().getPropertyDefinitions())); return this; }
@Override public QueryResultsIterable<String> elementIds(EnumSet<IdFetchHint> idFetchHints) { FetchHints fetchHints = idFetchHintsToElementFetchHints(idFetchHints); return new DefaultGraphQueryIdIterable<>(elements(fetchHints)); }
@Override public QueryResultsIterable<String> edgeIds(EnumSet<IdFetchHint> idFetchHints) { FetchHints fetchHints = idFetchHintsToElementFetchHints(idFetchHints); return new DefaultGraphQueryIdIterable<>(edges(fetchHints)); }