/** * Reads RyaSubGraph from {@link Input} stream * @param input - stream that subgraph is read from * @return subgraph read from input stream */ public static RyaSubGraph read(Input input){ RyaSubGraph bundle = new RyaSubGraph(input.readString()); int numStatements = input.readInt(); for (int i=0; i < numStatements; i++){ bundle.addStatement(RyaStatementSerializer.read(input)); } return bundle; }
/** * Reads RyaSubGraph from {@link Input} stream * @param input - stream that subgraph is read from * @return subgraph read from input stream */ public static RyaSubGraph read(Input input){ RyaSubGraph bundle = new RyaSubGraph(input.readString()); int numStatements = input.readInt(); for (int i=0; i < numStatements; i++){ bundle.addStatement(RyaStatementSerializer.read(input)); } return bundle; }
/** * Uses Kryo to read RyaSubGraph from {@link Input} stream * @param kryo - used to read subgraph from input stream * @param input - stream that subgraph is read from * @param type - class of object to be read from input stream (RyaSubgraph) * @return subgraph read from input stream */ @Override public RyaSubGraph read(Kryo kryo, Input input, Class<RyaSubGraph> type) { RyaSubGraph bundle = new RyaSubGraph(input.readString()); int numStatements = input.readInt(); for (int i=0; i < numStatements; i++){ bundle.addStatement(RyaStatementSerializer.readFromKryo(kryo, input, RyaStatement.class)); } return bundle; }
/** * Uses Kryo to read RyaSubGraph from {@link Input} stream * @param kryo - used to read subgraph from input stream * @param input - stream that subgraph is read from * @param type - class of object to be read from input stream (RyaSubgraph) * @return subgraph read from input stream */ @Override public RyaSubGraph read(Kryo kryo, Input input, Class<RyaSubGraph> type) { RyaSubGraph bundle = new RyaSubGraph(input.readString()); int numStatements = input.readInt(); for (int i=0; i < numStatements; i++){ bundle.addStatement(RyaStatementSerializer.readFromKryo(kryo, input, RyaStatement.class)); } return bundle; }
@Test public void serializationTestWithLiteral() { RyaSubGraph bundle = new RyaSubGraph(UUID.randomUUID().toString()); bundle.addStatement(new RyaStatement(new RyaIRI("uri:123"), new RyaIRI("uri:234"), new RyaType(XMLSchema.INTEGER, "345"))); bundle.addStatement(new RyaStatement(new RyaIRI("uri:345"), new RyaIRI("uri:567"), new RyaType(XMLSchema.INTEGER, "789"))); byte[] bundleBytes = serializer.toBytes(bundle); RyaSubGraph deserializedBundle = serializer.fromBytes(bundleBytes); assertEquals(bundle, deserializedBundle); }
@Test public void serializationTestWithURI() { RyaSubGraph bundle = new RyaSubGraph(UUID.randomUUID().toString()); bundle.addStatement(new RyaStatement(new RyaIRI("uri:123"), new RyaIRI("uri:234"), new RyaIRI("uri:345"))); bundle.addStatement(new RyaStatement(new RyaIRI("uri:345"), new RyaIRI("uri:567"), new RyaIRI("uri:789"))); byte[] bundleBytes = serializer.toBytes(bundle); RyaSubGraph deserializedBundle = serializer.fromBytes(bundleBytes); assertEquals(bundle, deserializedBundle); }