@Override public String toString() { return "["+key.getName()+"]"; }
@Override public String toString() { return wrappedPropertyKey.getName(); }
@Override public String getName() { return wrappedPropertyKey.getName(); }
@Override public Q has(PropertyKey key, Object value) { return has(key.getName(), value); }
@Override public GraphCentricQueryBuilder has(PropertyKey key, TitanPredicate predicate, Object condition) { Preconditions.checkNotNull(key); Preconditions.checkNotNull(predicate); return has(key.getName(), predicate, condition); }
@Override public GraphCentricQueryBuilder has(PropertyKey key, TitanPredicate predicate, Object condition) { Preconditions.checkNotNull(key); Preconditions.checkNotNull(predicate); return has(key.getName(), predicate, condition); }
@Override public GraphCentricQueryBuilder has(PropertyKey key, TitanPredicate predicate, Object condition) { Preconditions.checkNotNull(key); Preconditions.checkNotNull(predicate); return has(key.getName(), predicate, condition); }
@Override public<A> A getProperty(PropertyKey key) { return getProperty(key.getName()); }
@Override public Q has(PropertyKey key, Predicate predicate, Object value) { return has(key.getName(), predicate, value); }
@Override public <T extends Comparable<?>> Q interval(PropertyKey key, T start, T end) { return interval(key.getName(), start, end); }
private Parameter getFieldMap(PropertyKey key) { return ParameterType.MAPPED_NAME.getParameter(key.getName()); }
@Override public <T extends Element> Set<String> getIndexedKeys(Class<T> elementClass) { Preconditions.checkArgument(elementClass == Vertex.class || elementClass == Edge.class, "Must provide either Vertex.class or Edge.class as an argument"); Set<String> indexedkeys = new HashSet<String>(); for (TitanVertex k : getVertices(BaseKey.SchemaCategory, TitanSchemaCategory.PROPERTYKEY)) { assert k instanceof InternalRelationType; if (!Iterables.isEmpty(((InternalRelationType) k).getKeyIndexes())) indexedkeys.add(((PropertyKey)k).getName()); } return indexedkeys; }
@Override public Set<String> getPropertyKeys() { Set<String> result = new HashSet<String>(); for (TitanProperty p : getProperties()) { result.add(p.getPropertyKey().getName()); } return result; }
@Override public GraphCentricQueryBuilder orderBy(PropertyKey key, Order order) { Preconditions.checkArgument(key!=null && order!=null,"Need to specify and key and an order"); Preconditions.checkArgument(Comparable.class.isAssignableFrom(key.getDataType()), "Can only order on keys with comparable data type. [%s] has datatype [%s]", key.getName(), key.getDataType()); Preconditions.checkArgument(key.getCardinality()== Cardinality.SINGLE, "Ordering is undefined on multi-valued key [%s]", key.getName()); Preconditions.checkArgument(!orders.containsKey(key)); orders.add(key, order); return this; }
@Override public GraphCentricQueryBuilder orderBy(PropertyKey key, Order order) { Preconditions.checkArgument(key!=null && order!=null,"Need to specify and key and an order"); Preconditions.checkArgument(Comparable.class.isAssignableFrom(key.getDataType()), "Can only order on keys with comparable data type. [%s] has datatype [%s]", key.getName(), key.getDataType()); Preconditions.checkArgument(key.getCardinality()== Cardinality.SINGLE, "Ordering is undefined on multi-valued key [%s]", key.getName()); Preconditions.checkArgument(!orders.containsKey(key)); orders.add(key, order); return this; }
@Override public GraphCentricQueryBuilder orderBy(PropertyKey key, Order order) { Preconditions.checkArgument(key!=null && order!=null, "Need to specify and key and an order"); Preconditions.checkArgument(Comparable.class.isAssignableFrom(key.getDataType()), "Can only order on keys with comparable data type. [%s] has datatype [%s]", key.getName(), key.getDataType()); Preconditions.checkArgument(key.getCardinality()== Cardinality.SINGLE, "Ordering is undefined on multi-valued key [%s]", key.getName()); Preconditions.checkArgument(!orders.containsKey(key)); orders.add(key, order); return this; }
@Override public Q orderBy(PropertyKey key, Order order) { Preconditions.checkArgument(key!=null && order!=null,"Need to specify and key and an order"); Preconditions.checkArgument(Comparable.class.isAssignableFrom(key.getDataType()), "Can only order on keys with comparable data type. [%s] has datatype [%s]", key.getName(), key.getDataType()); Preconditions.checkArgument(key.getCardinality()== Cardinality.SINGLE, "Ordering is undefined on multi-valued key [%s]", key.getName()); Preconditions.checkArgument(!(key instanceof SystemRelationType),"Cannot use system types in ordering: %s",key); Preconditions.checkArgument(!orders.containsKey(key)); Preconditions.checkArgument(orders.isEmpty(),"Only a single sort order is supported on vertex queries"); orders.add(key, order); return getThis(); }
public static final Iterable<Object> getValues(TitanElement element, PropertyKey key) { if (element instanceof TitanRelation) { Object value = element.getProperty(key); if (value==null) return Collections.EMPTY_LIST; else return ImmutableList.of(value); } else { assert element instanceof TitanVertex; return Iterables.transform((((TitanVertex) element).query()).keys(key.getName()).properties(), new Function<TitanProperty, Object>() { @Nullable @Override public Object apply(@Nullable TitanProperty titanProperty) { return titanProperty.getValue(); } }); } }
public PropertyKeyDefinition(PropertyKey key) { this(key.getName(),key.getLongId(),key.getCardinality(),key.getDataType()); }
public String getDefaultFieldName(final PropertyKey key, final Parameter[] parameters, final String indexName) { Preconditions.checkArgument(!ParameterType.MAPPED_NAME.hasParameter(parameters),"A field name mapping has been specified for key: %s",key); Preconditions.checkArgument(containsIndex(indexName),"Unknown backing index: %s",indexName); String fieldname = configuration.get(INDEX_NAME_MAPPING,indexName)?key.getName():keyID2Name(key); return mixedIndexes.get(indexName).mapKey2Field(fieldname, new StandardKeyInformation(key.getDataType(),parameters)); }