@Test public void testGetEdgeVertexPairs() { Vertex v1 = graph.addVertex("v1", VISIBILITY_A, AUTHORIZATIONS_A); Vertex v2 = graph.addVertex("v2", VISIBILITY_A, AUTHORIZATIONS_A); Vertex v3 = graph.addVertex("v3", VISIBILITY_A, AUTHORIZATIONS_A); Edge v1_to_v2_label1 = graph.addEdge("v1_to_v2_label1", v1, v2, LABEL_LABEL1, VISIBILITY_A, AUTHORIZATIONS_A); Edge v1_to_v2_label2 = graph.addEdge("v1_to_v2_label2", v1, v2, LABEL_LABEL2, VISIBILITY_A, AUTHORIZATIONS_A); Edge v1_to_v3_label2 = graph.addEdge("v1_to_v3_label2", v1, v3, LABEL_LABEL2, VISIBILITY_A, AUTHORIZATIONS_A); graph.flush(); v1 = graph.getVertex("v1", AUTHORIZATIONS_A); List<EdgeVertexPair> pairs = toList(v1.getEdgeVertexPairs(Direction.BOTH, AUTHORIZATIONS_A)); assertEquals(3, pairs.size()); assertTrue(pairs.contains(new EdgeVertexPair(v1_to_v2_label1, v2))); assertTrue(pairs.contains(new EdgeVertexPair(v1_to_v2_label2, v2))); assertTrue(pairs.contains(new EdgeVertexPair(v1_to_v3_label2, v3))); pairs = toList(v1.getEdgeVertexPairs(Direction.BOTH, LABEL_LABEL2, AUTHORIZATIONS_A)); assertEquals(2, pairs.size()); assertTrue(pairs.contains(new EdgeVertexPair(v1_to_v2_label2, v2))); assertTrue(pairs.contains(new EdgeVertexPair(v1_to_v3_label2, v3))); }
@Test public void testGetEdgeVertexPairs() { Vertex v1 = graph.addVertex("v1", VISIBILITY_A, AUTHORIZATIONS_A); Vertex v2 = graph.addVertex("v2", VISIBILITY_A, AUTHORIZATIONS_A); Vertex v3 = graph.addVertex("v3", VISIBILITY_A, AUTHORIZATIONS_A); Edge v1_to_v2_label1 = graph.addEdge("v1_to_v2_label1", v1, v2, LABEL_LABEL1, VISIBILITY_A, AUTHORIZATIONS_A); Edge v1_to_v2_label2 = graph.addEdge("v1_to_v2_label2", v1, v2, LABEL_LABEL2, VISIBILITY_A, AUTHORIZATIONS_A); Edge v1_to_v3_label2 = graph.addEdge("v1_to_v3_label2", v1, v3, LABEL_LABEL2, VISIBILITY_A, AUTHORIZATIONS_A); graph.flush(); v1 = graph.getVertex("v1", AUTHORIZATIONS_A); List<EdgeVertexPair> pairs = toList(v1.getEdgeVertexPairs(Direction.BOTH, AUTHORIZATIONS_A)); assertEquals(3, pairs.size()); assertTrue(pairs.contains(new EdgeVertexPair(v1_to_v2_label1, v2))); assertTrue(pairs.contains(new EdgeVertexPair(v1_to_v2_label2, v2))); assertTrue(pairs.contains(new EdgeVertexPair(v1_to_v3_label2, v3))); pairs = toList(v1.getEdgeVertexPairs(Direction.BOTH, LABEL_LABEL2, AUTHORIZATIONS_A)); assertEquals(2, pairs.size()); assertTrue(pairs.contains(new EdgeVertexPair(v1_to_v2_label2, v2))); assertTrue(pairs.contains(new EdgeVertexPair(v1_to_v3_label2, v3))); }
foundPaths.add(currentPath); } else if (hops > 0) { Iterable<Vertex> vertices = filterFindPathEdgePairs(options, sourceVertex.getEdgeVertexPairs(Direction.BOTH, options.getLabels(), authorizations)); int vertexCount = 0; if (firstLevelRecursion) {
foundPaths.add(currentPath); } else if (hops > 0) { Iterable<Vertex> vertices = filterFindPathEdgePairs(options, sourceVertex.getEdgeVertexPairs(Direction.BOTH, options.getLabels(), authorizations)); int vertexCount = 0; if (firstLevelRecursion) {
@Override public void updatePropertyDomainIris(OntologyProperty property, Set<String> domainIris, User user, String workspaceId) { VertexiumOntologyProperty vertexiumProperty = (VertexiumOntologyProperty) property; if (!isPublic(workspaceId) && property.getSandboxStatus() != SandboxStatus.PRIVATE) { throw new UnsupportedOperationException("Sandboxed updating of domain iris is not currently supported for published properties"); } Iterable<EdgeVertexPair> existingConcepts = vertexiumProperty.getVertex().getEdgeVertexPairs(Direction.BOTH, LabelName.HAS_PROPERTY.toString(), getAuthorizations(workspaceId)); for (EdgeVertexPair existingConcept : existingConcepts) { String conceptIri = OntologyProperties.ONTOLOGY_TITLE.getPropertyValue(existingConcept.getVertex()); if (!domainIris.remove(conceptIri)) { getGraph().softDeleteEdge(existingConcept.getEdge(), getAuthorizations(workspaceId)); } } for (String domainIri : domainIris) { Vertex domainVertex; Concept concept = getConceptByIRI(domainIri, workspaceId); if (concept != null) { domainVertex = ((VertexiumConcept) concept).getVertex(); } else { Relationship relationship = getRelationshipByIRI(domainIri, workspaceId); if (relationship != null) { domainVertex = ((VertexiumRelationship) relationship).getVertex(); } else { throw new VisalloException("Could not find domain with IRI " + domainIri); } } findOrAddEdge(domainVertex, ((VertexiumOntologyProperty) property).getVertex(), LabelName.HAS_PROPERTY.toString(), user, workspaceId); } }