/** * @see GraphTraversal#value() */ public static <A extends Property, B> GraphTraversal<A, B> value() { return __.<A>start().value(); }
private static GraphTraversal<?, ?> matchProperty(final GraphTraversal<?, ?> traversal, final String propertyName, final PropertyType type, final Node object) { switch (propertyName) { case "id": return object.isConcrete() ? traversal.hasId(object.getLiteralValue()) : traversal.id().as(object.getName()); case "label": return object.isConcrete() ? traversal.hasLabel(object.getLiteralValue().toString()) : traversal.label().as(object.getName()); case "key": return object.isConcrete() ? traversal.hasKey(object.getLiteralValue().toString()) : traversal.key().as(object.getName()); case "value": return object.isConcrete() ? traversal.hasValue(object.getLiteralValue().toString()) : traversal.value().as(object.getName()); default: if (type.equals(PropertyType.PROPERTY)) { return traversal.properties(propertyName).as(object.getName()); } else { return object.isConcrete() ? traversal.values(propertyName).is(object.getLiteralValue()) : traversal.values(propertyName).as(object.getName()); } } } }
put(SubgraphStrategy.VERTEX_PROPERTIES, __.has("startTime", P.gt(2005))); }}))); checkResults(Arrays.asList("purcellville", "baltimore", "oakland", "seattle", "aachen"), sg.V().properties("location").value()); checkResults(Arrays.asList("purcellville", "baltimore", "oakland", "seattle", "aachen"), sg.V().values("location")); if (sg.getStrategies().getStrategy(InlineFilterStrategy.class).isPresent()) assertFalse(TraversalHelper.hasStepOfAssignableClassRecursively(TraversalFilterStep.class, sg.V().properties("location").value().iterate().asAdmin())); checkResults(Arrays.asList("purcellville", "baltimore", "oakland", "seattle", "aachen"), sg.V().as("a").properties("location").as("b").select("a").outE().properties().select("b").value().dedup()); checkResults(Arrays.asList("purcellville", "baltimore", "oakland", "seattle", "aachen"), sg.V().as("a").values("location").as("b").select("a").outE().properties().select("b").dedup()); if (sg.getStrategies().getStrategy(InlineFilterStrategy.class).isPresent()) checkResults(Arrays.asList("baltimore", "oakland", "seattle", "aachen"), sg.V().properties("location").value()); checkResults(Arrays.asList("baltimore", "oakland", "seattle", "aachen"), sg.V().values("location")); checkResults(Arrays.asList("baltimore", "oakland", "seattle"), sg.V().properties("location").value()); checkResults(Arrays.asList("baltimore", "oakland", "seattle"), sg.V().values("location")); }}))); checkResults(Arrays.asList("aachen", "purcellville", "santa fe", "seattle"), sg.V().valueMap("location").select(Column.values).unfold().unfold()); checkResults(Arrays.asList("aachen", "purcellville", "santa fe", "seattle"), sg.V().propertyMap("location").select(Column.values).unfold().unfold().value()); checkResults(Arrays.asList(5, 5, 5), sg.V().outE().propertyMap().select(Column.values).unfold().value());
@Override public Traversal<Vertex, Object> get_g_V_hasXageX_propertiesXname_ageX_value() { return g.V().has("age").properties("name", "age").value(); }
@Override public Traversal<Vertex, Object> get_g_V_hasXageX_propertiesXage_nameX_value() { return g.V().has("age").properties("age", "name").value(); }
@Override public Traversal<Vertex, Object> get_g_V_hasXageX_properties_hasXid_nameIdX_value(final Object nameId) { return g.V().has("age").properties().has(T.id, nameId).value(); }
@Override public Traversal<VertexProperty<String>, String> get_g_injectXg_VX1X_propertiesXnameX_nextX_value(final Object v1Id) { return g.<VertexProperty<String>>inject((VertexProperty) g.V(v1Id).properties("name").next()).value(); } }
@Override public Traversal<Vertex, Integer> get_g_V_both_properties_dedup_hasKeyXageX_value() { return g.V().both().properties().dedup().hasKey("age").value(); }
@Override public Traversal<Vertex, String> get_g_V_both_name_order_byXa_bX_dedup_value() { return g.V().both().<String>properties("name").order().by((a, b) -> a.value().compareTo(b.value())).dedup().value(); }
@Override public Traversal<Vertex, String> get_g_V_localXpropertiesXlocationX_order_byXvalueX_limitX2XX_value() { return g.V().local(properties("location").order().by(T.value, Order.asc).range(0, 2)).value(); }
@Override public Traversal<Vertex, Integer> get_g_V_both_properties_dedup_hasKeyXageX_hasValueXgtX30XX_value() { return g.V().both().properties().dedup().hasKey("age").hasValue(P.gt(30)).value(); }
@Override public GremlinSteps<GraphTraversal, P> value() { g.value(); return this; }
__.properties(step.getPropertyKeys()).has(partitionKey, P.within(new ArrayList<>(readPartitions))).filter(new PartitionKeyHider()).value(), __.__().filter(new PartitionKeyHider())); TraversalHelper.insertTraversal(step, choose.asAdmin(), traversal);
/** * @see GraphTraversal#value() */ public static <A extends Property, B> GraphTraversal<A, B> value() { return __.<A>start().value(); }
@Test @FeatureRequirementSet(FeatureRequirementSet.Package.VERTICES_ONLY) @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexFeatures.FEATURE_META_PROPERTIES) public void shouldHidePartitionKeyForPropertiesWithEmptyKeys() { final GraphTraversalSource gOverA = g.withStrategies(PartitionStrategy.build() .includeMetaProperties(true) .partitionKey(partition).writePartition("A").readPartitions("A").create()); final Vertex v = gOverA.addV().property("any", "thing").next(); assertEquals(1L, (long) gOverA.V(v).properties().count().next()); assertEquals("thing", gOverA.V(v).properties().value().next()); }
@Override public Traversal<VertexProperty<String>, String> get_g_injectXg_VX1X_propertiesXnameX_nextX_value(final Object v1Id) { return g.<VertexProperty<String>>inject((VertexProperty) g.V(v1Id).properties("name").next()).value(); } }
@Override public Traversal<Vertex, Integer> get_g_V_both_properties_dedup_hasKeyXageX_value() { return g.V().both().properties().dedup().hasKey("age").value(); }
@Override public Traversal<Vertex, String> get_g_V_localXpropertiesXlocationX_order_byXvalueX_limitX2XX_value() { return g.V().local(properties("location").order().by(T.value, Order.asc).range(0, 2)).value(); }
@Override public Traversal<Vertex, String> get_g_V_both_name_order_byXa_bX_dedup_value() { return g.V().both().<String>properties("name").order().by((a, b) -> a.value().compareTo(b.value())).dedup().value(); }
@Test @FeatureRequirementSet(FeatureRequirementSet.Package.VERTICES_ONLY) @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexFeatures.FEATURE_META_PROPERTIES) public void shouldHidePartitionKeyForPropertiesWithEmptyKeys() { final GraphTraversalSource gOverA = g.withStrategies(PartitionStrategy.build() .includeMetaProperties(true) .partitionKey(partition).writePartition("A").readPartitions("A").create()); final Vertex v = gOverA.addV().property("any", "thing").next(); assertEquals(1L, (long) gOverA.V(v).properties().count().next()); assertEquals("thing", gOverA.V(v).properties().value().next()); }