@Override public void removeEdge(Edge edge) { edge.remove(); }
@Override public void deleteRelation(Edge edge) { edge.remove(); }
@Override public void removeEdge(Edge edge) { edge.remove(); }
@Override public void removeEdge(Edge edge) { edge.remove(); }
public void removeEdge(final Edge edge) { edge.remove(); }
/** * Removes an edge from the Graph. * * @param edge Edge to remove */ public void removeEdge(final Edge edge) { makeActive(); edge.remove(); }
private void migrateContainer(Vertex nodeContainer) { Iterator<Edge> it = nodeContainer.getEdges(OUT, "HAS_LANGUAGE").iterator(); if (!it.hasNext()) { // We skip containers which have no language set. Those need to be cleaned using the consistency check. return; } Edge languageEdge = it.next(); String languageTag = languageEdge .getVertex(IN).getProperty("languageTag"); nodeContainer.setProperty("languageTag", languageTag); languageEdge.remove(); }
/** * Updates the containment identified by its {@code name} between the {@code parentVertex} and the {@code * childVertex}. * * @param localName the name of the property identifying the reference (parent -> child) * @param parentVertex the parent vertex * @param childVertex the child vertex */ private static void updateContainment(final String localName, final Vertex parentVertex, final Vertex childVertex) { for (Edge edge : childVertex.getEdges(Direction.OUT, CONTAINER)) { edge.remove(); } Edge edge = childVertex.addEdge(CONTAINER, parentVertex); edge.setProperty(CONTAINING_FEATURE, localName); }
private void migrateEdge(Edge edge, String newLabel, boolean reverseOrder) { Vertex in = edge.getVertex(IN); Vertex out = edge.getVertex(OUT); if (reverseOrder) { out.addEdge(newLabel, in); } else { in.addEdge(newLabel, out); } edge.remove(); }
@Override protected void unsetReference(PersistentEObject object, EReference reference) { Vertex vertex = backend.getVertex(object.id()); if (!reference.isMany()) { Edge edge = Iterables.getOnlyElement(vertex.getEdges(Direction.OUT, reference.getName()), null); if (nonNull(edge)) { edge.remove(); } } else { for (Edge edge : vertex.query().labels(reference.getName()).direction(Direction.OUT).edges()) { edge.remove(); } vertex.removeProperty(reference.getName() + SEPARATOR + SIZE_LITERAL); } }
/** * Creates a new container edge between {@code parentVertex} and {@code childVertex}, and deletes any * container edge previously linked to {@code childVertex}. * * @param reference the containment {@link EReference}. This parameter is used to set the containing feature * property in the create edge. * @param parentVertex the {@link Vertex} representing the container element * @param childVertex the {@link Vertex} representing the contained element * * @see DirectWriteBlueprintsStore#CONTAINER * @see DirectWriteBlueprintsStore#CONTAINING_FEATURE */ private void updateContainment(EReference reference, Vertex parentVertex, Vertex childVertex) { for (Edge edge : childVertex.getEdges(Direction.OUT, CONTAINER)) { edge.remove(); } Edge edge = childVertex.addEdge(CONTAINER, parentVertex); edge.setProperty(CONTAINING_FEATURE, reference.getName()); }
edgeToDelete.remove(); deletedIds.add(id); } else {
@Test public void testEdgesExceedCacheSize() { // Add a vertex with as many edges as the tx-cache-size. (20000 by default) int numEdges = graph.getConfiguration().getTxVertexCacheSize(); Vertex parentVertex = graph.addVertex(null); for (int i = 0; i < numEdges; i++) { Vertex childVertex = graph.addVertex(null); parentVertex.addEdge("friend", childVertex); } graph.commit(); assertEquals(numEdges, Iterables.size(parentVertex.getEdges(Direction.OUT))); // Remove an edge. Edge edge = parentVertex.getEdges(Direction.OUT).iterator().next(); edge.remove(); // Check that getEdges returns one fewer. assertEquals(numEdges - 1, Iterables.size(parentVertex.getEdges(Direction.OUT))); // Run the same check one more time. // This fails! (Expected: 19999. Actual: 20000.) assertEquals(numEdges - 1, Iterables.size(parentVertex.getEdges(Direction.OUT))); }
@Override protected void clearReference(PersistentEObject object, EReference reference) { Vertex vertex = backend.getOrCreateVertex(object); for (Edge edge : vertex.query().labels(reference.getName()).direction(Direction.OUT).edges()) { edge.remove(); } setSize(vertex, reference, 0); }
@Override public void remove() { globals.getCaches().remove(getId(), Vertex.class); super.removeElementFromNamedIndexes(); // Throw exception if the element does not exist. if (!globals.getVertexWrapper().elementExists(id)) { throw ExceptionFactory.vertexWithIdDoesNotExist(getId()); } // Remove properties from key/value indexes. Map<String, Object> props = globals.getVertexWrapper() .readAllProperties(this); for (Entry<String,Object> ent : props.entrySet()) { globals.getVertexKeyIndexWrapper().removePropertyFromIndex(this, ent.getKey(), ent.getValue()); } // Remove edges incident to this vertex. CloseableIterable<Edge> iter = (CloseableIterable<Edge>)getEdges(Direction.BOTH); for (Edge edge : iter) { edge.remove(); } iter.close(); globals.checkedFlush(); // Get rid of the vertex. globals.getVertexWrapper().deleteVertex(this); globals.checkedFlush(); }
@Override public void remove() { globals.getCaches().remove(getId(), Vertex.class); super.removeElementFromNamedIndexes(); // Throw exception if the element does not exist. if (!globals.getVertexWrapper().elementExists(id)) { throw ExceptionFactory.vertexWithIdDoesNotExist(getId()); } // Remove properties from key/value indexes. Map<String, Object> props = globals.getVertexWrapper() .readAllProperties(this); for (Entry<String,Object> ent : props.entrySet()) { globals.getVertexKeyIndexWrapper().removePropertyFromIndex(this, ent.getKey(), ent.getValue()); } // Remove edges incident to this vertex. CloseableIterable<Edge> iter = (CloseableIterable<Edge>)getEdges(Direction.BOTH); for (Edge edge : iter) { edge.remove(); } iter.close(); globals.checkedFlush(); // Get rid of the vertex. globals.getVertexWrapper().deleteVertex(this); globals.checkedFlush(); }
Vertex dbInVertex = modelEdge.getVertex(Direction.IN); if (!Objects.equals(modelOutVertex, dbOutVertex) || !Objects.equals(modelInVertex, dbInVertex)) { modelEdge.remove(); isNew = true;
assertEquals(125, e.getProperty("time")); p.remove(); e.remove(); tx.commit();