private static Map<String, String> determineEdgeTypes(final Graph graph) { final Map<String, String> edgeKeyTypes = new HashMap<>(); final Iterator<Edge> edges = graph.edges(); while (edges.hasNext()) { final Edge edge = edges.next(); for (String key : edge.keys()) { if (!edgeKeyTypes.containsKey(key)) edgeKeyTypes.put(key, GraphMLWriter.getStringType(edge.property(key).value())); } } return edgeKeyTypes; }
@Test @FeatureRequirementSet(FeatureRequirementSet.Package.SIMPLE) public void shouldGetPropertyKeysOnEdge() { final Vertex v = graph.addVertex(); final Edge e = v.addEdge("friend", v, "name", "marko", "location", "desert", "status", "dope"); Set<String> keys = e.keys(); assertEquals(3, keys.size()); assertTrue(keys.contains("name")); assertTrue(keys.contains("location")); assertTrue(keys.contains("status")); final List<Property<Object>> m = IteratorUtils.list(e.properties()); assertEquals(3, m.size()); assertTrue(m.stream().anyMatch(p -> p.key().equals("name"))); assertTrue(m.stream().anyMatch(p -> p.key().equals("location"))); assertTrue(m.stream().anyMatch(p -> p.key().equals("status"))); assertEquals("marko", m.stream().filter(p -> p.key().equals("name")).map(Property::value).findAny().orElse(null)); assertEquals("desert", m.stream().filter(p -> p.key().equals("location")).map(Property::value).findAny().orElse(null)); assertEquals("dope", m.stream().filter(p -> p.key().equals("status")).map(Property::value).findAny().orElse(null)); e.property("status").remove(); keys = e.keys(); assertEquals(2, keys.size()); assertTrue(keys.contains("name")); assertTrue(keys.contains("location")); e.properties().forEachRemaining(Property::remove); keys = e.keys(); assertEquals(0, keys.size()); }
public static void validateEdgeEquality(final Edge originalEdge, final Edge otherEdge) { assertEquals(originalEdge, otherEdge); assertEquals(otherEdge, originalEdge); assertEquals(originalEdge.id(), otherEdge.id()); assertEquals(originalEdge.label(), otherEdge.label()); assertEquals(originalEdge.inVertex(), otherEdge.inVertex()); assertEquals(originalEdge.outVertex(), otherEdge.outVertex()); assertEquals(originalEdge.keys().size(), otherEdge.keys().size()); for (final String key : originalEdge.keys()) { validatePropertyEquality(originalEdge.property(key), otherEdge.property(key)); } }
assertEquals("rw", e.properties("acl").next().value()); } else { assertEquals(e.keys().size(), IteratorUtils.count(detachedEdge.properties()));
assertEquals(v2.label(), detachedEdge.inVertex().label()); assertEquals(e.label(), detachedEdge.label()); assertEquals(e.keys().size(), IteratorUtils.count(detachedEdge.properties())); assertEquals(id, detachedEdge.value("uuid"));
public static void assertNoEdgeGraph(final Graph g1, final boolean assertDouble, final boolean lossyForId) { assertEquals(2, IteratorUtils.count(g1.vertices())); assertEquals(1, IteratorUtils.count(g1.edges())); final Vertex v1 = g1.traversal().V().has("name", "marko").next(); assertEquals(29, v1.<Integer>value("age").intValue()); assertEquals(2, v1.keys().size()); assertEquals(Vertex.DEFAULT_LABEL, v1.label()); assertId(g1, lossyForId, v1, 1); final List<Edge> v1Edges = IteratorUtils.list(v1.edges(Direction.BOTH)); assertEquals(1, v1Edges.size()); v1Edges.forEach(e -> { if (e.inVertex().value("name").equals("vadas")) { assertEquals(Edge.DEFAULT_LABEL, e.label()); if (assertDouble) assertWeightLoosely(0.5d, e); else assertWeightLoosely(0.5f, e); assertEquals(1, e.keys().size()); assertId(g1, lossyForId, e, 7); } else { fail("Edge not expected"); } }); }
if (e.inVertex().value("name").equals("gremlin") && e.label().equals("develops")) { assertEquals(2009, (int) e.value("since")); assertEquals(1, e.keys().size()); assertId(g1, lossyForId, e, 13); } else if (e.inVertex().value("name").equals("tinkergraph") && e.label().equals("develops")) { assertEquals(2010, (int) e.value("since")); assertEquals(1, e.keys().size()); assertId(g1, lossyForId, e, 14); } else if (e.inVertex().value("name").equals("gremlin") && e.label().equals("uses")) { assertEquals(4, (int) e.value("skill")); assertEquals(1, e.keys().size()); assertId(g1, lossyForId, e, 15); } else if (e.inVertex().value("name").equals("tinkergraph") && e.label().equals("uses")) { assertEquals(5, (int) e.value("skill")); assertEquals(1, e.keys().size()); assertId(g1, lossyForId, e, 16); } else { if (e.inVertex().value("name").equals("gremlin") && e.label().equals("develops")) { assertEquals(2010, (int) e.value("since")); assertEquals(1, e.keys().size()); assertId(g1, lossyForId, e, 17); } else if (e.inVertex().value("name").equals("tinkergraph") && e.label().equals("develops")) { assertEquals(2011, (int) e.value("since")); assertEquals(1, e.keys().size()); assertId(g1, lossyForId, e, 18); } else if (e.inVertex().value("name").equals("gremlin") && e.label().equals("uses")) { assertEquals(5, (int) e.value("skill")); assertEquals(1, e.keys().size());
else assertWeightLoosely(0.5f, e); assertEquals(1, e.keys().size()); assertId(g1, lossyForId, e, 7); } else if (e.inVertex().value("name").equals("josh")) { else assertWeightLoosely(1.0f, e); assertEquals(1, e.keys().size()); assertId(g1, lossyForId, e, 8); } else if (e.inVertex().value("name").equals("lop")) { else assertWeightLoosely(0.4f, e); assertEquals(1, e.keys().size()); assertId(g1, lossyForId, e, 9); } else { else assertWeightLoosely(0.5f, e); assertEquals(1, e.keys().size()); assertId(g1, lossyForId, e, 7); } else { else assertWeightLoosely(0.2f, e); assertEquals(1, e.keys().size()); assertId(g1, lossyForId, e, 12); } else if (e.outVertex().value("name").equals("josh")) {
private static Map<String, String> determineEdgeTypes(final Graph graph) { final Map<String, String> edgeKeyTypes = new HashMap<>(); final Iterator<Edge> edges = graph.edges(); while (edges.hasNext()) { final Edge edge = edges.next(); for (String key : edge.keys()) { if (!edgeKeyTypes.containsKey(key)) edgeKeyTypes.put(key, GraphMLWriter.getStringType(edge.property(key).value())); } } return edgeKeyTypes; }
@Test @FeatureRequirementSet(FeatureRequirementSet.Package.SIMPLE) public void shouldGetPropertyKeysOnEdge() { final Vertex v = graph.addVertex(); final Edge e = v.addEdge("friend", v, "name", "marko", "location", "desert", "status", "dope"); Set<String> keys = e.keys(); assertEquals(3, keys.size()); assertTrue(keys.contains("name")); assertTrue(keys.contains("location")); assertTrue(keys.contains("status")); final List<Property<Object>> m = IteratorUtils.list(e.properties()); assertEquals(3, m.size()); assertTrue(m.stream().anyMatch(p -> p.key().equals("name"))); assertTrue(m.stream().anyMatch(p -> p.key().equals("location"))); assertTrue(m.stream().anyMatch(p -> p.key().equals("status"))); assertEquals("marko", m.stream().filter(p -> p.key().equals("name")).map(Property::value).findAny().orElse(null)); assertEquals("desert", m.stream().filter(p -> p.key().equals("location")).map(Property::value).findAny().orElse(null)); assertEquals("dope", m.stream().filter(p -> p.key().equals("status")).map(Property::value).findAny().orElse(null)); e.property("status").remove(); keys = e.keys(); assertEquals(2, keys.size()); assertTrue(keys.contains("name")); assertTrue(keys.contains("location")); e.properties().forEachRemaining(Property::remove); keys = e.keys(); assertEquals(0, keys.size()); }
public static void validateEdgeEquality(final Edge originalEdge, final Edge otherEdge) { assertEquals(originalEdge, otherEdge); assertEquals(otherEdge, originalEdge); assertEquals(originalEdge.id(), otherEdge.id()); assertEquals(originalEdge.label(), otherEdge.label()); assertEquals(originalEdge.inVertex(), otherEdge.inVertex()); assertEquals(originalEdge.outVertex(), otherEdge.outVertex()); assertEquals(originalEdge.keys().size(), otherEdge.keys().size()); for (final String key : originalEdge.keys()) { validatePropertyEquality(originalEdge.property(key), otherEdge.property(key)); } }
assertEquals("rw", e.properties("acl").next().value()); } else { assertEquals(e.keys().size(), IteratorUtils.count(detachedEdge.properties()));
assertEquals(v2.label(), detachedEdge.inVertex().label()); assertEquals(e.label(), detachedEdge.label()); assertEquals(e.keys().size(), IteratorUtils.count(detachedEdge.properties())); assertEquals(id, detachedEdge.value("uuid"));
public static void assertNoEdgeGraph(final Graph g1, final boolean assertDouble, final boolean lossyForId) { assertEquals(2, IteratorUtils.count(g1.vertices())); assertEquals(1, IteratorUtils.count(g1.edges())); final Vertex v1 = g1.traversal().V().has("name", "marko").next(); assertEquals(29, v1.<Integer>value("age").intValue()); assertEquals(2, v1.keys().size()); assertEquals(Vertex.DEFAULT_LABEL, v1.label()); assertId(g1, lossyForId, v1, 1); final List<Edge> v1Edges = IteratorUtils.list(v1.edges(Direction.BOTH)); assertEquals(1, v1Edges.size()); v1Edges.forEach(e -> { if (e.inVertex().value("name").equals("vadas")) { assertEquals(Edge.DEFAULT_LABEL, e.label()); if (assertDouble) assertWeightLoosely(0.5d, e); else assertWeightLoosely(0.5f, e); assertEquals(1, e.keys().size()); assertId(g1, lossyForId, e, 7); } else { fail("Edge not expected"); } }); }
if (e.inVertex().value("name").equals("gremlin") && e.label().equals("develops")) { assertEquals(2009, (int) e.value("since")); assertEquals(1, e.keys().size()); assertId(g1, lossyForId, e, 13); } else if (e.inVertex().value("name").equals("tinkergraph") && e.label().equals("develops")) { assertEquals(2010, (int) e.value("since")); assertEquals(1, e.keys().size()); assertId(g1, lossyForId, e, 14); } else if (e.inVertex().value("name").equals("gremlin") && e.label().equals("uses")) { assertEquals(4, (int) e.value("skill")); assertEquals(1, e.keys().size()); assertId(g1, lossyForId, e, 15); } else if (e.inVertex().value("name").equals("tinkergraph") && e.label().equals("uses")) { assertEquals(5, (int) e.value("skill")); assertEquals(1, e.keys().size()); assertId(g1, lossyForId, e, 16); } else { if (e.inVertex().value("name").equals("gremlin") && e.label().equals("develops")) { assertEquals(2010, (int) e.value("since")); assertEquals(1, e.keys().size()); assertId(g1, lossyForId, e, 17); } else if (e.inVertex().value("name").equals("tinkergraph") && e.label().equals("develops")) { assertEquals(2011, (int) e.value("since")); assertEquals(1, e.keys().size()); assertId(g1, lossyForId, e, 18); } else if (e.inVertex().value("name").equals("gremlin") && e.label().equals("uses")) { assertEquals(5, (int) e.value("skill")); assertEquals(1, e.keys().size());
else assertWeightLoosely(0.5f, e); assertEquals(1, e.keys().size()); assertId(g1, lossyForId, e, 7); } else if (e.inVertex().value("name").equals("josh")) { else assertWeightLoosely(1.0f, e); assertEquals(1, e.keys().size()); assertId(g1, lossyForId, e, 8); } else if (e.inVertex().value("name").equals("lop")) { else assertWeightLoosely(0.4f, e); assertEquals(1, e.keys().size()); assertId(g1, lossyForId, e, 9); } else { else assertWeightLoosely(0.5f, e); assertEquals(1, e.keys().size()); assertId(g1, lossyForId, e, 7); } else { else assertWeightLoosely(0.2f, e); assertEquals(1, e.keys().size()); assertId(g1, lossyForId, e, 12); } else if (e.outVertex().value("name").equals("josh")) {
Set<String> propertyKeys = Sets.newHashSet(); propertyKeys.addAll(edge.keys()); propertyKeys.addAll(storeEdge.keys()); for (String propertyKey : propertyKeys) { PropertyStatus propertyStatus = edge.getPropertyStatus(propertyKey);