public SchemaContainer(JanusGraph graph) { vertexLabels = Maps.newHashMap(); relationTypes = Maps.newHashMap(); JanusGraphManagement management = graph.openManagement(); try { for (VertexLabel vl : management.getVertexLabels()) { VertexLabelDefinition vld = new VertexLabelDefinition(vl); vertexLabels.put(vld.getName(),vld); } for (EdgeLabel el : management.getRelationTypes(EdgeLabel.class)) { EdgeLabelDefinition eld = new EdgeLabelDefinition(el); relationTypes.put(eld.getName(),eld); } for (PropertyKey pk : management.getRelationTypes(PropertyKey.class)) { PropertyKeyDefinition pkd = new PropertyKeyDefinition(pk); relationTypes.put(pkd.getName(), pkd); } } finally { management.rollback(); } }
assertEquals(SchemaStatus.ENABLED, ((InternalRelationType) friend).getStatus()); assertEquals(5, Iterables.size(mgmt.getRelationTypes(PropertyKey.class))); assertEquals(6, Iterables.size(mgmt.getRelationTypes(EdgeLabel.class))); assertEquals(11, Iterables.size(mgmt.getRelationTypes(RelationType.class))); assertEquals(3, Iterables.size(mgmt.getVertexLabels())); assertEquals(SchemaStatus.ENABLED, ((InternalRelationType) friend).getStatus()); assertEquals(5, Iterables.size(mgmt.getRelationTypes(PropertyKey.class))); assertEquals(6, Iterables.size(mgmt.getRelationTypes(EdgeLabel.class))); assertEquals(11, Iterables.size(mgmt.getRelationTypes(RelationType.class))); assertEquals(3, Iterables.size(mgmt.getVertexLabels()));
public AtlasJanusGraph() { //determine multi-properties once at startup JanusGraphManagement mgmt = null; try { mgmt = AtlasJanusGraphDatabase.getGraphInstance().openManagement(); Iterable<PropertyKey> keys = mgmt.getRelationTypes(PropertyKey.class); for (PropertyKey key : keys) { if (key.cardinality() != Cardinality.SINGLE) { multiProperties.add(key.name()); } } } finally { if (mgmt != null) { mgmt.rollback(); } } }