use of com.baidu.hugegraph.structure.traverser.FusiformSimilarity in project incubator-hugegraph-toolchain by apache.
the class FusiformSimilarityApiTest method testFusiformSimilarityLimit.
@Test
public void testFusiformSimilarityLimit() {
Object p1 = getVertexId("person", "name", "p1");
Object p2 = getVertexId("person", "name", "p2");
Object p3 = getVertexId("person", "name", "p3");
FusiformSimilarityRequest.Builder builder = FusiformSimilarityRequest.builder();
builder.sources().ids(p1, p2, p3);
builder.label("read").direction(Direction.OUT).minNeighbors(5).alpha(0.8D).top(2);
builder.capacity(-1).limit(-1);
FusiformSimilarityRequest request = builder.build();
FusiformSimilarity results = fusiformSimilarityAPI.post(request);
Assert.assertEquals(3, results.size());
builder = FusiformSimilarityRequest.builder();
builder.sources().ids(p1, p2, p3);
builder.label("read").direction(Direction.OUT).minNeighbors(5).alpha(0.8D).top(2);
builder.capacity(-1).limit(2);
request = builder.build();
results = fusiformSimilarityAPI.post(request);
Assert.assertEquals(2, results.size());
builder = FusiformSimilarityRequest.builder();
builder.sources().ids(p1, p2, p3);
builder.label("read").direction(Direction.OUT).minNeighbors(5).alpha(0.8D).top(2);
builder.capacity(-1).limit(1);
request = builder.build();
results = fusiformSimilarityAPI.post(request);
Assert.assertEquals(1, results.size());
}
use of com.baidu.hugegraph.structure.traverser.FusiformSimilarity in project incubator-hugegraph-toolchain by apache.
the class FusiformSimilarityApiTest method testFusiformSimilarityLessThanMinEdgeCount.
@Test
public void testFusiformSimilarityLessThanMinEdgeCount() {
FusiformSimilarityRequest.Builder builder = FusiformSimilarityRequest.builder();
builder.sources().label("person").property("name", "p1");
builder.label("read").direction(Direction.OUT).minNeighbors(10).alpha(0.8D).groupProperty("city").minGroups(2);
builder.capacity(-1).limit(-1);
FusiformSimilarityRequest request = builder.build();
FusiformSimilarity results = fusiformSimilarityAPI.post(request);
Assert.assertEquals(0, results.size());
builder = FusiformSimilarityRequest.builder();
builder.sources().label("person").property("name", "p1");
builder.label("read").direction(Direction.OUT).minNeighbors(9).alpha(0.8D).groupProperty("city").minGroups(2);
builder.capacity(-1).limit(-1);
request = builder.build();
results = fusiformSimilarityAPI.post(request);
Assert.assertEquals(1, results.size());
builder = FusiformSimilarityRequest.builder();
builder.sources().label("person").property("name", "p2");
builder.label("read").direction(Direction.OUT).minNeighbors(10).alpha(0.8D).groupProperty("city").minGroups(2);
builder.capacity(-1).limit(-1);
request = builder.build();
results = fusiformSimilarityAPI.post(request);
Assert.assertEquals(0, results.size());
builder = FusiformSimilarityRequest.builder();
builder.sources().label("person").property("name", "p2");
builder.label("read").direction(Direction.OUT).minNeighbors(9).alpha(0.8D).groupProperty("city").minGroups(2);
builder.capacity(-1).limit(-1);
request = builder.build();
results = fusiformSimilarityAPI.post(request);
Assert.assertEquals(1, results.size());
builder = FusiformSimilarityRequest.builder();
builder.sources().label("person").property("name", "p3");
builder.label("read").direction(Direction.OUT).minNeighbors(8).alpha(0.8D).groupProperty("city").minGroups(2);
builder.capacity(-1).limit(-1);
request = builder.build();
results = fusiformSimilarityAPI.post(request);
Assert.assertEquals(0, results.size());
builder = FusiformSimilarityRequest.builder();
builder.sources().label("person").property("name", "p2");
builder.label("read").direction(Direction.OUT).minNeighbors(7).alpha(0.8D).groupProperty("city").minGroups(2);
builder.capacity(-1).limit(-1);
request = builder.build();
results = fusiformSimilarityAPI.post(request);
Assert.assertEquals(1, results.size());
}
Aggregations