本文整理汇总了Java中org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge类的典型用法代码示例。如果您正苦于以下问题:Java DetachedEdge类的具体用法?Java DetachedEdge怎么用?Java DetachedEdge使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
DetachedEdge类属于org.apache.tinkerpop.gremlin.structure.util.detached包,在下文中一共展示了DetachedEdge类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: deserialize
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Override
public TinkerGraph deserialize(final JsonParser jsonParser, final DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
final Configuration conf = new BaseConfiguration();
conf.setProperty("gremlin.tinkergraph.defaultVertexPropertyCardinality", "list");
final TinkerGraph graph = TinkerGraph.open(conf);
while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
if (jsonParser.getCurrentName().equals("vertices")) {
while (jsonParser.nextToken() != JsonToken.END_ARRAY) {
if (jsonParser.currentToken() == JsonToken.START_OBJECT) {
final DetachedVertex v = (DetachedVertex) deserializationContext.readValue(jsonParser, Vertex.class);
v.attach(Attachable.Method.getOrCreate(graph));
}
}
} else if (jsonParser.getCurrentName().equals("edges")) {
while (jsonParser.nextToken() != JsonToken.END_ARRAY) {
if (jsonParser.currentToken() == JsonToken.START_OBJECT) {
final DetachedEdge e = (DetachedEdge) deserializationContext.readValue(jsonParser, Edge.class);
e.attach(Attachable.Method.getOrCreate(graph));
}
}
}
}
return graph;
}
示例2: shouldReturnDetachedElements
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Test
public void shouldReturnDetachedElements() {
final Graph graph = TinkerFactory.createModern();
final GraphTraversalSource g = graph.traversal().withComputer().withStrategies(HaltedTraverserStrategy.create(new MapConfiguration(new HashMap<String, Object>() {{
put(HaltedTraverserStrategy.HALTED_TRAVERSER_FACTORY, DetachedFactory.class.getCanonicalName());
}})));
g.V().out().forEachRemaining(vertex -> assertEquals(DetachedVertex.class, vertex.getClass()));
g.V().out().properties("name").forEachRemaining(vertexProperty -> assertEquals(DetachedVertexProperty.class, vertexProperty.getClass()));
g.V().out().values("name").forEachRemaining(value -> assertEquals(String.class, value.getClass()));
g.V().out().outE().forEachRemaining(edge -> assertEquals(DetachedEdge.class, edge.getClass()));
g.V().out().outE().properties("weight").forEachRemaining(property -> assertEquals(DetachedProperty.class, property.getClass()));
g.V().out().outE().values("weight").forEachRemaining(value -> assertEquals(Double.class, value.getClass()));
g.V().out().out().forEachRemaining(vertex -> assertEquals(DetachedVertex.class, vertex.getClass()));
g.V().out().out().path().forEachRemaining(path -> assertEquals(DetachedPath.class, path.getClass()));
g.V().out().pageRank().forEachRemaining(vertex -> assertEquals(DetachedVertex.class, vertex.getClass()));
g.V().out().pageRank().out().forEachRemaining(vertex -> assertEquals(DetachedVertex.class, vertex.getClass()));
// should handle nested collections
g.V().out().fold().next().forEach(vertex -> assertEquals(DetachedVertex.class, vertex.getClass()));
}
示例3: getRegistration
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Override
public Registration getRegistration(final Class clazz) {
// force all instances of Vertex, Edge, VertexProperty, etc. to their respective interface
final Class type;
if (!ReferenceVertex.class.isAssignableFrom(clazz) && !DetachedVertex.class.isAssignableFrom(clazz) && Vertex.class.isAssignableFrom(clazz))
type = Vertex.class;
else if (!ReferenceEdge.class.isAssignableFrom(clazz) && !DetachedEdge.class.isAssignableFrom(clazz) && Edge.class.isAssignableFrom(clazz))
type = Edge.class;
else if (!ReferenceVertexProperty.class.isAssignableFrom(clazz) && !DetachedVertexProperty.class.isAssignableFrom(clazz) && VertexProperty.class.isAssignableFrom(clazz))
type = VertexProperty.class;
else if (!ReferenceProperty.class.isAssignableFrom(clazz) && !DetachedProperty.class.isAssignableFrom(clazz) && !DetachedVertexProperty.class.isAssignableFrom(clazz) && Property.class.isAssignableFrom(clazz))
type = Property.class;
else if (!ReferencePath.class.isAssignableFrom(clazz) && !DetachedPath.class.isAssignableFrom(clazz) && Path.class.isAssignableFrom(clazz))
type = Path.class;
else
type = clazz;
if (type == memoizedClass) return memoizedClassValue;
final Registration registration = classToRegistration.get(type);
if (registration != null) {
memoizedClass = type;
memoizedClassValue = registration;
}
return registration;
}
示例4: shouldSerializeEdgeAsDetached
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Test
@LoadGraphWith(LoadGraphWith.GraphData.MODERN)
public void shouldSerializeEdgeAsDetached() throws Exception {
final GryoIo gryoIo = graph.io(GryoIo.build());
final GryoWriter gryoWriter = gryoIo.writer().create();
final GryoReader gryoReader = gryoIo.reader().create();
final Edge e = g.E(convertToEdgeId("marko", "knows", "vadas")).next();
final ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
gryoWriter.writeObject(outputStream, e);
final ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
final Edge detached = gryoReader.readObject(inputStream, DetachedEdge.class);
assertNotNull(detached);
assertEquals(e.label(), detached.label());
assertEquals(e.id(), detached.id());
assertEquals((Double) e.value("weight"), detached.value("weight"));
}
示例5: read
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Override
public <I extends InputShim> Edge read(final KryoShim<I, ?> kryo, final I input, final Class<Edge> edgeClass) {
final DetachedEdge.Builder builder = DetachedEdge.build();
builder.setId(kryo.readClassAndObject(input));
builder.setLabel(input.readString());
final DetachedVertex.Builder inV = DetachedVertex.build();
inV.setId(kryo.readClassAndObject(input));
inV.setLabel(input.readString());
builder.setInV(inV.create());
final DetachedVertex.Builder outV = DetachedVertex.build();
outV.setId(kryo.readClassAndObject(input));
outV.setLabel(input.readString());
builder.setOutV(outV.create());
while(input.readBoolean()) {
builder.addProperty(new DetachedProperty<>(input.readString(), kryo.readClassAndObject(input)));
}
return builder.create();
}
示例6: readEdge
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
/**
* Read an {@link Edge} from output generated by {@link GraphSONWriter#writeEdge(OutputStream, Edge)} or via
* an {@link Edge} passed to {@link GraphSONWriter#writeObject(OutputStream, Object)}.
*
* @param inputStream a stream containing at least one {@link Edge} as defined by the accompanying
* {@link GraphWriter#writeEdge(OutputStream, Edge)} method.
* @param edgeAttachMethod a function that creates re-attaches a {@link Edge} to a {@link Host} object.
*/
@Override
public Edge readEdge(final InputStream inputStream, final Function<Attachable<Edge>, Edge> edgeAttachMethod) throws IOException {
if (version == GraphSONVersion.V1_0) {
final Map<String, Object> edgeData = mapper.readValue(inputStream, mapTypeReference);
final Map<String, Object> edgeProperties = edgeData.containsKey(GraphSONTokens.PROPERTIES) ?
(Map<String, Object>) edgeData.get(GraphSONTokens.PROPERTIES) : Collections.EMPTY_MAP;
final DetachedEdge edge = new DetachedEdge(edgeData.get(GraphSONTokens.ID),
edgeData.get(GraphSONTokens.LABEL).toString(),
edgeProperties,
edgeData.get(GraphSONTokens.OUT), edgeData.get(GraphSONTokens.OUT_LABEL).toString(),
edgeData.get(GraphSONTokens.IN), edgeData.get(GraphSONTokens.IN_LABEL).toString());
return edgeAttachMethod.apply(edge);
} else {
return edgeAttachMethod.apply((DetachedEdge) mapper.readValue(inputStream, Edge.class));
}
}
示例7: shouldSerializeEdgeAsDetached
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Test
@LoadGraphWith(LoadGraphWith.GraphData.MODERN)
public void shouldSerializeEdgeAsDetached() throws Exception {
final GryoIo gryoIo = graph.io(GryoIo.build(GryoVersion.V1_0));
final GryoWriter gryoWriter = gryoIo.writer().create();
final GryoReader gryoReader = gryoIo.reader().create();
final Edge e = g.E(convertToEdgeId("marko", "knows", "vadas")).next();
final ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
gryoWriter.writeObject(outputStream, e);
final ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
final Edge detached = gryoReader.readObject(inputStream, DetachedEdge.class);
assertNotNull(detached);
assertEquals(e.label(), detached.label());
assertEquals(e.id(), detached.id());
assertEquals((Double) e.value("weight"), detached.value("weight"));
}
示例8: testIterateEdgesWithUuidIdSupportUsingDetachedEdge
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Test
public void testIterateEdgesWithUuidIdSupportUsingDetachedEdge() {
Edge edge1 = createEdge();
Edge edge2 = getActGraph().edges(DetachedFactory.detach(edge1, true)).next();
assertEquals(edge1.id(), edge2.id());
assertFalse(edge2 instanceof DetachedEdge);
}
示例9: setUp
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Before
public void setUp() {
super.setUp();
marko = mock(Vertex.class);
vadas = mock(Vertex.class);
when(marko.id()).thenReturn(1);
when(vadas.id()).thenReturn(2);
query = mock(Query.class);
edgeGraph = new EdgeGraph(graph, query, g);
when(traversal.next()).thenReturn(
new DetachedEdge(null, Label.of(Develops.class), null,
null, null, null, null));
}
示例10: testAsEdge
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Test
public void testAsEdge() {
assertEquals(develops, as(new DetachedEdge(
null, Label.of(Develops.class), new HashMap<String, Object>() {
{
put("since", develops.since());
}
}, null, null, null, null), Develops.class));
}
示例11: shouldSerializeEdge
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Test
public void shouldSerializeEdge() throws Exception {
final Graph g = TinkerGraph.open();
final Vertex v1 = g.addVertex();
final Vertex v2 = g.addVertex();
final Edge e = v1.addEdge("test", v2);
e.property("abc", 123);
final Iterable<Edge> iterable = IteratorUtils.list(g.edges());
final ResponseMessage response = convertBinary(iterable);
assertCommon(response);
final List<DetachedEdge> edgeList = (List<DetachedEdge>) response.getResult().getData();
assertEquals(1, edgeList.size());
final DetachedEdge deserializedEdge = edgeList.get(0);
assertEquals(e.id(), deserializedEdge.id());
assertEquals("test", deserializedEdge.label());
assertEquals(123, deserializedEdge.values("abc").next());
assertEquals(1, IteratorUtils.count(deserializedEdge.properties()));
assertEquals(v1.id(), deserializedEdge.outVertex().id());
assertEquals(Vertex.DEFAULT_LABEL, deserializedEdge.outVertex().label());
assertEquals(v2.id(), deserializedEdge.inVertex().id());
assertEquals(Vertex.DEFAULT_LABEL, deserializedEdge.inVertex().label());
}
示例12: readEdge
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
/**
* Read an {@link Edge} from output generated by {@link GraphSONWriter#writeEdge(OutputStream, Edge)} or via
* an {@link Edge} passed to {@link GraphSONWriter#writeObject(OutputStream, Object)}.
*
* @param inputStream a stream containing at least one {@link Edge} as defined by the accompanying
* {@link GraphWriter#writeEdge(OutputStream, Edge)} method.
* @param edgeAttachMethod a function that creates re-attaches a {@link Edge} to a {@link Host} object.
*/
@Override
public Edge readEdge(final InputStream inputStream, final Function<Attachable<Edge>, Edge> edgeAttachMethod) throws IOException {
final Map<String, Object> edgeData = mapper.readValue(inputStream, mapTypeReference);
final Map<String,Object> edgeProperties = edgeData.containsKey(GraphSONTokens.PROPERTIES) ?
(Map<String, Object>) edgeData.get(GraphSONTokens.PROPERTIES) : Collections.EMPTY_MAP;
final DetachedEdge edge = new DetachedEdge(edgeData.get(GraphSONTokens.ID),
edgeData.get(GraphSONTokens.LABEL).toString(),
edgeProperties,
Pair.with(edgeData.get(GraphSONTokens.OUT), edgeData.get(GraphSONTokens.OUT_LABEL).toString()),
Pair.with(edgeData.get(GraphSONTokens.IN), edgeData.get(GraphSONTokens.IN_LABEL).toString()));
return edgeAttachMethod.apply(edge);
}
示例13: shouldReturnDetachedElements
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Test
public void shouldReturnDetachedElements() {
final Graph graph = TinkerFactory.createModern();
final GraphTraversalSource g = graph.traversal().withComputer().withStrategies(HaltedTraverserStrategy.detached());
g.V().out().forEachRemaining(vertex -> assertEquals(DetachedVertex.class, vertex.getClass()));
g.V().out().properties("name").forEachRemaining(vertexProperty -> assertEquals(DetachedVertexProperty.class, vertexProperty.getClass()));
g.V().out().values("name").forEachRemaining(value -> assertEquals(String.class, value.getClass()));
g.V().out().outE().forEachRemaining(edge -> assertEquals(DetachedEdge.class, edge.getClass()));
g.V().out().outE().properties("weight").forEachRemaining(property -> assertEquals(DetachedProperty.class, property.getClass()));
g.V().out().outE().values("weight").forEachRemaining(value -> assertEquals(Double.class, value.getClass()));
g.V().out().out().forEachRemaining(vertex -> assertEquals(DetachedVertex.class, vertex.getClass()));
g.V().out().out().path().forEachRemaining(path -> assertEquals(DetachedPath.class, path.getClass()));
g.V().out().pageRank().forEachRemaining(vertex -> assertEquals(DetachedVertex.class, vertex.getClass()));
g.V().out().pageRank().out().forEachRemaining(vertex -> assertEquals(DetachedVertex.class, vertex.getClass()));
}
示例14: createObject
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public Edge createObject(final Map<String, Object> edgeData) {
return new DetachedEdge(
newORecordId(edgeData.get(GraphSONTokens.ID)),
edgeData.get(GraphSONTokens.LABEL).toString(),
(Map) edgeData.get(GraphSONTokens.PROPERTIES),
Pair.with(newORecordId(edgeData.get(GraphSONTokens.OUT)), edgeData.get(GraphSONTokens.OUT_LABEL).toString()),
Pair.with(newORecordId(edgeData.get(GraphSONTokens.IN)), edgeData.get(GraphSONTokens.IN_LABEL).toString()));
}
示例15: coerceType
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Override
public Class coerceType(final Class clazz) {
// force all instances of Vertex, Edge, VertexProperty, etc. to their respective interface
final Class type;
if (!ReferenceVertex.class.isAssignableFrom(clazz) && !DetachedVertex.class.isAssignableFrom(clazz) && Vertex.class.isAssignableFrom(clazz))
type = Vertex.class;
else if (!ReferenceEdge.class.isAssignableFrom(clazz) && !DetachedEdge.class.isAssignableFrom(clazz) && Edge.class.isAssignableFrom(clazz))
type = Edge.class;
else if (!ReferenceVertexProperty.class.isAssignableFrom(clazz) && !DetachedVertexProperty.class.isAssignableFrom(clazz) && VertexProperty.class.isAssignableFrom(clazz))
type = VertexProperty.class;
else if (!ReferenceProperty.class.isAssignableFrom(clazz) && !DetachedProperty.class.isAssignableFrom(clazz) && !DetachedVertexProperty.class.isAssignableFrom(clazz) && !ReferenceVertexProperty.class.isAssignableFrom(clazz) && Property.class.isAssignableFrom(clazz))
type = Property.class;
else if (!ReferencePath.class.isAssignableFrom(clazz) && !DetachedPath.class.isAssignableFrom(clazz) && Path.class.isAssignableFrom(clazz))
type = Path.class;
else if (Lambda.class.isAssignableFrom(clazz))
type = Lambda.class;
else if (ByteBuffer.class.isAssignableFrom(clazz))
type = ByteBuffer.class;
else if (Class.class.isAssignableFrom(clazz))
type = Class.class;
else if (InetAddress.class.isAssignableFrom(clazz))
type = InetAddress.class;
else if (ConnectiveP.class.isAssignableFrom(clazz))
type = P.class;
else
type = clazz;
return type;
}